SlideShare a Scribd company logo
2
Most read
3
Most read
6
Most read
UML
Simmi S
Department of Computer Science(UG)
Kristu Jayanti College , Bangalore
UML
UML is a visual language that provides a way for software engineers
and developers to construct, document and visualize software systems.
While UML is not a programming language , it can provide visual
representations that help software developers better understand
potential outcomes or errors in programs.
Goals of UML
Since it is a general-purpose modeling language, it can be utilized by all the modelers.
UML came into existence after the introduction of object-oriented concepts to systemize and
consolidate the object-oriented development, due to the absence of standard methods at that time.
The UML diagrams are made for business users, developers, ordinary people, or anyone who is
looking forward to understand the system, such that the system can be software or non-software.
Thus it can be concluded that the UML is a simple modelling approach that is used to model all the
practical systems
Characteristics of UML
The UML has the following features:
It is a generalized modeling language.
It is distinct from other programming languages like C++, Python, etc.
It is interrelated to object-oriented analysis and design.
It is used to visualize the workflow of the system.
It is a pictorial language, used to generate powerful modelling artifacts.
Structure diagrams show the things in the modeled system. In a more
technical term, they show different objects in a system.
Behavioural diagrams show what should happen in a system. They describe
how the objects interact with each other to create a functioning system.
Class Diagram
Class diagrams are the main building block of any object-oriented solution.
It shows the classes in a system, attributes, and operations of each class and
the relationship between each class.
In most modeling tools, a class has three parts. Name at the top, attributes in
the middle and operations or methods at the bottom
Unified Modeling Language in Software Engineering
Use Case Diagram
As the most known diagram type of the behaviuoral UML types, Use case diagrams give
a graphic overview of the actors involved in a system, different functions needed by those
actors and how these different functions interact.
Use Case Diagram objects
Actor
Use case
System
Package
Use Case Diagram
Actor in a use case diagram is any entity that performs a role in one given system. This
could be a person, organization or an external system and usually drawn like skeleton
shown below.
A use case represents a function or an action within the system. It’s drawn as an oval and
named with the function.
The system is used to define the scope of the use case and drawn as a
rectangle.
This an optional element but useful when you’re visualizing large
systems. For example, you can create all the use cases and then use the
system object to define the scope covered by your project. Or you can
even use it to show the different areas covered in different releases.
Use Case Diagram
The package is another optional element that is extremely useful in
complex diagrams. Similar to class diagrams, packages are used to
group together use cases. They are drawn like the image shown below.
Relationships in Use Case Diagrams
There are five types of relationships in a use case diagram. They are
Association between an actor and a use case
Generalization of an actor
Extend relationship between two use cases
Include relationship
Generalization of a use case
How to Create a Use Case Diagram
Identifying Actors
Identifying Use Cases
Look for Common Functionality to Reuse
Is it Possible to Generalize Actors and Use Cases
Optional Functions or Additional Functions
Validate and Refine the Diagram
Identifying Actors
Actors are external entities that interact with your system. It can be a
person, another system or an organization. In a banking system,
the most obvious actor is the customer
Identifying Use Cases
A good way to do this is to identify what the actors need from the
system. In a banking system, a customer will need to open accounts,
deposit and withdraw funds, request check books and similar
functions. So all of these can be considered as use cases.
Look for Common Functionality to Use
‘Include’
Look for common functionality that can be reused across the system.
If you find two or more use cases that share common functionality you can
extract the common functions and add it to a separate use case.
Then you can connect it via the include relationship to show that it’s always
called when the original use case is executed. ( see the diagram for an
example ).
Is it Possible to Generalize Actors and Use
Cases
There may be instances where actors are associated with similar use cases
while triggering a few use cases unique only to them. In such instances, you
can generalize the actor to show the inheritance of functions. You can do a
similar thing for use case as well.
One of the best examples of this is “Make Payment” use case in a payment
system. You can further generalize it to “Pay by Credit Card”, “Pay by
Cash”, “Pay by Check” etc. All of them have the attributes and the
functionality of payment with special scenarios unique to them.
Optional Functions or Additional
Functions
There are some functions that are triggered optionally. In such cases,
you can use the extend relationship and attach an extension rule to it.
 In the below banking system example “Calculate Bonus” is optional
