Object Oriented Design OOD
OOD characteristics - I conceptual compatibility with OOA notational consistency with OOA clean traceability of OOA results direct inclusion of OOA results => avoids the classical, conceptual “gap” between Analysis and Design
OOD regards the OOA model as a problem-oriented “Miniworld” that needs to be supported and organized by a computer-based system.
OOD characteristics - II OOD extends and refines OOA results OOD bridges the gap to the available infrastructure OOD is very much about reuse of –objects, –patterns, –and whole architectures
Object-Oriented Design Influence Factors & Relations OOD OOA Model Architectures OOD Model Patterns Infrastructure OOA Process
The Levels of the OOD Process - High-Level Design extend the OOA Model [Coad/Yourdon] –include “domain components” in the model acknowledge that we develop a computer-based system include human interface, data management, communications and control aspects (task mgmt) –decide on a general system architecture how to organize the above aspects into a well specified structure (and behavior) reuse existing patterns and solutions
The Levels of the OOD Process - Detailed Design refine and map the OOA Model to the infrastructure –detailed algorithms and datastructures –implementation of OO structures –implementation of states and transitions –optimization –maximize reuse –exception handling –etc.
The OOD “Co-Design” Process Matrix of Domain Components and Levels TMCHICPDCDMC high-level Design detailed Design Miniworld extend refine & map
Object Oriented Design means to navigate the domain/level matrix with the purpose to complete all associated tasks in a meaningful sequence.
OOD and SW-Architectures A clear general architectural concept and a good matching infrastructure will simplify. Detailed design is a means to work around mismatches between infrastructure and (architectural) high-level design. => specify widely applicable, generic architectures => develop compatible, stable infrastructures
OOD Deliverables - I extended Static Objectmodel –Coad & Yourdon: Problem Domain Component (PDC) Human Interaction Component (HIC) Task Management Component (TMC) Data Management Component (DMC) on the level of high-level (and detailed) design
OOD Deliverables - II completed & extended Scenarios –extend old scenarios across domains reflect the chosen architecture’s dynamics build links between domain components –add new scenarios to accommodate internal organization e.g. data backup, rollback, load/save on the level of high-level design as diagram on the level of detailed design in the dictionary diagram as necessary
Scenarios TMCHICPDCDMC high-level Design detailed Design extend refine & map
OOD Deliverables - III Object Dictionary –document & specify the added domain components very much like during analysis: objects, structures,... for high-level design –map and refine existing specifications translate structures, STDs,... map to existing patterns and objects document optimizations for detailed design
As in OOA it holds for OOD: Static Model and Scenarios are documented as graphical Views of the more complete Object Dictionary.
The OOAD Documentation TMCHICPDCDMC high-level Design detailed Design Miniworld Dictionary Scenarios Static Model Dictionary Scenarios Static Model