Systems Analysis II Activity Diagrams PowerPoint PPT Presentation

presentation player overlay
1 / 22
About This Presentation
Transcript and Presenter's Notes

Title: Systems Analysis II Activity Diagrams


1
Systems Analysis IIActivity Diagrams
  • INFO 355
  • Glenn Booker

2
Activity Diagrams
  • Activity Diagrams are a type of flowchart used to
    describe a business process or workflow
  • They support parallel tasks, which a pure
    flowchart cant handle
  • They are derived from state diagram notation, so
    dont be surprised by the similarities

3
Scope of Activity Diagrams
  • An activity diagram might show the logic for a
    complex use case (and all its extensions), or
    show the interaction among several use cases
    (such as when included use cases apply)
  • An activity diagram can show the logical
    decisions of a process that the use case diagram
    cant show

4
Activity Diagram Notation
  • Activity diagram notation includes
  • The processes to be performed, which appear as
    boxes with rounded corners
  • The processes are connected by lines with arrows,
    to show the direction of process flow
  • Arrows are always directional in an activity
    diagram
  • Use the Guard field for conditions
  • Decisions are shown by diamonds

5
Activity Diagram Simple Example
6
Decisions
  • Notice that the diamond symbol is used to show a
    split in the process flow due to a decision
  • And the same symbol is used to show when the
    process flows merge afterwards

7
Concurrent Flow
  • Notice the implied assumption of time going
    forward down the page
  • Concurrent, or parallel flows can be shown by
    using a fork symbol when the flows split, and a
    join symbol when they reconnect

8
Uses for Concurrent Flow
  • Several parallel activities might take place
    after a single decision
  • For example, approval of a release might initiate
    parallel activities to
  • Prepare a release description
  • Start packaging the release
  • Notify customer of impending release
  • Lock the contents of the release

9
Concurrency Example
Shows four concurrent activity threads to prepare
for a new baseline release this might all be
part of a process called Prepare Release
10
Partitions
  • Notice that activities are often performed by
    different organizations within your project
  • You could add the organization to the activity
    name, e.g. Program Control Notifies Customer
  • Or use the approach on the next slide
  • Here is another variation on the swimlane
    approach (each organization has its own lane)

11
Partition Example
12
Adding Details - Decomposing
  • Each step in an activity diagram could correspond
    to (or be decomposed into) a process or procedure
    which is documented elsewhere
  • For example, Prepare Release Description could
    follow a procedure to explain it in more detail

13
Adding Details - Decomposing
  • For that matter, the whole development process
    could be described in a single step, then broken
    down to any desired level of detail

14
Adding Details - Decomposing
Which in turn becomes
Notice similarity to the project schedule (WBS)
15
Adding Details - Decomposing
  • Many CASE tools, such as the Rational suite, can
    directly support such a process decomposition

16
Timing and Signals
  • So far the sense of time has been pretty vague
  • Time goes forward down the page
  • Forks and joins indicate when concurrent
    processes collectively begin and end
  • Decisions and merges reflect the start and end of
    conditional process paths
  • To be more precise, use signals

17
Signals
  • A Time Signal can be used to indicate when a
    process waits for a specific timed event before
    it begins
  • E.g. end of month to start generating a report
  • The Time Signal is like an hourglass, labeled to
    show what event for which it waits
  • (I made this one manually)

18
Signals
  • Send Signals are triggered by some process to
    start a timer
  • Receive Signals accept a signal as input, and
    usually sound like an event more than a process
  • Taxi arrives, Itinerary confirmed, etc.

19
Signals
  • A signal can be split by a fork symbol
  • Fig 11.6, p. 123
  • (Send and receivelabels overwrittenmanually)

20
Tokens
  • To help follow a process, it sometimes helps to
    imagine physical tokens being passed along the
    paths
  • A fork creates two or more tokens to follow each
    path separately
  • A join waits for all tokens to arrive before
    proceeding

21
Other Activity Diagram Tricks
  • There are lots of other things which can be shown
    on an activity diagram, most of which are very
    implementation-focused
  • Hence, well ignore them here
  • The last well consider is the join specification

22
Join Specification
  • A join specification is an explanation of the
    conditions needed for continuing
  • Normally, simply having collected all tokens is
    enough
  • A join specification is a Boolean expression in
    curly brackets
  • joinSpec value of inserted coins gt price of
    selected drink
Write a Comment
User Comments (0)
About PowerShow.com