Business Analysis and Enterprise Systems–2025
Business Analysis and Enterprise Systems
Dr. NTEZIRIZA NKERABAHIZI Josbert
▪ Ph.D. in Computer Science and Technology
▪ Postdoctoral Candidate
Emails : [email protected]
[email protected]
Fall-2025-Dr. Josbert UK
Unified Modeling Language
(UML)
Deep Process Design and
Modelling
Fall-2025-Dr. Josbert UK
Topic coved
▪ What is modeling?
▪ What is UML and why we use UML?
▪ How to use UML diagrams to design
software system?
▪ What UML Modeling tools we use
today?
Fall-2025-Dr. Josbert UK
Introduction
▪ In today's world of complex software development,
effective communication and precise documentation
are essential to ensure that systems are designed,
built, and maintained efficiently.
▪ The Unified Modeling Language (UML) provides
a standardized visual language for modeling
the structure, behavior, and interactions within
a software system.
Fall-2025-Dr. Josbert UK
Introduction
▪ Developed in the mid-1990s, UML has become a
universally accepted approach for representing
various aspects of object-oriented software design.
▪ In this chapter , we will explore the different types of
UML diagrams, including class diagrams, use
case diagrams, sequence diagrams, and more,
providing practical examples of how they are
used to represent and communicate design
decisions.
Fall-2025-Dr. Josbert UK
Introduction
▪ Whether you are working on a small
application or a large/medium
enterprise system, UML helps to ensure
clarity, consistency, and precision in the
design and development process.
Fall-2025-Dr. Josbert UK
What is modeling
⚫ Modeling is the process of creating visual
representations of a system's structure,
behavior, and interactions.
⚫ These models serve as blueprints (design
plans), helping developers understand,
communicate, and design complex
systems more effectively.
Fall-2025-Dr. Josbert UK
Benefits of Modeling
⚫ Improved Communication: Models provide a
shared language for developers, stakeholders, and
end-users to discuss and understand the system.
⚫ Enhanced Understanding: Visual representations
can help developers understand complex systems
more easily.
Fall-2025-Dr. Josbert UK
Benefits of Modeling
⚫ Error Detection: Identifying issues in the
design phase can save time and resources later
in development.
Fog server is missing
Fall-2025-Dr. Josbert UK
Benefits of Modeling
⚫ Better Documentation: Models serve as
valuable documentation for future
maintenance and enhancements.
⚫ Facilitated Code Generation: Some
modeling tools can automatically
generate code from models, reducing
manual effort.
Fall-2025-Dr. Josbert UK
Key Types of Models
⚫ Data Models:
▪ Describe the structure of data within a system.
▪ Common examples include Entity-Relationship
(ER) diagrams and UML class diagrams.
▪ Help in designing databases and data
structures.
Fall-2025-Dr. Josbert UK
Key Types of Models
⚫ Process Models:
▪ Represent the flow of activities and decisions
within a system.
▪ Common examples include flowcharts, activity
diagrams, and sequence diagrams.
▪ Help in understanding the system's workflow
and business logic.
Fall-2025-Dr. Josbert UK
Key Types of Models
⚫ Behavioral Models:
▪ Show how a system interacts with its
environment and responds to events.
▪ Common examples include state diagrams
and use case diagrams.
▪ Help in designing user interfaces and
system behavior.
Fall-2025-Dr. Josbert UK
Popular Modeling Tools
⚫ UML: A standard language for modeling
object-oriented systems.
⚫ Enterprise Architecture Framework (EAF): A
framework for modeling and managing
enterprise-wide systems.
⚫ Computer-Aided Software Engineering
(CASE) Tools: Software applications that
support various modeling activities.
Fall-2025-Dr. Josbert UK
What is UML and Why we use UML?
⚫ UML language also called unified modeling
language allows us to graphically
represent the structures, behaviors and
interactions of software systems.
⚫ UML is not dependent on any one language
or technology.
Fall-2025-Dr. Josbert UK
What is UML and Why we use UML?
⚫ More description about UML:
➢ It is an industry-standard graphical language for
specifying, visualizing, constructing, and
documenting of software systems.
➢ The UML uses mostly graphical notations to express
the OO analysis and design of software projects.
➢ Simplifies the complex process of software
design.
Fall-2025-Dr. Josbert UK
UML diagrams
⚫ Structure diagrams: They represents all the
components of the system and they are:
1. Class Diagram: It shows the classes in a system,
attributes, and operations of each class and the
relationship between each class.
2. Component Diagram: It displays the structural
relationship of components of a software system.
3. Deployment Diagram: this diagram shows us all the
component that the system will need in the
deployment.
Fall-2025-Dr. Josbert UK
UML diagrams
4. Object Diagram: it’s looks like the instance of a
class diagram and it show how the system will look at a
given time.
5. Package Diagram: A package diagram shows the
dependencies between different package in a system.
6. Profile Diagram: It’s introduced in UML2 as a new
diagram and it represent all the data of a component.
7. Composite Structure diagram: Used to show the
internal structure of a class.
Fall-2025-Dr. Josbert UK
UML diagrams
• Behavior diagrams: It represent how the
system will interact with the user:
1. Use Case Diagram: it represents all the scenarios
that can happen between the user and the system.
2. Activity Diagram: flow chart that modeling the
movement (flow) from one activity to another
activity.
3. State Machine Diagram: it shows the behavior of
systems and actions.
4. Sequence Diagram: shows how objects interact with
each other.
Fall-2025-Dr. Josbert UK
UML diagrams
5. Communication Diagram: it’s similar to sequence
diagram but this one is more focused in the message
between the objects.
6. Interactive Overview Diagram: it shows a
sequence of interacts diagrams.
7. Timing Diagram: It represent the same thing with
the sequence Diagram, the behavior of an object in a
frame of time.
All these diagrams are not always used so we will
represent briefly the most commonly used in the
following part.
Fall-2025-Dr. Josbert UK
Most commonly used UML diagrams to
design software system
⚫ Use Case Diagram
⚫ Class Diagram
⚫ Sequence Diagram
⚫ Collaboration Diagram
⚫ State Diagram
⚫ Activity Diagrams
⚫ Physical Diagrams: deployment and
components diagrams
Fall-2025-Dr. Josbert UK
Use Case Diagram
• This diagram represents all the scenario
that a user can do with the system.
• Actor: it represents the user of the system.
• Use case: A set of scenarios between the
actor and the system.
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
Boundary Use Case
Actor Library System
Borrow Employee
Client
Order Title
Fine Remittance
Supervisor
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
Boundary Use Case
Actor Library System
Borrow Employee
Client
Order Title
Fine Remittance
Supervisor
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
1. Actors: Actors are external entities that interact
with the system.
⚫ These can include users, other systems, or
hardware devices.
⚫ In the context of a Use Case Diagram, actors
initiate use cases and receive the outcomes.
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
2. Use cases :Use cases are like scenes in the play.
⚫ They represent specific things your system can
do.
⚫ In the online shopping system, examples of use
cases could be “Place Order,” “Track Delivery,” or
“Update Product Information”.
⚫ Use cases are represented by ovals.
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
3. System Boundary:
⚫ The system boundary is a visual representation
of the scope or limits of the system you are
modeling.
⚫ The system boundary is typically represented by
a rectangular box that backgrounds all the use
cases of the system.
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
4. Use Case Diagram Relationship:
⚫ Relationships play a crucial role in showing the
interactions between actors and use cases.
⚫ A. Association Relationship
The Association Relationship represents a
communication or interaction between an actor
and a use case.
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
A. Association Relationship
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
B. Include Relationship
The Include Relationship indicates that a use
case includes the functionality of another use
case.
It is denoted by a dashed arrow pointing from
the including use case to the included use case.
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
B. Include Relationship
Example: Social Media Posting
The “Compose Post” use case includes the functionality
of “Add Image.” Therefore, composing a post
includes the action of adding an image.
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Use-Case Diagrams
C. Extend Relationship
The Extend Relationship illustrates that a
use case can be extended by another use
case under specific conditions.
It is represented by a dashed arrow with the
keyword “extend.”
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
Example: Flight Booking System
⚫ Use Cases: Book Flight, Select Seat
⚫ Extend Relationship: The “Select Seat” use case
may extend the “Book Flight” use case when the
user wants to choose a specific seat, but it is an
optional step.
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Use-Case Diagrams
D. Generalization Relationship
⚫ The Generalization Relationship establishes
an “is-a” connection between two use cases,
indicating that one use case is a specialized
version of another.
⚫ It is represented by an arrow pointing
from the specialized use case to the
general use case.
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
D. Generalization Relationship
Example: Vehicle Rental System.
⚫ Use Cases: Rent Car, Rent Bike
⚫ Generalization Relationship: Both “Rent Car” and
“Rent Bike” are specialized versions of the general
use case “Rent Vehicle.”
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
⚫ Below is the use case diagram of an Online Shopping
System:
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
Example: Simple
database system.
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
owner
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
Clinic
⚫ Both Make Appointment
and Request Medication
include Check Patient
Record as a subtask
(include)
⚫ The extension point is
written inside the base
case Pay bill; the
extending class Defer
payment adds the
behavior of this extension
point. (extend)
Cashier
⚫ Pay Bill is a parent use
case and Bill Insurance is
the child use case.
(generalization)
(TogetherSoft, Inc)
Fall-2025-Dr. Josbert UK
Use-Case Diagrams
Clinic
Cashier
Fall-2025-Dr. Josbert UK
Class diagram
⚫ A class diagram is a visual tool that
represents the structure of a system by
showing its classes, attributes, methods,
and the relationships between them.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ What is a class?
⚫ In object-oriented programming (OOP), a class
is a design plan or template for creating
objects.
⚫ Objects are instances of classes, and each class
defines a set of attributes (data members)
and methods (functions or procedures) that
the objects created from that class will possess.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ UML Class Notation:
⚫ Class notation is a graphical representation used
to represent classes and their relationships in
object-oriented modeling.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ UML Class Notation:
1. Class Name:
⚫ The name of the class is typically written in
the top chamber of the class box and is
centered and bold.
2. Attributes:
⚫ Attributes, also known as properties or fields,
represent the data members of the class.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ UML Class Notation
3. Methods: Methods, also known as
functions or operations, represent the
behavior or functionality of the class.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ UML Class Notation
3. Visibility Notation:
Visibility notations indicate the access level of attributes
and methods.
Common visibility notations include:
+ for public (visible to all classes)
- for private (visible only within the class)
# for protected (visible to subclasses)
~ for package or default visibility (visible to classes
in the same package)
Fall-2025-Dr. Josbert UK
Class diagram
Parameter Directionality:
In class diagrams, parameter directionality refers to
the indication of the flow of information between
classes through method parameters.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes:
In class diagrams, relationships between
classes describe how classes are connected
or interact with each other within a system.
Here are some common types of relationships in
class diagrams:
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
1. Association:
An association represents a bi-directional
relationship between two classes. It indicates
that instances of one class are connected to
instances of another class.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
1. Association
Let’s consider a simple system for managing a library. In this
system, we have two main entities: Book and Library.
Each Library contains multiple Books, and each Book
belongs to a specific Library. This relationship between
Library and Book represents an association.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
2. Directed Association:
A directed association in a UML class diagram represents a
relationship between two classes where the association
has a direction, indicating that one class is associated
with another in a specific way.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
3. Generalization(Inheritance):
Inheritance represents an “is-a” relationship
between classes, where one class (the
subclass or child) inherits the properties
and behaviors of another class (the
superclass or parent).
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
3. Generalization(Inheritance)
In the example of bank accounts, we can use
generalization to represent different types of accounts such
as current accounts, savings accounts, and credit
accounts.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
3. Generalization(Inheritance)
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Class diagram
⚫ Relationships between classes
4. Aggregation
Aggregation is a specialized form of association that
represents a “whole-part” relationship. It denotes a stronger
relationship where one class (the whole) contains or is
composed of another class (the part).
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Class diagram
⚫ Relationships between classes
4. Aggregation
Example:
The company can be considered as the whole, while
the employees are the parts. Employees belong to the
company, and the company can have multiple employees.
However, if the
company stops to
exist, the employees
can still exist
independently.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
5. Composition:
Composition is a stronger form of aggregation,
indicating a more significant ownership or
dependency relationship. In composition, the
part class cannot exist independently without
the whole class.
Composition is represented by a filled diamond
shape on the side of the whole class.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
5. Composition:
Example:
• Imagine a digital contact book application. The
contact book is the whole, and each contact
entry is a part.
• Each contact entry is fully owned and managed by
the contact book.
• If the contact book is deleted or destroyed, all
associated contact entries are also removed.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
5. Composition
Example:
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Class diagram
⚫ Relationships between classes
6. Dependency Relationship:
A dependency exists between two classes when
one class relies on another, but the
relationship is not as strong as association
or inheritance.
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Relationships between classes
6. Dependency Relationship
Example:
The Person class depends on the Book class because it
requires access to a book to read its content. However,
the Book class does not depend on the Person class; it
can exist independently and does not rely on the Person
class for its functionality.
A library system
Fall-2025-Dr. Josbert UK
Class diagram
Fall-2025-Dr. Josbert UK
Class diagram
⚫ Example of a class diagram for a Banking System
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Class diagram
⚫ Example of a class diagram for a Hospital Management
System
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Class diagram
* 4
Student Course
has joins
Class Student {
Course joins[4];
}
Class Course {
Student have[];
}
Association: Model to Implementation
Fall-2025-Dr. Josbert UK
Sequence Diagram
⚫ A Sequence Diagram is used to visualize
the interaction between objects in a
sequential order. It focuses on how
objects communicate with each other
over time.
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Sequence Diagrams – Object Life Spans
⚫ Creation:
A
➢ Create message
➢ Object life starts at that point.
Create
B
⚫ Activation:
➢ Symbolized by rectangular
lines.
➢ Place on the lifeline where
object is activated.
Activation bar
X
Return
⚫ Deletion: Deletion
➢ Placing an ‘X’ on lifeline Lifeline
➢ Object’s life ends at that point
Fall-2025-Dr. Josbert UK
Sequence Diagram
Fall-2025-Dr. Josbert UK
Sequence Diagram
Fall-2025-Dr. Josbert UK
Sequence Diagram
A sequence diagram for checking an account balance
Fall-2024-Dr. Josbert UNES Ruhengeri
Collaboration diagrams
⚫ Collaboration diagrams are equivalent
to sequence diagrams.
⚫ All the characteristics of sequence diagrams
are equally applicable to collaboration
diagrams.
⚫ Use a collaboration diagram when
focusing on the classes.
Fall-2025-Dr. Josbert UK
Collaboration diagrams
⚫ Let's understand collaboration diagram using
the example of Job Recruitment System.
Fall-2025-Dr. Josbert UK
Collaboration diagrams
⚫ Let's understand collaboration diagram using the
example of checking balance for Online Banking
System.
Fall-2025-Dr. Josbert UK
State diagrams
⚫ State diagrams are used to describe/report
the behavior/performance of a system.
Start End
Unpaid Paid
Invoice created paying Invoice destroying
Fall-2025-Dr. Josbert UK
State diagrams
⚫ Let’s understand State Machine diagram with
the help of an example, for an online order :
Fall-2024-Dr. Josbert UNES Ruhengeri
State diagrams
Traffic signal Start
control Traffic Light
system State
Transition Red Yell
ow
timer e
r
rips senso xp
ires
Yellow G
ree
n time
t
ar
C
Green
r
ex
pires
Event
Fall-2025-Dr. Josbert UK
State diagrams
Login System
try again
No
Yes
Event
Fall-2025-Dr. Josbert UK
Activity diagrams
⚫ Activity diagrams are similar to information
flowcharts because they show the flows
between actions in an activity.
⚫ That help visualize workflows, processes, or
activities within a system.
⚫ They illustrate how different actions are
connected and how a system moves from
one state to another.
Fall-2025-Dr. Josbert UK
Activity diagrams
⚫ Example 1: User Login System
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Example 2: User Login System
Activity diagrams
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Example 2: User Login System
Example 3:
Activity diagram
Activity diagrams for a banking
system
Fall-2025-Dr. Josbert UNES Ruhengeri
UK
Physical Diagrams
⚫ Physical diagrams illustrate the physical
components of a system, such as hardware,
networks, or infrastructure.
⚫ Example: Client-server model.
Fall-2025-Dr. Josbert UNES Ruhengeri
Physical Diagrams
⚫ Physical diagrams are used when
development of the system is
complete.
Fall-2025-Dr. Josbert UK
Physical Diagrams
⚫ There are two types of physical diagrams:
deployment diagrams and component
diagrams.
⚫ Deployment diagrams: show the physical
relationship between hardware and software
in a system.
⚫ Component diagrams show the software
components of a system and how they are
related to each other.
Fall-2025-Dr. Josbert UK
Deployment diagram
⚫ The deployment diagram contains nodes
and connections.
⚫ A node usually represents a piece of
hardware in the system.
⚫ A connection shows the communication
path used by the hardware to
communicate and usually indicates a
method such as TCP/IP.
Fall-2025-Dr. Josbert UK
Deployment diagram
.
The diagram
shows two
nodes which
represent two
machines
communicating
through TCP/IP.
Fall-2025-Dr. Josbert UK
Deployment diagram
.
Fall-2025-Dr. Josbert UK
Deployment
diagram
Deployment diagram
.
Fall-2024-Dr. Josbert UNES Ruhengeri
Component diagram
⚫ Component diagrams: show the
software components of a system and
how they are related to each other.
⚫ These relationships are called
dependencies.
Fall-2025-Dr. Josbert UK
Component diagram
Component2 is
dependent on
component1, so
changes to
component1 could
affect component2.
The diagram also
represents
component3
interfacing with
component1.
Fall-2025-Dr. Josbert UK
Component diagram
Fall-2025-Dr. Josbert UK
Component diagram
Fall-2024-Dr. Josbert UNES Ruhengeri
Conclusion
⚫ UML is a standardized specification language for object
modeling
⚫ Several UML diagrams:
➢ use-case diagram: a number of use cases (use case
models the interaction between actors and software)
➢ Class diagram: a model of classes showing the static
relationships among them including association and
generalization.
➢ Sequence diagram: shows the way objects interact with
one another as messages are passed between them.
➢ State diagram: shows states, events that cause transitions
between states. Another dynamic model reflecting the
behavior of objects and how they react to specific event
Fall-2025-Dr. Josbert UK
Individual Assignment/10
Fall-2025 UK