200 likes | 370 Views
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
E N D
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 DesignInfluence Factors & Relations OOA Model Architectures Patterns OOD Process Infrastructure OOD Model OOA
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”ProcessMatrix of Domain Components and Levels extend HIC TMC PDC DMC high-level Design Miniworld refine & map detailed Design
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 architecturalconcept 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 extend HIC TMC PDC DMC high-level Design refine & map detailed Design
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.
Scenarios Dictionary Static Model The OOAD Documentation HIC TMC PDC DMC high-level Design Miniworld Scenarios detailed Design Dictionary Static Model