0% found this document useful (0 votes)
19 views8 pages

Lab 4

sepm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views8 pages

Lab 4

sepm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

IU2141230108 S.E.P.

M (CS0601) 6CSEB2

PRACTICAL -04
Aim: Draw an Activity diagram for the selected application.(Online Shopping Website)

Activity Diagrams

An activity diagram is a type of Unified Modelling Language (UML) flowchart that shows the flow
from one activity to another in a system or process. It's used to describe the different dynamic aspects
of a system and is referred to as a 'behaviour diagram' because it describes what should happen in the
modelled system.

Activity Diagram Notations

In activity diagrams, the notations are like visual symbols that help represent different elements and actions in a
simple way.

2.1. Initial State


The starting state before an activity takes place is depicted using the initial state.
A process can have only one initial state unless we are depicting nested
activities. We use a black filled circle to depict the initial state of a
system. For objects, this is the state when they are instantiated. The Initial
State from the UML Activity Diagram marks the entry point and the
initial Activity State
For example:
Here the initial state of the system before the application is opened.

Page 1 of 8
IU2141230108 S.E.P.M (CS0601) 6CSEB2

2.2. Action or Activity State


An activity represents execution of an action on objects or by objects.
We represent an activity using a rectangle with rounded corners.
Basically any action or event that takes place is represented using an
activity.
For example: Consider the previous example of opening an
application, opening the application is an activity state in the activity
diagram.

2.3. Action Flow or Control flows


Action flows or Control flows are also referred
to as paths and edges. They are used to show the
transition from one activity state to another
activity state.

An activity state can have multiple incoming and


outgoing action flows. We use a line with an arrow
head to depict a Control Flow. If there is a
constraint to be adhered to while making the
transition it is mentioned on the arrow.
For example: Here both the states transit into one final state using action flow symbols i.e. arrows.

2.4. Decision node and Branching


When we need to make a decision before deciding the flow of control, we use the decision node. The outgoing
arrows from the decision node can be labelled with conditions or guard expressions. It always includes two or
more output arrows.
For example: We apply the conditions on input number to display the result :
 If number is odd then display the number.
 If number if even then display the error.

Page 2 of 8
IU2141230108 S.E.P.M (CS0601) 6CSEB2

2.5. Guard
A Guard refers to a statement written next to a decision node on an arrow sometimes within square brackets.
The statement must be true for the control to shift along a particular direction. Guards help us know the
constraints and conditions which determine the flow of a process.
2.6. Fork
Fork nodes are used to support concurrent activities. When we use a fork node when both the activities get
executed concurrently i.e. no decision is made before splitting the activity into two parts. Both parts need to be
executed in case of a fork statement. We use a rounded solid rectangular bar to represent a Fork notation with
incoming arrow from the parent activity state and outgoing arrows towards the newly created activities.
For example:
In the example below, the activity of making coffee can be split into two concurrent activities and hence we use
the fork notation.

2.7. Join
Join nodes are used to support concurrent activities converging into one. For join notations we have two or
more incoming edges and one outgoing edge.
For example:

Page 3 of 8
IU2141230108 S.E.P.M (CS0601) 6CSEB2

When both activities i.e. steaming the milk and adding coffee get completed, we converge them into one final
activity.

2.8. Merge or Merge Event


Scenarios arise when activities which are not being executed concurrently have to be merged. We use the merge
notation for such scenarios. We can merge two or more activities into one if the control proceeds onto the next
activity irrespective of the path chosen.
For example:
In the diagram below: we can’t have both sides executing concurrently, but they finally merge into one. A
number can’t be both odd and even at the same time.

2.9. Swimlanes
We use Swimlanes for grouping related activities in one column. Swimlanes group related activities into one
column or one row. Swimlanes can be vertical and horizontal. Swimlanes are used to add modularity to the
activity diagram. It is not mandatory to use swimlanes. They usually give more clarity to the activity diagram.
It’s similar to creating a function in a program. It’s not mandatory to do so, but, it is a recommended practice.
We use a rectangular column to represent a swimlane as shown in the figure above.
For example:

Page 4 of 8
IU2141230108 S.E.P.M (CS0601) 6CSEB2

Here different set of activities are executed based on if the number is odd or even. These activities are grouped
into a swimlane.

2.10. Time Event


This refers to an event that stops the flow for a time; an hourglass depicts it. We can have a scenario where an
event takes some time to completed.
For example:
Let us assume that the processing of an image takes a lot of time. Then it can be represented as shown below.

2.11. Final State or End State


The state which the system reaches when a particular process or activity ends is known as a Final State or End
State. We use a filled circle within a circle notation to represent the final state in a state machine diagram. A
system or a process can have multiple final states.
What are Activity Diagrams used for?
Activity diagrams are used in software development and system design to model and visualize the dynamic
aspects of a system. Here are some common uses of activity diagrams:

Page 5 of 8
IU2141230108 S.E.P.M (CS0601) 6CSEB2

 Dynamic modelling of the system or a process.


 Illustrate the various steps involved in a UML use case.
 Model software elements like methods, operations and functions.
 We can use Activity diagrams to depict concurrent activities easily.
 Show the constraints, conditions and logic behind algorithms.
 During the requirements analysis phase, activity diagrams assist in capturing and documenting the
dynamic aspects of user interactions.

Page 6 of 8
IU2141230108 S.E.P.M (CS0601) 6CSEB2

Signature of Faculty: __________ Date: ________

Page 7 of 8
IU2141230108 S.E.P.M (CS0601) 6CSEB2

Page 8 of 8

You might also like