1 / 23

Ivan Marsic Rutgers University

peri
Download Presentation

Ivan Marsic Rutgers University

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


    2. 2 Topics Assigning Responsibilities to Objects Design Principles Expert Doer High Cohesion Low Coupling Business Policies Class Diagram

    3. 3 System Sequence Diagrams

    4. 4 Design: Object Interactions

    5. 5 Metaphor for Software Design: “Connecting the Dots”

    6. 6 Types of Object Responsibilities Knowing responsibility: Memorizing data or references, such as data values, data collections, or references to other objects, represented as a property Doing responsibility: Performing computations, such as data processing, control of physical devices, etc., represented as a method Communicating responsibility: Communicating with other objects, represented as message sending (method invocation)

    7. 7 Design: Assigning Responsibilities

    8. 8 Characteristics of Good Designs Short communication chains between the objects Balanced workload across the objects Low degree of connectivity (associations) among the objects

    9. 9 Design Principles Expert Doer Principle: that who knows should do the task High Cohesion Principle: do not take on too many computation responsibilities Low Coupling Principle: do not take on too many communication responsibilities

    10. 10 Design: Assigning Responsibilities

    11. 11 Cohesion

    12. 12 Responsibility-Driven Design Identify the responsibilities domain modeling provides a starting point some will be missed at first and identified in subsequent iterations For each responsibility, identify the alternative assignments if the choice appears to be unique then move to the next responsibility Consider the merits and tradeoffs of each alternative by applying the design principles select what you consider the “optimal” choice Document the process by which you arrived to each responsibility assignment

    13. 13 UC-4: View Access Log

    14. 14 Example …

    15. 15 Unlocking Sequence Diagram

    16. 16 Unlock Use Case We built an undue complexity into the Controller while striving to preserve high degree of specialization for all other objects. [[ Note: GUI aspects are treated separately. ]]We built an undue complexity into the Controller while striving to preserve high degree of specialization for all other objects. [[ Note: GUI aspects are treated separately. ]]

    17. 17 Unlock Seq. Diag. Variation 1

    18. 18 Unlock Seq. Diag. Variations 2&3

    19. 19 Summary of Design Variations

    20. 20 Business Policies

    21. 21 Class Diagram

    22. 22 Traceability Matrix (3)

    23. 23 Types of Object Communication

More Related