software design the dynamic model design sequence diagrams and communication diagrams
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/1.jpg)
Software DesignThe Dynamic Model
Design Sequence Diagrams and Communication DiagramsInstructor: Dr. Hany H. AmmarDept. of Computer Science and Electrical Engineering, WVU
![Page 2: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/2.jpg)
Ouline
UML Development – Overview The Requirements, Analysis, and Design
Models Static and Dynamic Design Examples
![Page 3: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/3.jpg)
UML Development - Overview
PROGRAM
ACTORS
ANALYSISSpecify Domain Objects
Detailed DESIGN
IMPLEMENTATION
DATA
DICTIONARY
TimeUSE CASES
ANALYSISCLASS DIAGRAM(S)
IMPLEMENTATIONActivity DIAGRAMS
SEQUENCEDIAGRAMS
OPERATION CONTRACTS
StateChart DIAGRAMs
DEPLOYMENT DIAGRAMSUBSYSTEM CLASS/OR COMPONENT
DIAGRAMS
Architectural DesignIncludeDesign Objects
ObjectDesign
SCENARIOS
REQUIREMENTSELICITATION
DESIGN DIAGRAMS
IMPLEMENTATIONCHOICES
DESIGN SEQUENCE DIAG.OR COLLABORATION DIAG
![Page 4: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/4.jpg)
The Requirements, Analysis, and Design Models
Static Analysis Dynamic Analysis
Functional/ NonfunctionalRequirements
Use Case Diagrams/Sequence Diagrams(the system level)
- Analysis Class Diagrams- State Diagrams/Refined Sequence Diagrams (The object level)
Requirements ElicitationProcess
The AnalysisProcess
Static ArchitecturalDesign
Dynamic Design
The DesignProcess
• Design Class Diagrams andComponents Diagrams• Design Sequence Diagrams• Comm. or Collab. Diagrams
![Page 5: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/5.jpg)
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
![Page 6: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/6.jpg)
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.)
![Page 7: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/7.jpg)
Class Operations
The behavior of a class is represented by its operations Operations may be found by examining interaction
diagramsregistration
formregistration
manager
3: add course(joe, math 01)
RegistrationManager
addCourse(Student,Course)
![Page 8: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/8.jpg)
Design Sequence Diagrams (UML2)Specify operations and states on the timelines Detailed Parameters list can be specified during detailed design
![Page 9: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/9.jpg)
Digital Sound Recorder:A Complete Example
![Page 10: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/10.jpg)
Digital Sound Recorder:A Complete Example, Use Case Diag.
![Page 11: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/11.jpg)
The Sound RecorderAnalysis Level Class Diagram
![Page 12: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/12.jpg)
Digital Sound Recorder:A Complete Example: Architecture
The Static model,DesignClass Diagram:DesigningThe Subsystems,
![Page 13: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/13.jpg)
Digital Sound Recorder:A Complete Example:
Design Class Diag:Class OperationsAre defined UsingDesign Sequence diagrams
![Page 14: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/14.jpg)
Digital Sound Recorder:A Complete Example
![Page 15: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/15.jpg)
Digital Sound Recorder:A Complete Example: The Dynamic model DSD shows the interactions between objects in different subsysts
Design Sequence Diagram
![Page 16: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/16.jpg)
Digital Sound Recorder:A Complete Example
![Page 17: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/17.jpg)
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)
![Page 18: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/18.jpg)
Digital Sound Recorder:A Complete Example: The Dynamic model Interactions are shown using a UML collaboration
diagram. Timer interrupt update scenario
Notice anEventProxyClass is addedFor posting Events.Uses the ProxyDesgin pattern
![Page 19: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/19.jpg)
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
![Page 20: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/20.jpg)
Model-View-Controller Architecture Style
• The Controller manipulates the data Model• The View retrieves data from the model and
displays needed information
![Page 21: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/21.jpg)
Model-View-Controller Architecture StyleDynamic Interactions
![Page 22: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/22.jpg)
Digital Sound Recorder:A Complete Example: The Dynamic model
![Page 23: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/23.jpg)
The Banking System Example: Consolidated Collaboration (Communication) Diagramscombines static and dynamic information
Obtained by combiningMultiple scenarios ofInteractions
(Context Subsystem diag.) Labeled interactions between subsystems
![Page 24: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/24.jpg)
Labels Interactions between objects in a subsystem
![Page 25: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/25.jpg)
![Page 26: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/26.jpg)
Example: Consolidated Collaboration Diagram of the Elevator Control System
![Page 27: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/27.jpg)
Peer-to-Peer Architecture Style
![Page 28: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/28.jpg)
Peer-to-Peer Architecture StyleThe Gnutella Example
• Pure Peer-to-PeerArchitecture• A sends query for a data resource to neighbors B and H, they pass it on until the peer havingthe resource is found or until a certain threshold of hopsis reached
![Page 29: Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams](https://reader035.vdocument.in/reader035/viewer/2022070423/56816797550346895ddccf57/html5/thumbnails/29.jpg)
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 connectivityAnd machine performance• Supernodes perform the Communication and routingof massages to establish a call• When a user logs in to the serverhe is connected to a supernode• If a peer becomes a supernode he unknowingly bears the cost of routing a potentially large number of calls.