and only triggers when a certain condition is matched.
Extend doesn’t always mean it’s optional.
Use Case Diagram for Travel Agency
Use Case Diagram
Thank You

More Related Content

What's hot (20)

PPTX
Architecture business cycle
Himanshu
 
PPT
Parallel Computing
Ameya Waghmare
 
PPTX
Chapter 3 principles of hci
MLG College of Learning, Inc
 
PPTX
Google File System
guest2cb4689
 
PPTX
Introduction To Network Design
Steven Cahill
 
PPTX
Virtual machine
Rinaldo John
 
PDF
Virtualization in green computing
RAHUL SINHA
 
PDF
Client Server Architecture in Software engineering
pruthvi2898
 
PPTX
Ogsa ogsi-a more detailed view
Pooja Dixit
 
PPTX
Spatial databases
Dabbal Singh Mahara
 
PPTX
Cloud Service Models
Abhishek Pachisia
 
PPTX
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
PPT
Architecture design in software engineering
Preeti Mishra
 
PPT
Context Aware Computing
MOHIT DADU
 
PPTX
Cloud computing lecture 1
Md. Mashiur Rahman
 
PDF
Cloud computing Report
Virendra Ruhela
 
PPTX
IOT - Unit 3.pptx
PallaviPatil580306
 
PDF
The CAP Theorem
Aleksandar Bradic
 
PPSX
Key Challenges In CLOUD COMPUTING
Atul Chounde
 
Architecture business cycle
Himanshu
 
Parallel Computing
Ameya Waghmare
 
Chapter 3 principles of hci
MLG College of Learning, Inc
 
Google File System
guest2cb4689
 
Introduction To Network Design
Steven Cahill
 
Virtual machine
Rinaldo John
 
Virtualization in green computing
RAHUL SINHA
 
Client Server Architecture in Software engineering
pruthvi2898
 
Ogsa ogsi-a more detailed view
Pooja Dixit
 
Spatial databases
Dabbal Singh Mahara
 
Cloud Service Models
Abhishek Pachisia
 
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Architecture design in software engineering
Preeti Mishra
 
Context Aware Computing
MOHIT DADU
 
Cloud computing lecture 1
Md. Mashiur Rahman
 
Cloud computing Report
Virendra Ruhela
 
IOT - Unit 3.pptx
PallaviPatil580306
 
The CAP Theorem
Aleksandar Bradic
 
Key Challenges In CLOUD COMPUTING
Atul Chounde
 

Similar to Unified Modeling Language in Software Engineering (20)

PPTX
Lesson02_Use Case Diagrams
Marwa Ali Eissa
 
PPT
ASP.NET System design 2
Sisir Ghosh
 
PDF
Object-Oriented Analysis and Design report
ritikapoudel2017
 
PPTX
Uml
Vishwa Mohan
 
PDF
Software Engineering Tools and Practices.pdf
MeagGhn
 
PPTX
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
DOCX
UML Design
Debashis Biswas
 
PPT
UML
iQra Rafaqat
 
PDF
Design UML diagrams
Neeraj Kaushik
 
PDF
Design UML diagrams
Neeraj Kaushik
 
PPTX
Lab 3 Introduction to the UML - how to create a use case diagram
Farah Ahmed
 
PPTX
Uml
steffy D
 
PPTX
Use Case Analysis and Diagramming
Ornella Dunn
 
PPTX
Ch 2.1
mahammed rashid
 
PPTX
UML (Unified Modeling Language)
Nguyen Tuan
 
PPTX
Introduction.pptx
SENTHILR44
 
PPTX
Module 2 17CS45
sweetheartshridevi
 
PPT
Introduction to Rational Rose
Munaam Munawar
 
DOC
Use case diagrams
Mir Majid
 
PPTX
Use case diagram
City University
 
Lesson02_Use Case Diagrams
Marwa Ali Eissa
 
ASP.NET System design 2
Sisir Ghosh
 
Object-Oriented Analysis and Design report
ritikapoudel2017
 
Software Engineering Tools and Practices.pdf
MeagGhn
 
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
UML Design
Debashis Biswas
 
Design UML diagrams
Neeraj Kaushik
 
Design UML diagrams
Neeraj Kaushik
 
