Description The UML 2 Activity Diagram depicts any kind of behavior, such as business system or program behavior, using a combined control and data-flow model composed of UML 2.0 symbols.
Activity Diagrams may be used for organizational modeling of business process and workflow documentation or development, or to describe procedural computation, such as the logic of a computer program.
Activities describe behaviors via the sequencing of subordinate, primitive elements called actions.
Actions have no further decomposition in the activity containing them.
Partitions, commonly called swimlanes are a way to group activities performed by the same actor on an activity diagram, to group activities in a single thread, or to group activities in a single logical part of the system.
Activity Diagrams serve several purposes.
They may be used to ensure that program modules are of high quality and meet the design requirements by documenting the detailed functional and interface design decisions. They communicate this design to the programmers.
They may also facilitate concurrent program module development. The specifications completely define the inter-module interfaces and the module intended functions. This allows implementation teams to work on different parts of the project, knowing exactly what to develop in their modules as well as knowing that the interfaces to modules on which their deliverables depend are defined and agreed upon.
In these forms, UML 2 Activity Diagrams are used to:
* Explicitly guide the development of program logic by programmers
* Finalize and publish the system’s interfaces
* Develop Test Specifications
* Act as documentation for the system
* Plan the business operations needed to achieve required capabilities
  Description continued…
  • Document the prioritized business requirements for the future solution (may include organization structure and job roles/skills)
  • Define what is needed in terms of organization and technology in order to meet the needs of the behavior being documented
  • Facilitate evaluation of choices during the selection or evaluation of a solution
  • Enable issues to be identified and resolved early and risks to be mitigated
  • Provide awareness of assumptions that have been made
  When Required Activity Diagrams form a direct link between the functionality specified in the use cases and allocating behavior to objects, discovering problems, holding design discussions and considering alternatives to the current design.

Activity Diagrams provide an end-to-end understanding of how objects can carry out the scenario.

Not producing Activity Diagrams makes it difficult to identify typical patterns and to identify opportunities for component and framework reuse. It will also be more difficult to assess the overall viability of the system and to determine the necessary trade-offs between reusability, modifiability and efficiency.

Writing Activity Diagrams can be as time consuming and sometimes repetitive.
If writing Activity Diagrams for more scenarios will not drive out any more responsibilities or related issues, there is no point continuing.

However, producing no Activity Diagrams at all is hazardous, since this usually results in a poor understanding of the dynamic aspects of the system.
  Notation UML 2 Activity Diagrams follow the constructs defined in the Object Management Group (OMG) adopted, "UML 2.0 Superstructure Specification".
UML 2 Symbols and Definitions
Symbol Usage Definition
File:Activity Diagram Work Product Description 01.png
Accept Event Action An action that waits for the receipt of a signal meeting specified conditions.
For example, using the above IPO e-mail signal, an e-mail Web service receives the signal containing the e-mail text, and sends control to Activity "Send e-mail".
File:Activity Diagram Work Product Description 02.png
Action An action is a simple piece behavior.
Actions are the fundamental unit of functionality in an activity and represents some transformation or processing in the modeled system, be it a computer system or otherwise.
Actions have three (3) characteristics. They are:
  • Atomic; they can’t be broken into smaller parts
  • Uninterruptable; once an action starts it must continue until finished
  • Instantaneous (i.e. the time involved does not matter to the rest of the system)
    Pre- and post-conditions can be specified for an action defining what must be true before the action can execute and what must be true after the action execution completes.
    An action will not begin execution until all of its input (i.e. preconditions) conditions are satisfied.
  Notation continued…
