1 / 29

Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams

Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams. Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU. Ouline. UML Development – Overview The Requirements, Analysis, and Design Models Static and Dynamic Design

sharrington
Download Presentation

Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams

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. Software DesignThe Dynamic ModelDesign Sequence Diagrams and Communication Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU

  2. Ouline • UML Development – Overview • The Requirements, Analysis, and Design Models • Static and Dynamic Design • Examples

  3. SCENARIOS ACTORS USE CASES UML Development - Overview REQUIREMENTS ELICITATION Time D A SEQUENCE DIAGRAMS T A ANALYSIS CLASS DIAGRAM(S) StateChart DIAGRAMs ANALYSIS Specify Domain Objects D I OPERATION CONTRACTS C T Architectural Design Include Design Objects DESIGN SEQUENCE DIAG. OR COLLABORATION DIAG I SUBSYSTEM CLASS/ OR COMPONENT DIAGRAMS DEPLOYMENT DIAGRAM O N DESIGN DIAGRAMS A R Detailed DESIGN Y Object Design IMPLEMENTATION CHOICES IMPLEMENTATION Activity DIAGRAMS IMPLEMENTATION PROGRAM

  4. The Requirements, Analysis, and Design Models Use Case Diagrams/ Sequence Diagrams (the system level) Requirements Elicitation Process Functional/ Nonfunctional Requirements - Analysis Class Diagrams - State Diagrams/ Refined Sequence Diagrams (The object level) Static Analysis Dynamic Analysis The Analysis Process • Design Class Diagrams and • Components Diagrams • Design Sequence Diagrams • Comm. or Collab. Diagrams The Design Process Static Architectural Design Dynamic Design

  5. Static and Dynamic Design • The Static design class diagram model is developed iteratively using the dynamic model represented in design sequence diagrams or collaboration (also called communication) diagrams • Design sequence diagrams show detailed interactions between objects of classes in different subsystems • They are defined based on analysis (system) sequence diagrams developed for a given Use- Case scenario defined in the analysis (or the requirements) model

  6. Static and Dynamic Design • The development of Design Class Diagrams is completed by defining operations and classes to support the interactions represented in the dynamic model. • Operations of classes in the design class diagram are defined using the dynamic interactions in the dynamic model sequence diagrams • New classes might be needed in the design class diagram to support the interactions of objects in the sequence diagrams (e.g., Interface classes, proxy classes, scheduler classes etc.)

  7. registration registration form manager RegistrationManager 3: add course(joe, math 01) addCourse(Student,Course) Class Operations • The behavior of a class is represented by its operations • Operations may be found by examining interaction diagrams

  8. Design Sequence Diagrams (UML2)Specify operations and states on the timelinesDetailed Parameters list can be specified during detailed design

  9. Digital Sound Recorder:A Complete Example

  10. Digital Sound Recorder:A Complete Example, Use Case Diag.

  11. The Sound RecorderAnalysis Level Class Diagram

  12. Digital Sound Recorder:A Complete Example: Architecture The Static model, Design Class Diagram: Designing The Subsystems,

  13. Digital Sound Recorder:A Complete Example: Design Class Diag: Class Operations Are defined Using Design Sequence diagrams

  14. Digital Sound Recorder:A Complete Example

  15. Digital Sound Recorder:A Complete Example:The Dynamic modelDSD shows the interactions between objects in different subsysts Design Sequence Diagram

  16. Digital Sound Recorder:A Complete Example

  17. Digital Sound Recorder:A Complete Example • A Scheduler subsystem is added to provide interrupt Handling for timer interrupts to alert observers for synchronous tasks • Uses the observer design pattern (to be discussed later)

  18. Digital Sound Recorder:A Complete Example: The Dynamic model • Interactions are shown using a UML collaboration diagram. Timer interrupt update scenario Notice an EventProxy Class is added For posting Events. Uses the Proxy Desgin pattern

  19. Digital Sound Recorder:A Complete Example: The Dynamic model • Setting the alarm clock scenario: the controller object of type SettingTimeUserMode is setting the AlarmClock object which is shown by the ClockView object

  20. Model-View-Controller Architecture Style • The Controller manipulates the data Model • The View retrieves data from the model and • displays needed information

  21. Model-View-Controller Architecture StyleDynamic Interactions

  22. Digital Sound Recorder:A Complete Example: The Dynamic model

  23. The Banking System Example: Consolidated Collaboration (Communication) Diagramscombines static and dynamic information (Context Subsystem diag.) Labeled interactions between subsystems Obtained by combining Multiple scenarios of Interactions

  24. Labels Interactions between objects in a subsystem

  25. Example: ConsolidatedCollaboration Diagram of the Elevator Control System

  26. Peer-to-Peer Architecture Style

  27. Peer-to-Peer Architecture StyleThe Gnutella Example • Pure Peer-to-Peer • Architecture • A sends query for a data • resource to neighbors B and H, • they pass it on until the peer having • the resource is found or until • a certain threshold of hops • is reached

  28. Peer-to-Peer Architecture StyleThe Skype Example • A mixed client-Server and Pee-to-Peer • Skype Peers get promoted to a supernode • status based on their network connectivity • And machine performance • Supernodes perform the • Communication and routing • of massages to establish a call • When a user logs in to the server • he is connected to a supernode • If a peer becomes a supernode • he unknowingly bears the cost of routing • a potentially large number of calls.

More Related