Lab 3 Introduction to the UML - how to create a use case diagram
Farah Ahmed
 
Use Case Analysis and Diagramming
Ornella Dunn
 
UML (Unified Modeling Language)
Nguyen Tuan
 
Introduction.pptx
SENTHILR44
 
Module 2 17CS45
sweetheartshridevi
 
Introduction to Rational Rose
Munaam Munawar
 
Use case diagrams
Mir Majid
 
Use case diagram
City University
 
Ad

More from simmis5 (11)

PPTX
Software reuse is the use of existing artifacts to build new software compone...
simmis5
 
PDF
JAVA SWING:Swing is a Java Foundation Classes [JFC] library and an extension ...
simmis5
 
PDF
The Concept of Abstract Window Took Kit In Java
simmis5
 
PDF
Java Programming :Event Handling(Types of Events)
simmis5
 
PDF
Software Engineering :Project Management
simmis5
 
PDF
The Concept Of Multithreading In Java Programming
simmis5
 
PDF
Conditional Statements & Loops
simmis5
 
PDF
STRING HANDLING FUNCTIONS.pdf
simmis5
 
PDF
Multiplexer.pdf
simmis5
 
PDF
Encoder_decoder_si.pdf
simmis5
 
PDF
c_algo_flowchart.pdf
simmis5
 
Software reuse is the use of existing artifacts to build new software compone...
simmis5
 
JAVA SWING:Swing is a Java Foundation Classes [JFC] library and an extension ...
simmis5
 
The Concept of Abstract Window Took Kit In Java
simmis5
 
Java Programming :Event Handling(Types of Events)
simmis5
 
Software Engineering :Project Management
simmis5
 
The Concept Of Multithreading In Java Programming
simmis5
 
Conditional Statements & Loops
simmis5
 
STRING HANDLING FUNCTIONS.pdf
simmis5
 
Multiplexer.pdf
simmis5
 
Encoder_decoder_si.pdf
simmis5
 
c_algo_flowchart.pdf
simmis5
 
Ad

Recently uploaded (20)

PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PPTX
Views on Education of Indian Thinkers Mahatma Gandhi.pptx
ShrutiMahanta1
 
PDF
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
PPTX
ROLE OF ANTIOXIDANT IN EYE HEALTH MANAGEMENT.pptx
Subham Panja
 
PPTX
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
PDF
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
PPTX
How to Define Translation to Custom Module And Add a new language in Odoo 18
Celine George
 
PPTX
Presentation: Climate Citizenship Digital Education
Karl Donert
 
PDF
The-Beginnings-of-Indian-Civilisation.pdf/6th class new ncert social/by k san...
Sandeep Swamy
 
PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
PDF
1, 2, 3… E MAIS UM CICLO CHEGA AO FIM!.pdf
Colégio Santa Teresinha
 
PPTX
Accounting Skills Paper-I, Preparation of Vouchers
Dr. Sushil Bansode
 
PPTX
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
PDF
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
PPTX
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
PPTX
How to Configure Lost Reasons in Odoo 18 CRM
Celine George
 
PPTX
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PDF
CEREBRAL PALSY: NURSING MANAGEMENT .pdf
PRADEEP ABOTHU
 
PPTX
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
PPTX
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
Views on Education of Indian Thinkers Mahatma Gandhi.pptx
ShrutiMahanta1
 
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
ROLE OF ANTIOXIDANT IN EYE HEALTH MANAGEMENT.pptx
Subham Panja
 
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
How to Define Translation to Custom Module And Add a new language in Odoo 18
Celine George
 
Presentation: Climate Citizenship Digital Education
Karl Donert
 
The-Beginnings-of-Indian-Civilisation.pdf/6th class new ncert social/by k san...
Sandeep Swamy
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
1, 2, 3… E MAIS UM CICLO CHEGA AO FIM!.pdf
Colégio Santa Teresinha
 
Accounting Skills Paper-I, Preparation of Vouchers
Dr. Sushil Bansode
 
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
How to Configure Lost Reasons in Odoo 18 CRM
Celine George
 
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
CEREBRAL PALSY: NURSING MANAGEMENT .pdf
PRADEEP ABOTHU
 
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
How to Configure Prepayments in Odoo 18 Sales
Celine George
 