UML 2 Symbols and Definitions
Symbol Usage Definition
File:Activity Diagram Work Product Description 03.png
Activity A parameterized sequence of actions.
An activity may result in the execution of actions contained within it zero, one, or more times.
Execution of an activity may be interrupted.
Activities may be called within other activities. When this occurs, they are denoted by an activity symbol containing a "rake". The rake suggests a miniature hierarchy, indicating that this invocation starts another activity that represents a further decomposition.
File:Activity Diagram Work Product Description 04.png
Activity Final A final node that stops all flows in an activity.
An activity may have more than one activity final node. The first one reached stops all flows in the activity.
File:Activity Diagram Work Product Description 05.png
Artifact A physical piece of information that is used or produced by a development process. Examples of Artifacts include process models, source files, executables, design documents, reports, prototypes, user manuals and so on. The artifact is labeled inside the rectangle.
File:Activity Diagram Work Product Description 06.png
Connector A connector is used to show continuation of Control Flow or Object Flow from one part of a diagram to another part of the same diagram.
Connectors link one page to another, or link different nodes within the same page.
Connectors are uniquely identified by a single character contained within a small circle. (Refer to the "N" in the symbol to the right.)
Every connector must be paired with exactly one other with the same character identifier in the same activity diagram.
A label may be added to a connector to further clarify where the connection is going or coming from, or how it is being used.

  Notation continued…
UML 2 Symbols and Definitions
Symbol Usage Definition
File:Activity Diagram Work Product Description 07.png
Constraint A condition, restriction or rule placed on an action that must evaluate to True. The constraint may be a pre-condition or a post-condition of the action. It is labeled inside the braces.
File:Activity Diagram Work Product Description 08.png
Control Flow An activity edge that only passes control tokens. Tokens offered by the source node are all offered to the target node.
File:Activity Diagram Work Product Description 09.png
Database A collection of data elements (facts) stored in a systematic way, such that a computer program can consult it to answer questions. The answers to those questions become information that can be used to make decisions that may not be made with the data elements alone.
File:Activity Diagram Work Product Description 10.png
Data Store Node A data store keeps all tokens that enter it, copying them when they are chosen to move downstream.

Incoming tokens containing a particular object replace any tokens in the object node containing that object.

  Notation continued…
UML 2 Symbols and Definitions
Symbol Usage Definition
File:Activity Diagram Work Product Description 11.png
Decision Node

{Exclusive Choice}
A control node with one flow entering and two or more exiting.
The outgoing flows are exclusive, meaning that only one of the alternative paths may be chosen for the activity to continue.
Outgoing flows are annotated with guards, conditions whose values are evaluated to true. For example, guards may be specified as [Student is less than 21 years old] and [Student is 21 years old or older] in response to a decision of "Is a student over 21 years old?"
For further clarity and in addition to the guards, a Note may be added to the decision.
For example, the decision could be labeled with a Note that asks "Is student over 21 years old?" and the guards then specified as [Yes] and [No].
File:Activity Diagram Work Product Description 12.png
Exception Handler An exception handler is an element that specifies a body to execute in case the specified exception occurs during execution.

  Notation continued…
UML 2 Symbols and Definitions
Symbol Usage Definition
File:Activity Diagram Work Product Description 13.png
Flow Final An indicator that a particular path has completed.
The Activity Final node (a circle with a smaller filled circle internal marker) will cause the entire process to stop, even if there are activities that have not started or are still active.
A flow final destroys all tokens that arrive at it. It has no effect on other flows in the activity.
File:Activity Diagram Work Product Description 14.png
Fork Node

{Parallel Split}
The fork node has one flow going into it and several leaving it. It creates a set of parallel paths that go on at the same time and the order each is executed does not matter.
When a token (data objects or other messages) arrives at the fork, it will be divided into multiple tokens for only the outgoing control flow whose conditions, called guards, are evaluated to True.
File:Activity Diagram Work Product Description 15.png
Initial Node A control node at which flow starts when the activity is invoked.
An activity may have more than one initial node.
File:Activity Diagram Work Product Description 16.png
Join Node

