Nyanza campus
Module: Introduction to Software Engineering
Lecturer: Dr. Taiwo Adigun Email:
taiwofisayo2002@gmail.com
Lecture 5: Modelling Requirements
Fundamentals of Software Engineering
Outline:
Introduction to Modelling
UML: Categories and Diagrams
Fundamentals of Software Engineering
Specific Objectives:
By the end of this lesson, you should be able:
Explain requirement modeling
Describe UML diagrams
Requirement Modeling
Modelling
Modelling is an essential task in any software project,
especially big projects
• A model is an abstraction of an aspect of an existing or
proposed system
• They can be used to present a layman description of different
aspects of the system
• The models are created before the Implementation (coding)
phase starting from Requirements phase till Detailed Design
• They are used for verifying that all the requirements are
present and correctly modelled.
• Also used in the Verification and Validation phase
Requirement Modeling
Uses of Modeling
Models for user: (logical model) for user capabilities, characteristics, and product
perspectives
• Showing:
– The requirements that the system should implement
– An external view on the system
Models for design: (physical model)
• Showing:
– The architecture of the system
– The distribution of system processes and their synchronization
– The physical components and the redistribution of the software
components and the (physical) hardware components.
UML Methods for Requirements Modeling
UML, which stands for Unified Modeling Language, is a way to visually
represent the architecture, design, and implementation of complex software
systems.
UML is a standardized general-purpose modelling language in the field of
software engineering. The standard is managed, and was created by the
Object Management Group (OMG).
UML includes a set of graphical notation techniques to create visual models
of software-intensive systems.
UML diagrams can help engineering teams to:
i. Bring new team members or developers switching teams up to speed quickly.
ii. Navigate source code.
iii. Plan out new features before any programming takes place.
iv. Communicate with technical and non-technical audiences more easily.
v. It can also used by the validation and verification team
UML is linked with object-oriented design and analysis.
Types of UML Diagrams
UML standards identify 14 types of diagrams that are divided into
two groups, namely;
1. Structural UML diagrams: Structural UML diagrams, as the name
would suggest, show how the system is structured, including the classes,
objects, packages, components, etc. in the system and the relationships
between those elements. They are:
i. Class diagram
ii. Component diagram
iii. Deployment diagram
iv. Composite structure diagram
v. Object diagram
vi. Package diagram
vii. Profile diagram
Types of UML Diagrams
2. Behavioral UML diagrams: These UML diagrams
visualize how the system behaves and interacts with itself and
with users, other systems, and other entities.
i. Use case diagram
ii. Sequence diagram
iii. Timing diagram
iv. Interaction overview diagram
v. Communication diagram
vi. Activity diagram
vii. State diagram
Types of UML Diagrams
Types of UML Diagrams – Class Diagram
Class Diagram shows the static structure of a system, including classes,
their attributes and behaviors, and the relationships between each class.
Types of UML Diagrams – Component diagram
A component diagram is
essentially a more
specialized version of the
class diagram—the same
notation rules apply for
both.
A component diagram
breaks a complex system
down into smaller
components and
visualizes the relationship
between those
components.
Types of UML Diagrams – Deployment diagram
Deployment diagrams show how software is deployed on hardware
components in a system.
These diagrams are most useful for systems engineers, and they usually
show performance, scalability, maintainability, and portability.
Types of UML Diagrams – Composite structure diagram
Composite structure
diagrams to
represent the
internal structure of
a class and its
interaction points
with other parts of
the system.
They are similar to
class diagrams
except they
represent individual
parts in detail as
compared to the
entire class.
Types of UML Diagrams – Object diagrams
Object diagrams
show examples of
data structures at a
specific time.
You could use a
class diagram to
show a structure
and then use object
diagrams as test
cases to verify the
completeness of
your class diagram.
An object diagram is
similar to a class
diagram except it
shows the instances
of classes in the
system.
Types of UML Diagrams – Package diagram
Package diagrams are used to show dependencies between different
packages in a system.
A package, depicted as a file folder, organizes model elements, such as
use cases or classes, into groups.
Types of UML Diagrams – Use case diagram
This type of UML
diagram is a high-
level overview of the
relationships
between actors and
systems, so it can be
a great tool for
explaining your
system to a non-
technical audience.
The purpose of a use
case diagram in UML
is to demonstrate
the different ways
that a user might
interact with a
system.
Types of UML Diagrams – Sequence diagram
A sequence diagram, sometimes referred to as an event
diagram or an event scenario.
It represents a sequence of steps to achieve a use case
goal can be described in several ways.
It shows the order in which objects interact.
A sequence diagram simply depicts interaction between
objects in a sequential order i.e. the order in which these
interactions take place.
Sequence diagram is a variant of the universal Interaction
diagrams. Other variants are Communication Diagrams,
Interaction Overview Diagrams, and Timing Diagrams
Types of UML Diagrams – Sequence diagram
Types of UML Diagrams – Activity diagram
Activity Diagrams to
illustrate the flow of
control in a system.
We can also use an
activity diagram to refer
to the steps involved in
the execution of a use
case.
We model sequential
and concurrent
activities using activity
diagrams.
An activity diagram
focuses on condition of
flow and the sequence
in which it happens.
Types of UML Diagrams – State diagram
This UML diagram can visualize all possible states and the way the object
transitions from one state to the next.
A state diagram describes ALL the possible states that an object can have, the
events under which an object changes state (transitions), and the conditions
that must be fulfilled before the transition will occur (guards).
It is also referred to as a State machine diagram, State chart diagram or State
transition diagram.
Tools for creating UML Diagrams
Some popular UML diagram creating tools:
1. Draw.io
2. Lucidchart
3. Visual Paradigm
4. StarUML
5. Edraw Max
6. Gliffy
7. Cacoo
Thank
s