SDA Lab 4
SDA Lab 4
Lab: 4
UML
(Activity Diagram)
LAB No 4__________________________________________________04/05/2023
1. Objectives:
1. Initial State – The starting state before an activity takes place is depicted using the initial
state. Figure – notation for initial state or start 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 is the state of the system before the application is
event that takes place is represented using an activity. Figure – notation for
an activity state For example – Consider the previous example of opening an application
opening the application is an activity state in the activity diagram. Figure – activity state
symbol being used
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. Figure – notation for control Flow 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. Consider the example – Here both the states transit into one final state
using action flow symbols i.e. arrows.
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
4. Decision node and Branching – When we need to make a decision before deciding the flow of
control, we use the decision node. Figure – notation for 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. Figure – an activity diagram using decision node
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
5. Guards – A Guard refers to a statement written next to a decision node on an arrow sometimes
within square brackets. Figure – guards being used next to a decision node 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.
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
6. Fork – Fork nodes are used to support concurrent activities. Figure – fork notation 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. Figure – a diagram using fork
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
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. Figure – join notation
For example – When both activities i.e. steaming the milk and adding coffee get completed, we
converge them into one final activity. Figure – a diagram using join notation
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
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. Figure – merge notation 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.
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
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. Figure
– swimlanes notation We use a rectangular column to represent a swimlane as shown in the
figure above. For example – Here different set of activities are executed based on if the number
is odd or even. These activities are grouped into a swimlane. Figure – an activity diagram
making use of swimlanes
10. 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
4. Equipment’s:
Star UML
Edraw Max
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
Activity diagrams can be used to model business requirements, create a high-level view of a system’s
functionalities, analyze use cases and for various other purposes. In each of these cases, here’s how to
draw an activity diagram from the beginning.
Step 1: Figure out the action steps from the use case
Here you need to identify the various activities and actions your business process or system is made
up of.
Step 2: Identify the actors who are involved
If you already have figured out who the actors are, then it’s easier to discern each action they are
responsible for.
Step 3: Find a flow among the activities
Figure out in which order the actions are processed. Mark down the conditions that have to be met in
order to carry out certain processes, which actions occur at the same time and whether you need to
add any branches in the diagram. And do you have to complete some actions before you can proceed
to others?
Step 4: Add swimlanes
You have already figured out who is responsible for each action. Now it’s time to assign them a
swimlane and group each action they are responsible for under them.
Task 1: Model an activity diagram for the Use Case of a driver starting a car.
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
6. Observations:
[ Please write your observation after conducting this lab, you have to write in few lines, what did you
learn in this lab ]
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
AB LAB MANUAL SOFTWARE DESIGN AND ARCHITECTURE
1. Rubrics:
Absent Student is Student Student Student Student
unable to can has has perfectly
follow the understand followed constructe implemente
provided the instruction d the d a working
instructio provided s to functional/ model/
ns laboratory construct working logic/
properly. instruction the schematic/ circuit/
The s and fundament model/ block
student familiar al block diagram/
can name with the schematic/ diagram/ code and
Demonstratio the lab block code, and successfull
n hardware environme diagram/ have y executed
or nt (Trainer/ code/ successfull the lab
simulation software/ model on y executed objective in
platform, IDE), but the the Realtime or
but unable cannot protoboard program/ in a
to implement / trainer/ run circuit simulation
implemen on the simulation on environmen
t anything platform software. software t and
practically practically platform produced
or on the or on the the desired
software software results
Category Ungrade Very Poor Fair Good Excellent
d Poor
Percentage [0] [1-20] [21-40] [41-60] [61-80] [81-100]
Marks 0.0 0.1 0.2 0.3 0.4 0.5