Tải bản đầy đủ (.pdf) (19 trang)

Software design: Lecture 24 - Sheraz Pervaiz

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (439.31 KB, 19 trang )

1

Software Design
Lecture : 24


2

Categories of UML Diagrams (3)
Static
Use case diagram
Class diagram

Dynamic
Activity diagram
Sequence diagram
Object diagram
State diagram
Collaboration diagram


3

Implementation

Component diagram
Deployment diagram


4


Sequence Diagram – Dynamic 
Diagram
 It shows how objects communicate with each other over time

 The y are used to model object interaction in time sequence.

 It reflect the ultimate path a particular use case can take for 
completion.

 They  are  used  to  represent  or  model  the  flow  of  messages,  events 
and actions between the objects or components of a system.


5

Sequence Diagram 
 It  is  used  primarily  to  design,  document  and  validate  the 
architecture,  interfaces  and  logic  of  the  system  by  describing  the 
sequence of actions that need to be performed to complete a task or 
scenario

 This  diagram  is  a  very  useful  design  tools  because  it  provide  a 
dynamic  view  of  the  system  behavior  which  can  be  difficult  to 
extract from static diagrams or specifications.


6

Notations in Sequence Diagram
Sequence Diagram has two dimensions:

 Horizontal  axis represents  Objects of classes involved in class 
diagram

 Objects represent the Instance of Class with a format of 

Class name: Instance Name
For instance Employee: e
Usually class name is optional


7

Vertical Axis
 Vertical line is draw to represents Life Line of Object (Time 
Sequence)
 The lifeline represents the existence of the object at a particular 
time
 If the object is created or destroyed during the period of time then 
its lifeline starts or stops at the appropriate point; otherwise it goes 
from the top to the bottom of the diagram
 If the object is destroyed during the diagram, then its destruction is 
marked by a large “X”


8

Activation
 An  activation  (focus  of  control)  shows  the  period  of  time  during 
which an object is performing an action either directly or through a 
message.


 An activation is shown as a tall thin rectangle whose top is aligned 
with  its  initiation  time  and  whose  bottom  is  aligned  with  its 
completion time


9

Graphical Representation


10

Messages
 A  message  is  a  communication  between  objects  that  conveys 
information with the expectation that action will ensue. 

 They  are used to illustrate communication between different active 
objects of a sequence diagram.

 The receipt of a message is normally considered an event.


11

Messages (Cont.)
 A  message  is  represented  by  an  arrow  between  the  life  lines  of  two 
objects.
 Self calls are also allowed
 The  time  required  by  the  receiver  object  to  process  the  message  is 

denoted by an activation­box.
 A message is labeled at minimum with the message name.
 Arguments  and  control  information  (conditions,  iteration)  may  be 
included.


12

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() 


13

Synchronous Messages
 Nested flow of control, typically implemented as an operation call.
 The  routine  that  handles  the  message  is  completed  before  the 
caller resumes execution.

:A

:B

doYouUnderstand()

Caller 
Blocked

yes

return 
(optional)


14

Asynchronous
 In  this  type  of  message  the  flow  is  not  interrupted  and  response  is 
not awaited.

 An asynchronous message is drawn with a half­arrowhead, that
   (one with only one wing instead of two)  as shown below


15

Self Message
 We  can  call  this  type  of  message  as  recursive  message  i­e 
Communication between same message

 A message from an object to itself, the arrow may start and finish on 
the same object symbol



16


17

Example with Self Call 


18

Example of Sequence Diagram


Sample Sequence Diagram
: Client

a : Assembly
count(part)

part : CatalogEntry

Lifeline
getNumber()

Messages
return number

Activation(
optional)


control returns to the 
sender of the message 
(optional)



×