An activity diagram is similar to a business workflow diagram (or BPMN) or a simple flowchart, with richer semantics. It describes the system activities, or the people doing the activities, and the sequential flow of these activities. Activity diagrams are one of the UML diagrams related to object-oriented methods, through which they can be used in any other software development paradigm.
Activity diagrams describe the flow of control from one activity to another, describing the sequence of activities, and the activities indicate the actions and states of the things being processed. The perspective of the activity diagram is the interaction between different activities of the objects in the system, and the interaction between activities allows a better understanding of the problem.
The Elements of an Activity Diagram
- Activities are described as verb-object phrases, activities are represented by rounded rectangles, and the control flow between activities is represented by solid arrows.
- Activities represent actions in the process, and activities can be large or small, and activities can continue to be decomposed into smaller activities.
- The granularity of activities is determined by the meaning of the diagram to be expressed, whether it is intended to represent a broad process or a specific process.
Starting and ending points
- Activity graphs can have only one starting point, but can have multiple endpoints.
- The diamond represents the branch decision, which is the same as the branch decision of flowchart.
Fork and Join
- Fork and Join must be used in combination to represent concurrent actions.
- Fork indicates that one activity completes to produce multiple subsequent parallel activities; convergence indicates that multiple activities all complete before proceeding to the next activity.
- A fork is an activity that points to multiple points, and a join is an activity that results from the convergence of multiple points.
- The activities between fork and join are executed in parallel, and After the final execution of all unified reunion into the next activity.
- An object is represented by a rectangular box and the name of the object is a noun called object node. Activities can have multiple inputs and outputs, and an object can be an input that becomes an activity called object flow.
- The activity in the swimlane represents the action to which this actor belongs. The information interaction between the role (actor or department) and the activity can be better expressed by the information interaction across the swimlanes.
The following example describes a business flow activity of order processing. In the Figure below, the requested order is input parameter of the activity. After order is accepted and all required information is filled in, payment is accepted and order is shipped.
Example – Activity Diagram – Business Proposal Process
Activity diagrams can also be used to described the roles and areas of responsibilities in the business – in other words who is responsible for doing what in the business. Roles and areas of responsibilities are documented as columns (UML swimlanes) in the activity diagram. Swimlanes show which business workers participate in the realization of the workflow
This activity diagram documenting how the business performs a Proposal process, with three areas of responsibilities (Customer Sales Interface, Proposal Owner, and Quote Owner)
More Class Diagram examples:
Example 1: Article Submission Process
Example 2: Multidimensional Swimlanes
UML 2.0 extends this partitioning capability to multiple dimensions for activity diagrams and provides additional notation, so that individual actions can be labeled with the name of the partition to which they belong.
The diagram below shows an example of multidimensional swimlanes as they would appear according to UML 2.0, where actions are grouped according to location and responsibility.
Activity Diagram Example and Templates