Unified Modeling Language in Software Engineering

  • 1. UML Simmi S Department of Computer Science(UG) Kristu Jayanti College , Bangalore
  • 2. UML UML is a visual language that provides a way for software engineers and developers to construct, document and visualize software systems. While UML is not a programming language , it can provide visual representations that help software developers better understand potential outcomes or errors in programs.
  • 3. Goals of UML Since it is a general-purpose modeling language, it can be utilized by all the modelers. UML came into existence after the introduction of object-oriented concepts to systemize and consolidate the object-oriented development, due to the absence of standard methods at that time. The UML diagrams are made for business users, developers, ordinary people, or anyone who is looking forward to understand the system, such that the system can be software or non-software. Thus it can be concluded that the UML is a simple modelling approach that is used to model all the practical systems
  • 4. Characteristics of UML The UML has the following features: It is a generalized modeling language. It is distinct from other programming languages like C++, Python, etc. It is interrelated to object-oriented analysis and design. It is used to visualize the workflow of the system. It is a pictorial language, used to generate powerful modelling artifacts.
  • 5. Structure diagrams show the things in the modeled system. In a more technical term, they show different objects in a system. Behavioural diagrams show what should happen in a system. They describe how the objects interact with each other to create a functioning system.
  • 6. Class Diagram Class diagrams are the main building block of any object-oriented solution. It shows the classes in a system, attributes, and operations of each class and the relationship between each class. In most modeling tools, a class has three parts. Name at the top, attributes in the middle and operations or methods at the bottom
  • 8. Use Case Diagram As the most known diagram type of the behaviuoral UML types, Use case diagrams give a graphic overview of the actors involved in a system, different functions needed by those actors and how these different functions interact. Use Case Diagram objects Actor Use case System Package
  • 9. Use Case Diagram Actor in a use case diagram is any entity that performs a role in one given system. This could be a person, organization or an external system and usually drawn like skeleton shown below. A use case represents a function or an action within the system. It’s drawn as an oval and named with the function.
  • 10. The system is used to define the scope of the use case and drawn as a rectangle. This an optional element but useful when you’re visualizing large systems. For example, you can create all the use cases and then use the system object to define the scope covered by your project. Or you can even use it to show the different areas covered in different releases.
  • 11. Use Case Diagram The package is another optional element that is extremely useful in complex diagrams. Similar to class diagrams, packages are used to group together use cases. They are drawn like the image shown below.
  • 12. Relationships in Use Case Diagrams There are five types of relationships in a use case diagram. They are Association between an actor and a use case Generalization of an actor Extend relationship between two use cases Include relationship Generalization of a use case
  • 13. How to Create a Use Case Diagram Identifying Actors Identifying Use Cases Look for Common Functionality to Reuse Is it Possible to Generalize Actors and Use Cases Optional Functions or Additional Functions Validate and Refine the Diagram
  • 14. Identifying Actors Actors are external entities that interact with your system. It can be a person, another system or an organization. In a banking system, the most obvious actor is the customer
  • 15. Identifying Use Cases A good way to do this is to identify what the actors need from the system. In a banking system, a customer will need to open accounts, deposit and withdraw funds, request check books and similar functions. So all of these can be considered as use cases.
  • 16. Look for Common Functionality to Use ‘Include’ Look for common functionality that can be reused across the system. If you find two or more use cases that share common functionality you can extract the common functions and add it to a separate use case. Then you can connect it via the include relationship to show that it’s always called when the original use case is executed. ( see the diagram for an example ).
  • 17. Is it Possible to Generalize Actors and Use Cases There may be instances where actors are associated with similar use cases while triggering a few use cases unique only to them. In such instances, you can generalize the actor to show the inheritance of functions. You can do a similar thing for use case as well. One of the best examples of this is “Make Payment” use case in a payment system. You can further generalize it to “Pay by Credit Card”, “Pay by Cash”, “Pay by Check” etc. All of them have the attributes and the functionality of payment with special scenarios unique to them.
  • 18. Optional Functions or Additional Functions There are some functions that are triggered optionally. In such cases, you can use the extend relationship and attach an extension rule to it.  In the below banking system example “Calculate Bonus” is optional and only triggers when a certain condition is matched. Extend doesn’t always mean it’s optional.
  • 19. Use Case Diagram for Travel Agency