Top Banner
2003 SJSU -- CmpE L06-2-S1 Activity Diagrams Software Engineering II 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
33

L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU -- CmpE L06-2-S1 Activity Diagrams

Software Engineering II

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

Page 2: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S2 Activity Diagrams

2

Lesson 6-2:Activity Diagrams

Page 3: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S3 Activity Diagrams

Lesson Objectives

Objectives

3

Discuss and understand activity diagrams Understand the elements of activity diagrams

Activity Transition Synch. Bar Decision Diamond Start & Stop Markers

Page 4: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S4 Activity Diagrams

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

Page 5: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S5 Activity Diagrams

5

Notation

Activity1()c Activity2()

1. Activities

2. Transition

Page 6: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S6 Activity Diagrams

6

Notation - 2

Activity1()c

[x>0]

[x=0]

[x<0]

[x>0]

[x=0]

[x<0]

3. Decision Diamond

Page 7: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S7 Activity Diagrams

7

Notation - 3

4.1 Synch. Bar (Join) 4.2 Splitting Bar (Fork)

{AND}{OR}

{XOR}

Page 8: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S8 Activity Diagrams

8

Notation - 3

5. Start & Stop Markers

Start Marker Stop Marker

Page 9: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S9 Activity Diagrams

9

Notation - 4

Application/Department/Group/Role Boundaries

Developers Testers Markers

Swimlane SwimlaneSwimlane

Page 10: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S10 Activity Diagrams

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]

Page 11: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S11 Activity Diagrams

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)

Page 12: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S12 Activity Diagrams

Activity diagrams commonly contain

– Activity states and action states

– Transitions

– Objects

12

Activity Diagrams (2)

Page 13: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S13 Activity Diagrams

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

Page 14: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S14 Activity Diagrams

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)

Page 15: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S15 Activity Diagrams

15

Transitions (2)

Page 16: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S16 Activity Diagrams

16

Activity Diagram: Example (1)

Page 17: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S17 Activity Diagrams

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)

Page 18: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S18 Activity Diagrams

18

Branching (2)

Page 19: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S19 Activity Diagrams

19

Activity Diagram: Example (2)

Page 20: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S20 Activity Diagrams

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

Page 21: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S21 Activity Diagrams

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

Page 22: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S22 Activity Diagrams

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

Page 23: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S23 Activity Diagrams

23

Fork

Page 24: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S24 Activity Diagrams

24

Activity Diagram: Example (3)

Page 25: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S25 Activity Diagrams

25

Activity Diagram: Example (4)

Page 26: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S26 Activity Diagrams

26

Activity Diagram: Example (5)

Page 27: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S27 Activity Diagrams

27

Activity Diagram: Example (6)

Page 28: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S28 Activity Diagrams

28

Activity Diagram: Example (7)

Page 29: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S29 Activity Diagrams

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)

Page 30: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S30 Activity Diagrams

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)

Page 31: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S31 Activity Diagrams

31

Activity Diagram: Example (8)

Page 32: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S32 Activity Diagrams

32

Activity Diagram: Example (9)

Page 33: L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

2003 SJSU – CmpE --- M.E. Fayad L06-2-S33 Activity Diagrams

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