Activity Diagram - PDF
Activity Diagram - PDF
Information Systems
ICT2405 - Software Engineering
Activity Diagram
• An activity is like a state where the criterion for leaving the state is the
completion of the activity
9
Transitions 7
• A Transition is the movement from one activity to another, the change from
one state to another, or the movement between a state and an activity in
either direction
• Transitions take place when one activity is complete and the next can commence
• The flow of an activity is shown using arrowed lines called edges or paths
• UML 2.0 defines several types of activity nodes to model different types of
information flow
– Parameters nodes
– Object nodes
– (input or output) Pins - special notation for object nodes; exception pins,
value pins
• A flow final node terminates a path through an activity, but not the entire
activity
Warnings: be careful when using a flow final node after a fork. As soon as the
activity final node is reached, all other actions in the activity (including the ones
before the final flow node) terminate. If you want all forked actions to finish,
make sure to add a join.
• A synchronisation may have many in-arcs from activities and a number of out-arcs to
activities
• On an occurrence of the transition all the activities with arcs from the transition are initiated
• A fork node splits the current flow through an activity into multiple concurrent flows
• A decision point shows where the exit transition from a state or activity may branch in
alternative directions depending on a condition
• A decision involves selecting one control-flow transition out of many control- flow transitions
based on a condition
• Guard expressions (inside []) label the transitions coming out of a branch
• A merge point brings together alternate flows into a single output flow - note that it does not
synchronise multiple concurrent flows
• There can be several End states – multiple End states can be used to indicated
different follow-on processes from a particular process
• Partitioning by class and actor can help to identify new associations that have
not been documented in the class model
• Partitioning by use cases can help document how use cases interact
• Note that combining send and receive signals results in behaviour similar to
synchronous call, or a call that waits for a response.
• Activity diagrams are useful for capturing detailed activities, but they can also
capture elements of the high level workflow the system is intended to support