1 / 11

OOAD Overview

OOAD Overview. OO language Necessary for OO systems? Sufficient for OO systems? Owning a hummer doesn’t make you a home builder OOAD is necessary in building QUAILITY OO systems Architectural cohesion Reusability Maintenance. OOAD Overview. Key importance Assignment of Responsibilities

maegan
Download Presentation

OOAD Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OOAD Overview • OO language • Necessary for OO systems? • Sufficient for OO systems? Owning a hummer doesn’t make you a home builder • OOAD is necessary in building QUAILITY OO systems • Architectural cohesion • Reusability • Maintenance

  2. OOAD Overview • Key importance • Assignment of Responsibilities • Performed during Design workflow • Responsibility-driven design • Follows GRASP principles • Successful designs become Patterns • Key elements and properties • Use Cases • Text description of vital transactions and scenarios • Not OO but usually used in OOAD • Agile Process • Light, flexible, iterative form of the UP process • Iterative – performed in a number of successive builds

  3. OOAD Overview • OOAD elements

  4. OOAD Overview • Analysis -> Design -> Implementation -> Deployment • Analysis is investigation of the problem, requirements, constraints, technology • Emphasis on finding problem entities (conceptual classes), relationships, constraints • Design is a conceptual solution, including architecture, algorithms, etc. • Emphasis on designing classes and objects with behavior to allow collaborations to solve particular requests while using patterns • Implementation is expression of the design in code • Emphasis on utilizing the language of choice to implement design classes while exploring visibility, navigability, etc. • Deployment is the actual installation in the host environment

  5. OOAD Overview • Airplane example of object and class discovery

  6. OOAD Example • Rudimentary process • UseCases -> DomainModel -> Interactions -> DesignModel • Dice game example • 2 players rolling 2 dice • Use Case • Verbal description of transactions or processes • Player throws two dice. The result is observed. If the total is 7 the player wins otherwise he loses.

  7. OOAD Example • Domain Model • Static view of classes and relations

  8. OOAD Example • Interactions • Assignment of responsibilities among objects • Sequence or Communication diagrams

  9. OOAD Example • Design Diagrams • Software classes with methods according to responsibilities and attributes according to visibility

  10. UML • UML • Visual Modeling Language

  11. UML • Three perspectives (and class meanings in diagrams) • Conceptual – described the real world entities • Specification – describes design entities but not tied to specific implementations • Implementation – describes particular implementations of the specification elements

More Related