UML Activity Diagram Lecture Notes

advertisement
Software Engineering EKT 420
What is Activity Diagram
 Activity diagrams are graphical representations of
workflows of stepwise activities and actions with
support for choice, iteration and concurrency.
 In UML, activity diagrams can be used to describe the
business and operational step-by-step workflows of
components in a system.
 An activity diagram shows the overall flow of control.
 The flow of execution is modeled as activity nodes
connected by activity edges.
 A node can be the execution of a subordinate behavior,
such as an arithmetic computation, a call to an
operation, or manipulation of object contents.
 Activity nodes also include flow of control constructs,
such as synchronization, decision, and concurrency
control.
 Activities may form invocation hierarchies invoking
other activities, ultimately resolving to individual
actions.
Example 1
Activity diagram for a guided
brainstorming process
Example 2
Activity diagram to authenticate PIN
number
Example 3 Activity diagrams with
swimlanes
© Lethbridge/Laganière 2005
Chapter 8: Modelling Interactions and Behaviour
6
Labels/Symbols/Notation
 Initial node. The filled in circle is the starting point of the





diagram.
Activity final node. The filled circle with a border is the ending
point. An activity diagram can have zero or more activity final
nodes.
Activity. The rounded rectangles represent activities that occur.
An activity may be physical, such as Inspect Forms, or electronic,
such as Display Create Student Screen.
Flow/edge. The arrows on the diagram.
Fork. A black bar with one flow going into it and several leaving
it. This denotes the beginning of parallel activity.
Join. A black bar with several flows entering it and one leaving
it. All flows going into the join must reach it before processing
may continue. This denotes the end of parallel processing.
Labels/Symbols/Notation
 Condition. Text such as [Incorrect Form] on a flow, defining a guard





which must evaluate to true in order to traverse the node.
Decision. A diamond with one flow entering and several leaving.
Merge. A diamond with several flows entering and one leaving. The
implication is that one or more incoming flows must reach this point
until processing continues, based on any guards on the outgoing flow.
Partition. Partitions also called swimlanes, indicating who/what is
performing the activities (either the Applicant, Registrar, or System).
Sub-activity indicator. The rake in the bottom corner of an activity,
such as in the Apply to University activity, indicates that the activity is
described by a more finely detailed activity diagram. In Example 4 the
Enroll In Seminar activity includes this symbol.
Flow final. The circle with the X through it. This indicates that the
process stops at this point.
Example 4
UML activity diagram with partitions
based on actors.
More labels/symbols
 Activity edge is notated by an open arrowhead line
connecting two activity nodes.
 Activity edge connects Fill Order and Review Order.
More labels/symbols
 Edges can be named, however, edges are not required
to have unique names within an activity. If the edge
has a name, it is notated near the arrow.
 Activity edge "updated" connects two nodes.
More labels/symbols
 Activity edge can have a guard - specification
evaluated at runtime to determine if the edge can be
traversed. The guard must evaluate to true for every
token that is offered to pass along the edge.
 The guard of the activity edge is shown in square
brackets that contain the guard.
 Fill Order when priority is 1
More labels/symbols
 Connectors are generally used to avoid drawing a long
edge. This is purely notational. It does not affect the
underlying model.
 Connector A connects two edges between Fill Order
and Review Order.
More labels/symbols
 Object flow edges are activity edges used to show
data flow of object and data tokens between action
nodes.
 An object flow is notated by an arrowed line.
 Object flow of Orders between Fill Order and
Review Order actions
More labels/symbols
 The weight of the edge may be shown in curly braces
that contain the weight. The weight is a value
specification, which may be a constant, that evaluates
to a non-zero unlimited natural value. An unlimited
weight is notated as "*".
 Send Notification when number of Warnings reaches
6
More labels/symbols
 Interrupting edge is activity edge expressing
interruption for regions having interruptions. It is
rendered as a lightning-bolt.
 Cancel Request signal causes interruption resulting in
Cancel Order.
More labels/symbols
 Activity diagram can have external entity that may
exist during the activity
Authenticate
Check balance
<<system>>
Accounting
system
Download