CSE347
Information System Analysis and Design
Nishat Tasnim Niloy
Lecturer
Department of Computer Science and Engineering
Faculty of Science and Engineering
Topic: 6
Activity Diagram
2
Activity Diagram
• Activity diagrams describe the workflow behavior of a system.
• Activity diagrams are used in process modeling and analysis of during
requirements engineering.
• A typical business process which synchronizes several external incoming
events can be represented by activity diagrams.
• They are most useful for understanding workflow analysis of
synchronous behaviors across a process.
3
Activity Diagram
• The diagrams describe the state of activities by showing the
sequence of activities performed.
• It helps to show activities that are conditional or parallel.
• Activity diagrams are used for-
• Documenting existing process
• Analyzing new process concepts
• Finding reengineering opportunities.
4
Activity Diagram Concepts
• An activity is trigged by one or more events and activity may result
in one or more events that may trigger other activity or processes.
• Events start from start symbol and end with finish marker having
activities in between connected by events.
• The activity diagram represents the decisions, iterations and
parallel/random behavior of the processing.
5
Components
• An activity is an ongoing, though interruptible, execution of a step
in a workflow (such as an operation or transaction)
• Represented with a rounded rectangle.
• Text in the activity box should represent an activity (verb phrase in present
tense).
• An event is triggered by an activity. It specifies a significant
occurrence that has a location in time and space.
• An instance of an event (trigger) results in the flow from one activity to
another.
• These are represented by directed straight lines emerging from triggering
activity and ending at activity to be triggered. Label text for events should
represent event but not the data involved.
6
Components
• A decision may be shown by labeling multiple output transitions of
an activity with different guard conditions.
• For convenience a stereotype is provided for a decision: the traditional
diamond shape, with one or more incoming arrows and with two or more
outgoing arrows, each labeled by a distinct guard condition with no event
trigger.
7
How to Draw an Activity Diagram
• Diagrams are read from top to bottom and have branches and forks
to describe conditions and parallel activities.
• A fork is used when multiple activities are occurring at the same
time.
• A branch describes what activities will take place based on a set of
conditions.
• All branches at some point are followed by a merge to indicate the
end of the conditional behavior started by that branch.
• After the merge all of the parallel activities must be combined by a
join before transitioning into the final activity state.
8
Use Case
Fixing
Appointment
Sales Person Taking Preparation
for Appointment
Conducting
Appointment
Corporate
Providing follow-up Technician
Consultant
Confirming proposal
9
Activity Diagram
Example
The activity diagram example
below describes the business
process for meeting a new client
10
Activity Diagram
Example
The activity diagram example
below describes the business
process for meeting a new
client using an activity
Diagram with swimlane.
11
Activity Diagram Notation Summary
Notation Description UML Notation
Activity is used to represent a set of actions
Action is a task to be performed
Control Flow shows the sequence of execution
Object Flow shows the flow of an object from one activity (or action)
to another activity (or action).
Initial Node portrays the beginning of a set of actions or activities
Activity Final Node stops all control flows and object flows in an
activity (or action)
Object Node represents an object that is connected to a set of Object Flows 12
Activity Diagram Notation Summary
Notation Description UML Notation
Decision Node represents a test condition to ensure that the control flow or
object flow only goes down one path
Merge Node brings back together different decision paths that were created
using a decision-node.
Fork Node splits behavior into a set of parallel or concurrent flows of activities
(or actions)
Join Node brings back together a set of parallel or concurrent flows of
activities (or actions).
Swimlane and Partition is a way to group activities performed by the same
actor on an activity diagram or to group activities in a single thread
13
Advantages
• Complex stage or steps in a software system can be explained easily
diagrammatically.
• Dynamic modeling of a software system.
• Business processes and flows can be depicted easily.
• The understanding of system requirements is explained in a lucid
and simple manner.
• The workflow of the user and the system and user with the system
is explained in detail.
14
Disadvantages
• The only drawback is the UML Activity Diagram is the messages or
the communications between two components, or the user cannot
be shown.
15
Example 1
A user wants to send a text message to his friend using a messaging
app “WhatsDown”. User needs to log in to the software in order to do
so. They need to select to whom they want to send the message first.
Afterwards, they gets to write the desired text. They may attach any
additional info to the message, such as- image, audio, video or any file
within 20 mb.
They may edit the message within 50 seconds. User may delete the
message anytime they want.
16
Example 2
In a snake game, a snake eats a food to get a point and increases
length by one unit. After eating 5 foods it gets a bonus to eat. If it eats
the bonus, it receives 10-point bonus, and the size of the snake
reduces just as the first appearance. If it cannot eat the bonus within
10 seconds, the bonus disappears, and a virus appears within the
premises. After another 20 seconds the virus also disappears.
The snake would be dead if it touches its tails or any virus.
17