Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts...

29
Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU

Transcript of Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts...

Page 1: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Ouline

UML Development – Overview The Requirements, Analysis, and Design

Models Static and Dynamic Design Examples

Page 3: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

The Requirements, Analysis, and Design Models

Static AnalysisDynamic 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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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

Page 9: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Digital Sound Recorder:A Complete Example

Page 10: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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

Page 11: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

The Sound RecorderAnalysis Level Class Diagram

Page 12: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Digital Sound Recorder:A Complete Example: Architecture

The Static model,DesignClass Diagram:DesigningThe Subsystems,

Page 13: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Digital Sound Recorder:A Complete Example:

Design Class Diag:Class OperationsAre defined UsingDesign Sequence diagrams

Page 14: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Digital Sound Recorder:A Complete Example

Page 15: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Digital Sound Recorder:A Complete Example: The Dynamic modelDSD shows the interactions between objects in different subsysts

Design Sequence Diagram

Page 16: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Digital Sound Recorder:A Complete Example

Page 17: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Model-View-Controller Architecture StyleDynamic Interactions

Page 22: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Digital Sound Recorder:A Complete Example: The Dynamic model

Page 23: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

The Banking System Example: Consolidated Collaboration (Communication) Diagramscombines static and dynamic information

Obtained by combiningMultiple scenarios ofInteractions

(Context Subsystem diag.)Labeled interactionsbetween subsystems

Page 24: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Labels Interactions between objects in a subsystem

Page 25: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML
Page 26: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Example: Consolidated Collaboration Diagram of the Elevator Control System

Page 27: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Peer-to-Peer Architecture Style

Page 28: Software Design The Dynamic Model Design Sequence …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

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 …hhammar/rts/adv rts/adv rts slides/07/advrts slides 8...A Complete Example: The Dynamic model Interactions are shown using a UML

Peer-to-Peer Architecture StyleThe Skype Example

• A mixed client-Server and Pee-to-Peer• Skype Peers get promoted to a supernodestatus 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 supernodehe unknowingly bears the cost of routinga potentially large number of calls.