slide 1 use case sequence diagram. slide 2 interaction diagrams l interaction diagrams model the...
TRANSCRIPT
![Page 1: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/1.jpg)
Slide 1
Use Case Sequence Diagram
![Page 2: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/2.jpg)
Slide 2
Interaction Diagrams
l Interaction diagrams model the behavior of use cases by describing the way groups of objects interact to complete the task of the use case. They portray the interaction among the objects of a system and describe the dynamic behavior of the system.
l There are two types of interaction diagrams l Sequence Diagrams and Communication
Diagrams (formally known as collaboration diagrams)
![Page 3: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/3.jpg)
Slide 3
Interaction Diagrams
l Sequence diagrams • generally show the sequence of events that occur.
l Collaboration diagrams demonstrate how objects are statically connected.
l Both diagrams are relatively simple to draw and contain similar elements.
![Page 4: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/4.jpg)
Slide 4
Interaction Diagrams
l Purpose of interaction diagrams• Model interactions between objects
• Assist in understanding how a system (i.e., a use case) actually works
• Verify that a use case description can be supported by the existing classes
• Identify responsibilities/operations and assign them to classes
![Page 5: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/5.jpg)
Slide 5
Sequence Diagram
l Illustrates the objects that participate in a use case and the messages that pass between them over time for one use case
l In design, used to distribute use case behavior to classes
![Page 6: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/6.jpg)
Slide 6
Sequence Diagram
member:LibraryMember
book:Book:BookCopy
borrow(book)ok = mayBorrow()
[ok] borrow(member)setTaken(member)
X-Axis (objects)
Y-A
xis (tim
e)
ObjectLife LineMessage
Focus of control
Condition
![Page 7: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/7.jpg)
Slide 7
Sequence Diagram Syntax
AN ACTOR
AN OBJECT
A LIFELINE
A FOCUS OF CONTROL
A MESSAGE
OBJECT DESTRUCTION
anObject:aClass
aMessage()
x
![Page 8: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/8.jpg)
Slide 8
Sequence Diagram
Two major components• Active objects
• Communications between these active objects• Messages sent between the active objects
![Page 9: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/9.jpg)
Slide 9
Sequence Diagram
Active objects• Any objects that play a role in the
system
• Participate by sending and/or receiving messages
• Placed across the top of the diagram
• Can be:• An actor (from the use case diagram)• Object/class (from the class diagram) within the
system
![Page 10: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/10.jpg)
Slide 10
Active Objects
Object• Can be any object or class that is
valid within the system• Object naming
• Syntax
[instanceName][:className]
1. Class name only :Classname2. Instance name only objectName3. Instance name and class name
together object:Class
myBirthdy:Date
![Page 11: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/11.jpg)
Slide 11
Active Objects
Actor• A person or system that derives
benefit from and is external to the system
• Participates in a sequence by sending and/or receiving messages
![Page 12: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/12.jpg)
Slide 12
Sequence Diagram
![Page 13: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/13.jpg)
Slide 13
Communications between Active Objects
Messages • Used to illustrate communication
between different active objects of a sequence diagram
• Used when an object needs • to activate a process of a different object• to give information to another object
![Page 14: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/14.jpg)
Slide 14
Messages
A message is represented by an arrow between the life lines of two objects.• Self calls are allowed
A message is labeled at minimum with the message name.• Arguments and control information
(conditions, iteration) may be included.
![Page 15: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/15.jpg)
Slide 15
Types of Messages
Synchronous (flow interrupt until the message has completed)
Asynchronous (don’t wait for response)
Flat (no distinction between sysn/async)
Return (control flow has returned to the caller)
![Page 16: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/16.jpg)
Slide 16
Synchronous Messages
l The routine that handles the message is completed before the calling routine resumes execution.
:A :B
doYouUnderstand()
Caller Blocked
return (optional)yes
![Page 17: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/17.jpg)
Slide 17
Asynchronous Messages
Calling routine does not wait for the message to be handled before it continues to execute. As if the call returns immediately
Examples Notification of somebody or something Messages that post progress
information
![Page 18: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/18.jpg)
Slide 18
Return Values
Optionally indicated using a dashed arrow with a label indicating the return value. Don’t model a return value when it is
obvious what is being returned, e.g. getTotal()
Model a return value only when you need to refer to it elsewhere (e.g. as a parameter passed in another message)
Prefer modeling return values as part of a method invocation, e.g. ok = isValid()
![Page 19: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/19.jpg)
Slide 19
Sequence Diagram
member:LibraryMember
book:Book:BookCopy
borrow(book)ok = mayBorrow()
[ok] borrow(member)setTaken(member)
X-Axis (objects)
Y-A
xis (tim
e)
ObjectLife LineMessage
Focus of control
Condition
![Page 20: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/20.jpg)
Slide 20
Other Elements of Sequence Diagram
Lifeline Focus of control (activation box or
execution occurrence) Control information
Condition, repetition
![Page 21: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/21.jpg)
Slide 21
Sequence Diagram Lifeline
Denotes the life of actors/objects over time during a sequence
Represented by a vertical line below each actor and object (normally dashed line)
For temporary object place X at the end of the lifeline at the
point where the object is destroyed
![Page 22: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/22.jpg)
Slide 22
Sequence Diagram
Focus of control (activation box) Means the object is active and using
resources during that time period Denotes when an object is sending or
receiving messages Represented by a thin, long
rectangular box overlaid onto a lifeline
![Page 23: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/23.jpg)
Slide 23
Sequence Diagram
member:LibraryMember
book:Book:BookCopy
borrow(book)ok = mayBorrow()
[ok] borrow(member)setTaken(member)
X-Axis (objects)
Y-A
xis (tim
e)
ObjectLife LineMessage
Focus of control
Condition
![Page 24: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/24.jpg)
Slide 24
Control Information
Condition syntax: ‘[‘ expression ’]’ message-label The message is sent only if the
condition is true
[ok] borrow(member)
![Page 25: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/25.jpg)
Slide 25
Elements of Sequence Diagram
obj1:Class
[x < 15] calculate()
obj2: Classmessage()
![Page 26: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/26.jpg)
Slide 26
Sequence Diagrams
obj1:Class
[x < 15] calculate()
obj2: Class
message()
obj3: Class
[x > 20] calculate()
![Page 27: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/27.jpg)
Slide 27
Sequence Diagrams
l Concurrency
obj1:Class
calculate()
obj2: Class
message()
obj3: Class
calculate()
![Page 28: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/28.jpg)
Slide 28
Elements of Sequence Diagram
Control information Iteration
may have square brackets containing a continuation condition (until) specifying the condition that must be satisfied in order to exit the iteration and continue with the sequence
may have an asterisk followed by square brackets containing an iteration (while or for) expression specifying the number of iterations
![Page 29: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/29.jpg)
Slide 29
Control Information
Iteration syntax: * [ ‘[‘ expression ‘]’ ]
message-label The message is sent many times to
possibly multiple receiver objects.
*draw()
![Page 30: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/30.jpg)
Slide 30
Control Information
Iteration example
:Driver
*[until full] insert()
:Bus:CompoundShape :Shape
*draw()draw()
![Page 31: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/31.jpg)
Slide 31
Control Information
The control mechanisms of sequence diagrams suffice only for modeling simple alternatives. Consider drawing several diagrams for
modeling complex scenarios. Don’t use sequence diagrams for
detailed modeling of algorithms (this is better done using activity diagrams, pseudo-code or state-charts).
![Page 32: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/32.jpg)
Slide 32
Sequence Diagrams
Creation and destruction of an object in sequence diagrams are denoted by the stereotypes <<create>> and <<destroy>>
:Creator
<<create>>: Created Object
message()
<<destroy>> X
![Page 33: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/33.jpg)
Slide 33
Creating Objects
Notation for creating an object on-the-fly Send the <<create>> message to
the body of the object instance Once the object is created, it is
given a lifeline. Now you can send and receive
messages with this object as you can any other object in the sequence diagram.
![Page 34: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/34.jpg)
Slide 34
Object Creation
An object may create another object via a <<create>> message.
:A :B
<<create>>
Constructor
:A
<<create>> :B
Preferred
![Page 35: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/35.jpg)
Slide 35
Object Destruction
An object may destroy another object via a <<destroy>> message. An object may destroy itself. Avoid modeling object destruction unless
memory management is critical.
:A :B
<<destroy>>
![Page 36: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/36.jpg)
Slide 36
getViolation(id)
Sequence Diagram
Clerk
:ViolationsDialog
:ViolationsController
:ViolationsDBProxy
lookupviewButton()
id=getID()
v:TrafficViolation
display(v)
<<create>>
v
Lookup Traffic Violation
DB is queried and the result is returned as an object
![Page 37: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/37.jpg)
Slide 37
Steps for Building a Sequence Diagram
1) Set the context
2) Identify which objects and actors will participate
3) Set the lifeline for each object/actor
4) Lay out the messages from the top to the bottom of the diagram based on the order in which they are sent
5) Add the focus of control for each object’s or actor’s lifeline
6) Validate the sequence diagram
![Page 38: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/38.jpg)
Slide 38
1) Set the context.a) Select a use case.
b) Decide the initiating actor.
Steps for Building a Sequence Diagram
![Page 39: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/39.jpg)
Slide 39
2) Identify the objects that may participate in the implementation of this use case by completing the supplied message table.
a) List candidate objects.1) Use case controller class2) Domain classes 3) Database table classes4) Display screens or reports
Steps for Building a Sequence Diagram
![Page 40: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/40.jpg)
Slide 40
Steps for Building a Sequence Diagram
2) Identify the objects (cont.)b) List candidate messages. (in message analysis table)
1) Examine each step in the normal scenario of the use case description to determine the messages needed to implement that step.
2) For each step:
1) Identify step number.
2) Determine messages needed to complete this step.
3) For each message, decide which class holds the data for this action or performs this action
3) Make sure that the messages within the table are in the same order as the normal scenario
![Page 41: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/41.jpg)
Slide 41
Steps for Building a Sequence Diagram
2) Identify the objects (cont.)c) Begin sequence diagram construction.
1) Draw and label each of the identified actors and objects across the top of the sequence diagram.
2) The typical order from left to right across the top is the actor, primary display screen class, primary use case controller class, domain classes (in order of access), and other display screen classes (in order of access)
3) Set the lifeline for each object/actor
![Page 42: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/42.jpg)
Slide 42
4) Lay out the messages from the top to the bottom of the diagram based on the order in which they are sent.
a) Working in sequential order of the message table, make a message arrow with the message name pointing to the owner class.
b) Decide which object or actor initiates the message and complete the arrow to its lifeline.
c) Add needed return messages.
d) Add needed parameters and control information.
Steps for Building a Sequence Diagram
![Page 43: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/43.jpg)
Slide 43
5) Add the focus of control (activation box) for each object’s or actor’s lifeline.
6) Validate the sequence diagram.
Steps for Building a Sequence Diagram
![Page 44: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/44.jpg)
Slide 44
Sequence Diagrams
:Cashier
makenewSale()
: System
enterItem(itemID, quantity)
description, total
endSale()
total
makePayment(amount)
change due, receipt
![Page 45: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/45.jpg)
Slide 45
Sequence Diagram
![Page 46: Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of](https://reader030.vdocument.in/reader030/viewer/2022032600/56649db65503460f94aa75a7/html5/thumbnails/46.jpg)
Slide 46
Sequence Diagram
:Compiler LinkerActor
Compile
FileSystem
Load Files
Save OBJ Files
Compile files
Link
Load OBJ files
Link OBJ files
Write EXE file