![Page 1: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/1.jpg)
Copyright W. Howden 1
Lecture 4: Sequence Interaction Diagrams
![Page 2: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/2.jpg)
Copyright W. Howden 2
Behavioral vs Static Models
• Describe interactions between entities
• Sequence Diagrams• Collaboration
Diagrams• Message Sequence
Charts• State Charts
• Describe structure of complex entities
• Class Diagrams• Entity-relationship
models
![Page 3: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/3.jpg)
Copyright W. Howden 3
Sequence Diagrams - Components
• Objects– Actors, subsystems, class instances
• Messages– One object sends a message to another message
• Each diagram describes a scenario, or what happens during a use of the system
• System described by a collection of diagrams
![Page 4: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/4.jpg)
Copyright W. Howden 4
: Member : GUI : DomainLogic : DataBase
setMemberData()
setMemberData(dateeData, name)
getMemberData(name)
upDateMemberData(memberData)
Set member data scenario
Preceded by and followed by LogOn and LogOff scenarios
![Page 5: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/5.jpg)
Copyright W. Howden 5
Applicability• System/Actor interaction
– Requirements elaboration
• Subsystem interactions– Requirements elaboration and design
• Subsystem design– Object properties and class visibility
![Page 6: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/6.jpg)
Copyright W. Howden 6
System Actor Interaction
• Investigate the interactions the user has with the system
• Specify the needed user interface forms– Specify contents/capabilities of GUI before
graphical design
• Following example note: In the actor/system interaction we see self-messages notation
![Page 7: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/7.jpg)
7
![Page 8: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/8.jpg)
Copyright W. Howden 8
Subsystems Interaction
• Show the messages that the subsystems send back and forth
• Enforce a layers architecture
• Identify the subsystems interface/proxy
• In the following example we see the alternatives notation, which allows multiple related flows to be included in
![Page 9: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/9.jpg)
9
![Page 10: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/10.jpg)
Copyright W. Howden 10
Additional Examples
• Get a Date Scenario– Includes conditionals allowing alternative paths
in same scenario/ISD
• Start up Scenario– Shows interactions with system
• Log On Scenario
• Exit/Log Off Scenario
![Page 11: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/11.jpg)
11
![Page 12: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/12.jpg)
Copyright W. Howden 12
: User : Start : GUI : System
DatingSystem
Execute(main)
create()
Start up scenario
At this point follow LogOn/LogOff scenarios
show()
![Page 13: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/13.jpg)
13
![Page 14: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/14.jpg)
Copyright W. Howden 14
: User : GUI : DomainLogic : DataBase : System
display Start/End
End
Log Off scenario
exit()
![Page 15: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/15.jpg)
Copyright W. Howden 15
Additional Notation
• Focus of Control– Indicate when an object’s lifestream is “active”
• Data return from a sent message
• Iteration of message
![Page 16: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/16.jpg)
Copyright W. Howden 16
: Member : GUI : DomainLogic : DataBase
getDate()
displayOptionChoice()
dsiplayDaterPreferencesForm()
daterPreferences()
getDate()
memberData:=getFirst()
memberData:=*getNext()
searchResult
[null] displaySorry()
[notNull] displayDateProps()
![Page 17: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/17.jpg)
Copyright W. Howden 17
Systematic Object Identification for Sequence Diagrams
• Rational Software approach (Rational now part of IBM and source of Rational Unified Process)
• Four kinds of objects– Actor– Boundary/Form– Entity/Data– Control
![Page 18: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/18.jpg)
Copyright W. Howden 18
Boundary Objects
• Place where the actors interface with the system
• Referred to as forms by some methods
![Page 19: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/19.jpg)
Copyright W. Howden 19
Entity
• Data type objects
• Place where information is stored
• Data Bases
![Page 20: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/20.jpg)
Copyright W. Howden 20
Control
• Coordinates the activities of the use case
• Often identified with a use case, with one per use case
• Possible controller objects in O/O– Use Case, Role, System/subsystem, and
Business
![Page 21: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/21.jpg)
Copyright W. Howden 21
Actor Control Entity/Data 1 Entity/Data 2
Open
Form
Enter information
Save/Process
Save/Process
Create
Populate
Access/Retrieve
Message1
![Page 22: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/22.jpg)
Copyright W. Howden 22
Additional Notations – Message Synchronization
• Synchronous: sender waits until receiver has processed message
• Procedure call: receiver is ready to receive call, sender waits for return from call. A kind of synchronous
• Asynchronous: sender sends message and then continues regardless of status of receiver
• Balking: if receiver is not ready to receive message it is abandoned
![Page 23: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/23.jpg)
Copyright W. Howden 23
Application to Distributed Systems
• Sequence diagrams show collections of interactions between components in system, like subsystem interaction diagrams
• Can use to develop specifications for components, with individual state diagrams
![Page 24: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/24.jpg)
Copyright W. Howden 24
DS Scenarios For Distributed System
• Scenario 1– User who is a member logs on and asks for a date. A
date is found. Client relies on server to supply first and subsequent records from member Data base.
• Scenario 2– User logs on who is not a member. Then a user who is
a member logs on. The client eventually asks the server for the next record and nil is returned since there are no more. Client displays a sorry-no-date message.
![Page 25: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/25.jpg)
25
![Page 26: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/26.jpg)
Copyright W. Howden 26
![Page 27: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/27.jpg)
Copyright W. Howden 27
Developing a State Model Specification for a Component
• Factor the sequence diagrams, e.g. for the Client, get all the client lifelines
• Decide where the states are– E.g. For Client, each new GUI Frame?
• Not always an exact match with the traces
– After each message received
![Page 28: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/28.jpg)
Copyright W. Howden 28
![Page 29: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams](https://reader030.vdocument.in/reader030/viewer/2022032800/56649d4b5503460f94a28f27/html5/thumbnails/29.jpg)
Copyright W. Howden 29