Combines a set of parallel paths into a single outgoing control flow. Progress cannot continue past the join until all the activities that feed into it are complete.
File:Activity Diagram Work Product Description 17.png
Merge Node A merge node combines a set of alternative paths into a single outgoing control flow. A merge is used to join the alternate paths of a decision back into a common path.
When a token arrives at the node, it will immediately continue down the outgoing control path.
For example, students aged 21 and over need to perform activities A, B, X, Y and Z, while students aged under 21 need to perform activities C, D, X, Y and Z. The merge node would be used to combine two paths of activities (i.e. 21 and over A, B and Under 21 C,D) into the common activities X, Y and Z.

  Notation continued…
UML 2 Symbols and Definitions
Symbol Usage Definition
File:Activity Diagram Work Product Description 18.png
Note/Comment Notes are additional text used to assist the reader by providing additional or clarifying information. The text is entered inside the rectangle with the folded down right top corner.
File:Activity Diagram Work Product Description 19.png
Object Flow An activity edge that can have objects or data passing along it.
File:Activity Diagram Work Product Description 20.png
Page Denotes the presentation of a web page or computer screen image.

The page/screen symbol must be labeled with the same name used for the page/screen in the UI Specification.
File:Activity Diagram Work Product Description 21.png
Partition (Swimlane) Activity partition may be indicated with two, usually parallel lines, either horizontal or vertical, and a name labeling the partition in a box at one end.
Any action or activity nodes and edges placed between these lines are considered to be contained within the partition.
File:Activity Diagram Work Product Description 22.png
Signal Send Action An action that sends a signal to a target object, where it may cause the execution of an activity. The Signal Send is labeled inside the symbol.
For example, when certain events happen within the HescPIN system, an e-mail needs to be sent to IPO (Security). An activity "Generate Exception Notification to IPO" sends a signal to forward the e-mail text to be sent.

  Notation continued…
UML 2 Symbols and Definitions
Symbol Usage Definition
File:Activity Diagram Work Product Description 23.png
Sub-activity A Sub-activity nests a sequence of actions within the flow of an activity.
A sub-activity state is placed where an action state on an activity diagram would be located.
Subactivity states are used to reduce complexity of diagrams that model complex processes.

A subactivity starts a sequence of actions without an operation.

:A repetitive process within a program that retrieves an error message or error message text based upon some failure action within the program. Generally speaking, the series of actions to perform look-ups of this kind would be the same. E.g. Error occurs, Error number is assigned, Data store is queried for error message text, error messge text is displayed, written to a file, or pushed onto queue, etc.
File:Activity Diagram Work Product Description 24.png
Table Denotes a single entity (table) within a defined database process path.
File:Activity Diagram Work Product Description 25.png
Time Event Action An event that denotes the time elapsed since the current state was entered.
A time event occurs when a predetermined deadline expires.

  Development Approach The process for creating activity diagrams is pretty simple. You can accomplish it by these steps:
  • Identify the area you want to create an Activity Diagram for.
  • Draw a simple Activity Diagram which shows the primary success (vanilla) scenario from end to end. Don’t worry too much about the details yet.
  • Go back and add alternative paths, including those which result in errors.
  • Add detail to the diagram.
    As a note, you might end up with portions of your diagram which are so complex that they warrant a separate activity diagram. This is part of the point of these diagrams. This level of detail helps to define and understand the scope of the solution under analysis.
  Validation and Verification Throughout the development process, key facts, assumptions, requirements, findings, and decisions must be discussed with the working team and reviewed with the Subject Matter Experts. It is critical that the Subject Matter Experts are proactively involved and participating in analysis and Activity Diagram development.
It is extremely important to include key expertise (function, industry, etc.) to ensure that specific knowledge and experience is brought in to assess impact, identify issues, and develop a successful design
  • It may be useful to validate the activities with the strategic business scenarios and capability scenarios to ensure that they coincide with the overall business goals the customer is seeking to achieve.
  • The diagrams should be completed and circulated to all participants for review and to gain agreement.
  • Review and formally present the results to project management, solution architect, the reference group (process owners) and the steering committee, in order to gain sign-off. The business must agree that the information is correctly documented and that the design meets all requirements
  • The official sign-offs for the activity diagrams should be obtained in writing and stored for future reference.
