methods models madness
play

Methods, Models, Madness Long history of object-oriented methods and - PowerPoint PPT Presentation

Methods, Models, Madness Long history of object-oriented methods and models defacto standard modeling exists today: UML Unified Modeling Language (from Rational via others) three amigos: Booch, Rumbaugh, Jacobsen emerging


  1. Methods, Models, Madness ● Long history of object-oriented methods and models ➤ defacto standard modeling exists today: UML ➤ Unified Modeling Language (from Rational via others) ➤ “three amigos”: Booch, Rumbaugh, Jacobsen ➤ emerging standard via OMG: object modeling group ➤ notational tool, as distinct from method/process ➤ Methods: Booch, Objectory, Fusion, [DOOM!] ● Learning OO ➤ programming, design, analysis (OOP, OOD, OOA) ➤ from UML Distilled “now that the methods war is over, I think that patterns will be where most of the interesting material about analysis and design will appear.” http://www.enteract.com/~bradapp/links/oo-links.html 21. 1 Duke CPS 108

  2. Basics of modeling ● Modeling: coherent approach to designing a system ● Different techniques make up a system ➤ class diagrams: static notation ➤ CRC cards: classes, responsibilities, collaboration ➤ interaction, sequence diagrams ➤ state transistion diagrams ➤ use cases ● Syntax and semantics of models ➤ syntax is notational, can be formal or informal ➤ semantics depends on rigor, can be formally defind ➤ formal should mean “based on logic/mathematics” 21. 2 Duke CPS 108

  3. CRC card (see SCOOTER assignment) Robot 3x5 index card ● move Rocket ➤ developed after brainstorming load Factory about classes unload Box ➤ can be moved around, tacked Rocket to walls (portable and useful) Process bot Robot ➤ facilitates group Box interaction/discussion ➤ both in analysis and design Class ● Factory ➤ name, sub and super Make box Robot process bot Responsibility ● Box ➤ scenarios, walkthroughs Collaboration ● ➤ other classes: Responsibilities 21. 3 Duke CPS 108

  4. A simple process (based on Booch) Time frames for one-year project: ● Conceptualization, core requirements. ➤ conceptualization: 1 month ➤ analysis: 1-2 months Analysis: Model ➤ design: 1 month, 2 max desired behavior ➤ evolution: 9 months Conceptualization: ● Design: Create ➤ vision, priorities, prototypes an architecture Analysis ● ➤ what, not how; all requirements Evolution/ Design ● Implementation ➤ logical/physical architecture ➤ plan releases Maintentance: Evolution ● post delivery ➤ sequence of releases, iterative 21. 4 Duke CPS 108

  5. Micro (compare previous Macro) process [Booch] Used during design phase in ● Identify classes specifying architecture and objects classes and objects, can include ● identify CRC cards for example specify interfaces semantics implementations semantics include use-cases, ● class invariants, documentation identify class and object relationships relationships include “is-a”, ● “has-a”, “uses-a”, class diagrams updated types, signatures, algorithms for ● interfaces, implementations 21. 5 Duke CPS 108

  6. Programming and Development ● In the real world you have to deal with people ➤ people are not programmers/ programmers are not people ➤ programs are developed for users ➤ abstract factories are great, when I click this button I want something to happen ● Development ➤ lessons from Scoobi, what’s important in developing a team-constructed software product ➤ what can we do with Scooter, Harpoon? ➤ what has been good, what has been bad ➤ future for OO programming, Java, C++, ..., CPS 108 21. 6 Duke CPS 108

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend