L02-d-S1 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU -- CmpE
Software System Engineering
Dr. M.E. Fayad, Professor
Computer Engineering Department, Room #283I
College of Engineering
San José State University
One Washington Square
San José, CA 95192-0180
http://www.engr.sjsu.edu/~fayad
L02-d-S2 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
2
Lesson 02-D:
Activity Diagrams
L02-d-S3 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
Lesson Objectives
Objectives
3
 Discuss and understand activity diagrams
 Understand the elements of activity diagrams
 Activity
 Transition
 Synch. Bar
 Decision Diamond
 Start & Stop Markers
L02-d-S4 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 Describes how activities are coordinated.
 Is particularly useful when you know that an operation has
to achieve a number of different things, and you want to
model what the essential dependencies between them are,
before you decide in what order to do them.
 Records the dependencies between activities, such as
which things can happen in parallel and what must be
finished before something else can start.
 Represents the workflow of the process.
4
Activity Diagram
L02-d-S5 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
5
Notation
Activity1()c Activity2()
1. Activities
2. Transition
L02-d-S6 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
6
Notation - 2
Activity1()c
[x>0]
[x=0]
[x<0]
[x>0]
[x=0]
[x<0]
3. Decision Diamond
L02-d-S7 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
7
Notation - 3
4.1 Synch. Bar (Join) 4.2 Splitting Bar (Fork)
{AND}
{OR}
{XOR}
L02-d-S8 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
8
Notation - 3
5. Start & Stop Markers
Start Marker Stop Marker
L02-d-S9 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
9
Notation - 4
Application/Department/Group/Role Boundaries
Developers Testers Markers
Swimlane Swimlane
Swimlane
L02-d-S10 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
10
Example: Business Level Activity Diagram
of the Library
member Librarian
[borrower]
[returner]
Find book on shelf
Wait in queue
Prepare for next
member
Record borrowing
Record return Put book back of shelf
[returning]
[borrowing]
L02-d-S11 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 To model the dynamic aspects of a system
 It is essentially a flowchart
– Showing flow of control from activity to activity
 Purpose
– Model business workflows
– Model operations
11
Activity Diagrams (1)
L02-d-S12 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 Activity diagrams commonly contain
– Activity states and action states
– Transitions
– Objects
12
Activity Diagrams (2)
L02-d-S13 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 Action states are atomic and cannot be
decomposed
– Work of the action state is not interrupted
 Activity states can be further decomposed
– Their activity being represented by other activity
diagrams
– They may be interrupted
13
Action States and Activity States
L02-d-S14 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 When the action or activity of a state
completes, flow of control passes
immediately to the next action or activity state
 A flow of control has to start and end
someplace
– initial state -- a solid ball
– stop state -- a solid ball inside a circle
14
Transitions (1)
L02-d-S15 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
15
Transitions (2)
L02-d-S16 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
16
Activity Diagram: Example (1)
L02-d-S17 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 A branch specifies alternate paths
taken based on some Boolean
expression
 A branch may have one incoming
transition and two or more outgoing
ones
17
Branching (1)
L02-d-S18 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
18
Branching (2)
L02-d-S19 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
19
Activity Diagram: Example (2)
L02-d-S20 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 Use a synchronization bar to specify
the forking and joining of parallel flows
of control
 A synchronization bar is rendered as a
thick horizontal or vertical line
20
Forking and Joining
L02-d-S21 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 A fork may have one incoming transitions
and two or more outgoing transitions
– each transition represents an independent flow of
control
– conceptually, the activities of each of outgoing
transitions are concurrent
• either truly concurrent (multiple nodes)
• or sequential yet interleaved (one node)
21
Fork
L02-d-S22 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 A join may have two or more incoming
transitions and one outgoing transition
– above the join, the activities associated with each
of these paths continues in parallel
– at the join, the concurrent flows synchronize
• each waits until all incoming flows have reached the
join, at which point one flow of control continues on
below the join
22
Join
L02-d-S23 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
23
Fork
L02-d-S24 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
24
Activity Diagram: Example (3)
L02-d-S25 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
25
Activity Diagram: Example (4)
L02-d-S26 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
26
Activity Diagram: Example (5)
L02-d-S27 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
27
Activity Diagram: Example (6)
L02-d-S28 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
28
Activity Diagram: Example (7)
L02-d-S29 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 A swimlane specifies a locus of activities
 To partition the activity states on an activity
diagram into groups
– each group representing the business organization
responsible for those activities
– each group is called a swimlane
 Each swimlane is divided from its neighbor
by a vertical solid line
29
Swimlanes (1)
L02-d-S30 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
 Each swimlane has a name unique within its
diagram
 Each swimlane may represent some real-world
entity
 Each swimlane may be implemented by one or
more classes
 Every activity belongs to exactly one swimlane,
but transitions may cross lanes
30
Swimlanes (2)
L02-d-S31 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
31
Activity Diagram: Example (8)
L02-d-S32 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
32
Activity Diagram: Example (9)
L02-d-S33 Activity Diagrams
1999 – 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad
33
Discussion Questions
 What are the element of activity diagrams?
 T/F
– Activity diagram is a behavior model.
– Activity diagram is a control model.
 Define:
– Activity diagram

Activity diagrams show the flow of one activity to another within a system or process.

  • 1.
    L02-d-S1 Activity Diagrams 1999– 2005 M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad
  • 2.
    L02-d-S2 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 2 Lesson 02-D: Activity Diagrams
  • 3.
    L02-d-S3 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad Lesson Objectives Objectives 3  Discuss and understand activity diagrams  Understand the elements of activity diagrams  Activity  Transition  Synch. Bar  Decision Diamond  Start & Stop Markers
  • 4.
    L02-d-S4 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  Describes how activities are coordinated.  Is particularly useful when you know that an operation has to achieve a number of different things, and you want to model what the essential dependencies between them are, before you decide in what order to do them.  Records the dependencies between activities, such as which things can happen in parallel and what must be finished before something else can start.  Represents the workflow of the process. 4 Activity Diagram
  • 5.
    L02-d-S5 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 5 Notation Activity1()c Activity2() 1. Activities 2. Transition
  • 6.
    L02-d-S6 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 6 Notation - 2 Activity1()c [x>0] [x=0] [x<0] [x>0] [x=0] [x<0] 3. Decision Diamond
  • 7.
    L02-d-S7 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 7 Notation - 3 4.1 Synch. Bar (Join) 4.2 Splitting Bar (Fork) {AND} {OR} {XOR}
  • 8.
    L02-d-S8 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 8 Notation - 3 5. Start & Stop Markers Start Marker Stop Marker
  • 9.
    L02-d-S9 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 9 Notation - 4 Application/Department/Group/Role Boundaries Developers Testers Markers Swimlane Swimlane Swimlane
  • 10.
    L02-d-S10 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 10 Example: Business Level Activity Diagram of the Library member Librarian [borrower] [returner] Find book on shelf Wait in queue Prepare for next member Record borrowing Record return Put book back of shelf [returning] [borrowing]
  • 11.
    L02-d-S11 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  To model the dynamic aspects of a system  It is essentially a flowchart – Showing flow of control from activity to activity  Purpose – Model business workflows – Model operations 11 Activity Diagrams (1)
  • 12.
    L02-d-S12 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  Activity diagrams commonly contain – Activity states and action states – Transitions – Objects 12 Activity Diagrams (2)
  • 13.
    L02-d-S13 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  Action states are atomic and cannot be decomposed – Work of the action state is not interrupted  Activity states can be further decomposed – Their activity being represented by other activity diagrams – They may be interrupted 13 Action States and Activity States
  • 14.
    L02-d-S14 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  When the action or activity of a state completes, flow of control passes immediately to the next action or activity state  A flow of control has to start and end someplace – initial state -- a solid ball – stop state -- a solid ball inside a circle 14 Transitions (1)
  • 15.
    L02-d-S15 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 15 Transitions (2)
  • 16.
    L02-d-S16 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 16 Activity Diagram: Example (1)
  • 17.
    L02-d-S17 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  A branch specifies alternate paths taken based on some Boolean expression  A branch may have one incoming transition and two or more outgoing ones 17 Branching (1)
  • 18.
    L02-d-S18 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 18 Branching (2)
  • 19.
    L02-d-S19 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 19 Activity Diagram: Example (2)
  • 20.
    L02-d-S20 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  Use a synchronization bar to specify the forking and joining of parallel flows of control  A synchronization bar is rendered as a thick horizontal or vertical line 20 Forking and Joining
  • 21.
    L02-d-S21 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  A fork may have one incoming transitions and two or more outgoing transitions – each transition represents an independent flow of control – conceptually, the activities of each of outgoing transitions are concurrent • either truly concurrent (multiple nodes) • or sequential yet interleaved (one node) 21 Fork
  • 22.
    L02-d-S22 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  A join may have two or more incoming transitions and one outgoing transition – above the join, the activities associated with each of these paths continues in parallel – at the join, the concurrent flows synchronize • each waits until all incoming flows have reached the join, at which point one flow of control continues on below the join 22 Join
  • 23.
    L02-d-S23 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 23 Fork
  • 24.
    L02-d-S24 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 24 Activity Diagram: Example (3)
  • 25.
    L02-d-S25 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 25 Activity Diagram: Example (4)
  • 26.
    L02-d-S26 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 26 Activity Diagram: Example (5)
  • 27.
    L02-d-S27 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 27 Activity Diagram: Example (6)
  • 28.
    L02-d-S28 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 28 Activity Diagram: Example (7)
  • 29.
    L02-d-S29 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  A swimlane specifies a locus of activities  To partition the activity states on an activity diagram into groups – each group representing the business organization responsible for those activities – each group is called a swimlane  Each swimlane is divided from its neighbor by a vertical solid line 29 Swimlanes (1)
  • 30.
    L02-d-S30 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad  Each swimlane has a name unique within its diagram  Each swimlane may represent some real-world entity  Each swimlane may be implemented by one or more classes  Every activity belongs to exactly one swimlane, but transitions may cross lanes 30 Swimlanes (2)
  • 31.
    L02-d-S31 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 31 Activity Diagram: Example (8)
  • 32.
    L02-d-S32 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 32 Activity Diagram: Example (9)
  • 33.
    L02-d-S33 Activity Diagrams 1999– 2005 M.E. Fayad SJSU – CmpE --- M.E. Fayad 33 Discussion Questions  What are the element of activity diagrams?  T/F – Activity diagram is a behavior model. – Activity diagram is a control model.  Define: – Activity diagram