Roles and
Refer to the System Development Lifecycle (SDLC) Activity Diagram located in the HESC Information Systems Architecture (HISA) Lotus Notes Database under the Category "Project Life Cycle and Work Product Descriptions" in the section Overview topic 4. Activities.  
  Advice and Guidance The following advice and guidance was obtained from "Agile Modeling", By Scott Ambler, Copyrighted 2003-2005.
Place The Start Point In The Top-Left Corner
A start point is modeled with a filled in circle. Every UML 2 Activity Diagram should have a starting point, and placing it in the top-left corner reflects the way that people in Western cultures begin reading.
File:Activity Diagram Work Product Description 26.png

Always Include an Ending Point
An ending point is modeled with a filled in circle with a border around it, using the same notation that UML State Chart diagrams use.
Choosing the Appropriate Level of Detail
Thought needs to be given to the level of detail presented in the Activity Diagram. If great detail is needed, consider the possibility of separating it into multiple diagrams, or the use of sub-activities, to make it easier to understand.
An activity, on a UML Activity diagram typically represents the invocation of an operation, a step in a business process, or an entire business process.
Question "Black Hole" Activities
A black hole activity is one that has transitions into it but none out, typically indicating that you have either missed one or more transitions.

  Advice and Guidance continued… Question "Miracle" Activities
A miracle activity is one that has transitions out of it but none into it, something that should be true only of start points.
A guard is a condition that must be true in order to traverse a transition.
Each Transition Leaving a Decision Point Must Have a Guard
Guards Should Not Overlap
For example guards such as x <0, x = 0, and x > 0 are consistent whereas guard such as x <= 0 and x >= 0 are not consistent because they overlap – it isn’t clear what should happen when x is 0.
Guards on Decision Points Must Form a Complete Set
For example, guards such as x < 0 and x >0 are not complete because it isn’t clear what happens when x is 0.
Apply a [Otherwise] Guard for "Fall Through" Logic
Each decision point must define a complete set of actions. This
can include a guard labeled as "otherwise".

Parallel Activities
It is possible to show that activities can occur in parallel, as you see in the figure above this is depicted using two parallel bars. The first bar is called a fork, it has one transition entering it and two or more transitions leaving it. The second bar is a join, with two or more transitions entering it and only one leaving it.
A Fork Should Have a Corresponding Join
In general, for every start (fork) there is an end (join).
Forks Have One Entry Transition
Joins Have One Exit Transition
  Advice and Guidance continued… Swimlane Guidelines
A swimlane is a way to group actions, activities, or sub-activities performed by the same actor. HESC guidelines specify the use of horizontal swimlanes where the left-hand side of lane contains the name of actors (internal or external) involved in the design.
Order swimlanes in a logical manner.

Apply swimlanes to linear processes.

Have less than five swimlanes.

Consider swimlanes for complex diagrams.

The number of swimlanes or the complexity of their actions can sometimes suggest the need to reorganize into smaller activity diagrams.

Standard HESC Swimlanes include:
  • HESCWeb or HESCPub User (e.g. Registrant, Borrower, Student)
  • HESC Staff
  • WebSphere (i.e. Java) Application
  • CICS Application
  • COBOL Application
  • DataBase Subsystem
  • Content Management OnDemand Application
  • AFP2WEB Format and Presentation Component
  • Connect Mailbox Component
  • ASAP Security Authorization Component
  Advice and Guidance continued… Connectors
See the Tips and Techniques document for Activity Diagrams in HISA titled "How to make Page Connectors automatically link to the Starting Page".
  Reference Object Management Group, "UML 2.0 Superstructure Specification", ptc/03-08-02.
"Agile Modeling", By Scott Ambler, Copyrighted 2003-2005.
"UML 2 for Dummies", by Michael Jesse Chonoles and James A. Schardt, Copyright 2003.
"The Object Primer", by Scott W. Ambler, Copyright 2004.
  Estimating Considerations Completion of Activity Diagrams requires different amounts of work depending on the number of actors and the complexity of the application.  

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.