object oriented analysis and design
play

Object oriented Analysis and Design Dr. Onno van Roosmalen L A T - PowerPoint PPT Presentation

Object oriented Analysis and Design Dr. Onno van Roosmalen L A T EX version: Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 9, 2016 Object ori- Contents ented Analy- sis and Design ROO,HOM Modular


  1. Object oriented Analysis and Design Dr. Onno van Roosmalen L A T EX version: Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 9, 2016

  2. Object ori- Contents ented Analy- sis and Design ROO,HOM Modular Introduction Introduction understandability classes, modules, classes, modules, components Modular continuity components Design guide lines Modular protection What guidelines Design guide lines Modularity goals Modularity and Quality Decomposability What guidelines enabling factors Composability Modular understandability Modularity goals Other guide lines Modular continuity Modular protection Decomposability Analysis vs Design Modularity and Composability OO or functional Quality enabling factors Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 2/28

  3. Object ori- Introduction ented Analy- sis and Design It is about ROO,HOM Objects, components and modules Introduction classes, modules, Design guide lines components Design guide lines System analysis versus software design What guidelines Modularity goals Decomposability Composability Modular understandability Modular continuity Modular protection Modularity and Quality enabling factors Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 3/28

  4. Object ori- What is a Module? ented Analy- sis and Design ROO,HOM A module is a software fragment Characteristics: Introduction classes, modules, Interface announcement components Design guide lines Unit of development What guidelines Separate compilation Modularity goals Unit of reuse Decomposability Composability Examples: Modular understandability Modular continuity C: separate .c files with interface declared in the .h file Modular protection Turbo Pascal: unit Modularity and Quality Modula-2: module enabling factors Java or C#: class file Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 4/28

  5. Object ori- Class = Module? ented Analy- sis and Design ROO,HOM Classes are the units of development in OO software. Classes in separate files Introduction Classes are separately compiled classes, modules, components Classes can be separately deployed Design guide lines What guidelines In early OO days they were also considered the elements Modularity goals of modular design. Decomposability Composability OO design focussed on discovering and describing Modular understandability classes Modular continuity Modular protection as a consequence focus was on class diagrams Modularity and Quality This remains valid to a large extend enabling factors Other guide lines Analysis vs Design However. . . Classes Are Not Enough! OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 5/28

  6. Object ori- Not only Class = Module! ented Analy- sis and Design ROO,HOM Classes Introduction are modules and are localities of change Package classes, modules, Package NOT the elements of actual reuse components Design guide lines too small granularity What guidelines are grouped in packages to keep overview Modularity goals Component are deployed in components as units of Decomposability Composability replacement Modular understandability Modular continuity Object collaborations Modular protection Modularity and interactions between objects are more important than Quality objects individually enabling factors Other guide lines collaborations are reused as a whole, difficult to deploy Analysis vs Design individually OO or functional found in libraries (for a particular application aspect, e.g. UI) ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 6/28

  7. Object ori- What is a Component ented Analy- sis and Design ROO,HOM A Component is Subject to composition by third parties Introduction classes, modules, Can be deployed independently components “closed” (immutable) Design guide lines With contractually specified interfaces What guidelines Modularity goals “supplied interfaces” Decomposability Explicitly specified context dependencies Composability Modular understandability “required interfaces” Modular continuity Modular protection Modularity and Quality Supplied Component enabling factors Other guide lines Analysis vs Design Required OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 7/28

  8. Object ori- Component based development and OO ented Analy- sis and Design ROO,HOM Interfaces of components need to be established Introduction OO is a good approach for that classes, modules, components UML offers all notations to combine OO and CB Design guide lines development What guidelines Modularity goals UML is neither OO nor CB; it is both Decomposability Composability Modular understandability Modular continuity Modular protection Modularity and Quality enabling factors Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 8/28

  9. Object ori- Design guide lines ented Analy- sis and Design ROO,HOM Objects, components and modules Introduction Design guide lines classes, modules, components Example cases Design guide lines System analysis versus software design What guidelines Modularity goals Decomposability Composability Modular understandability Modular continuity Modular protection Modularity and Quality enabling factors Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 9/28

  10. Object ori- Modularity and Quality ented Analy- sis and Design Language has ROO,HOM Enabling Factors Help to achieve Introduction Modularity Goals classes, modules, components Design guide lines What guidelines Designer applies Modularity goals Guide Lines Help to achieve Decomposability Composability Quality Modular understandability Modular continuity Non-functional requirements Modular protection Modularity and Quality enabling factors Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 10/28

  11. Object ori- Modularity Goals ented Analy- sis and Design Required properties resulting from a “modular” design ROO,HOM method: Introduction Decomposability classes, modules, components Design guide lines Composability What guidelines Understandability Modularity goals Decomposability Continuity Composability Modular understandability Protection Modular continuity Modular protection Modularity and Quality enabling factors Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 11/28

  12. Object ori- Modularity Goals: Decomposability ented Analy- sis and Design ROO,HOM Modular decomposability Introduction Break a problem into less complex sub-problems classes, modules, Independent enough to solve separately components Design guide lines Counter-example: include in each software system a What guidelines global initialization module. (“temporal cohesion”) Modularity goals Decomposability Composability Modular understandability Modular continuity Modular protection Modularity and Quality enabling factors Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 12/28

  13. Object ori- Modularity Goals: Composability ented Analy- sis and Design ROO,HOM Modular composability: Individual production of software elements Introduction Which may be freely combined classes, modules, components Example 1: subprogram libraries. Design guide lines Example 2: Unix Shell conventions. Basic Unix What guidelines command operate on an input viewed as a sequential Modularity goals Decomposability character stream. Composability Counter-example: preprocessors Modular understandability Modular continuity Modular protection Modularity and Quality enabling factors Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 13/28

  14. Object ori- Modularity Goals: Modular understandability ented Analy- sis and Design ROO,HOM Modular understandability: Human reader can understand each module Introduction Without having to know the others classes, modules, components Counter-example: sequential dependencies. ( modules Design guide lines which have to be activated in a certain prescribed What guidelines order: A � B � C ) Modularity goals Decomposability Composability Modular understandability Modular continuity Modular protection Modularity and Quality enabling factors Other guide lines Analysis vs Design OO or functional ROO,HOM/FHTenL Object oriented Analysis and Design September 9, 2016 14/28

Recommend


More recommend