0% found this document useful (0 votes)
14 views95 pages

UNIT3-Deep - Process Design and Modelling

The document discusses Business Analysis and Enterprise Systems with a focus on Unified Modeling Language (UML) for software design. It covers the importance of modeling, benefits of UML, and various types of UML diagrams including use case, class, and sequence diagrams. Additionally, it highlights the role of UML in enhancing communication, understanding, and documentation in software development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views95 pages

UNIT3-Deep - Process Design and Modelling

The document discusses Business Analysis and Enterprise Systems with a focus on Unified Modeling Language (UML) for software design. It covers the importance of modeling, benefits of UML, and various types of UML diagrams including use case, class, and sequence diagrams. Additionally, it highlights the role of UML in enhancing communication, understanding, and documentation in software development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 95

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

You might also like