際際滷

際際滷Share a Scribd company logo
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. Its 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 youre 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 its 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 doesnt always mean its optional.
Use Case Diagram for Travel Agency
Use Case Diagram
Thank You

More Related Content

Similar to Unified Modeling Language in Software Engineering (20)

Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
Neeraj Kaushik
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
Neeraj Kaushik
Lab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramLab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagram
Farah Ahmed
Uml
UmlUml
Uml
steffy D
Use Case Analysis and Diagramming
 Use Case Analysis and Diagramming Use Case Analysis and Diagramming
Use Case Analysis and Diagramming
Ornella Dunn
Ch 2.1
Ch 2.1Ch 2.1
Ch 2.1
mahammed rashid
UML (Unified Modeling Language)
UML (Unified Modeling Language)UML (Unified Modeling Language)
UML (Unified Modeling Language)
Nguyen Tuan
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
SENTHILR44
Module 2 17CS45
Module 2 17CS45Module 2 17CS45
Module 2 17CS45
sweetheartshridevi
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
Munaam Munawar
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
Mir Majid
Use case diagram
Use case diagramUse case diagram
Use case diagram
City University
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
Yaswanth Babu Gummadivelli
Uml diagrams usecase
Uml diagrams usecaseUml diagrams usecase
Uml diagrams usecase
SandhyaTatekalva
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
Ashita Agrawal
Learn sqa process
Learn sqa processLearn sqa process
Learn sqa process
Nusrat Jahan
Usecase
UsecaseUsecase
Usecase
ahmed zewita
Lecture#04, use case diagram
Lecture#04, use case diagramLecture#04, use case diagram
Lecture#04, use case diagram
babak danyal
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
Rahul Pola
R1x g02 enterprise architecture i
R1x g02 enterprise architecture iR1x g02 enterprise architecture i
R1x g02 enterprise architecture i
cairo university
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
Neeraj Kaushik
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
Neeraj Kaushik
Lab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramLab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagram
Farah Ahmed
Use Case Analysis and Diagramming
 Use Case Analysis and Diagramming Use Case Analysis and Diagramming
Use Case Analysis and Diagramming
Ornella Dunn
UML (Unified Modeling Language)
UML (Unified Modeling Language)UML (Unified Modeling Language)
UML (Unified Modeling Language)
Nguyen Tuan
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
SENTHILR44
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
Munaam Munawar
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
Mir Majid
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
Ashita Agrawal
Learn sqa process
Learn sqa processLearn sqa process
Learn sqa process
Nusrat Jahan
Lecture#04, use case diagram
Lecture#04, use case diagramLecture#04, use case diagram
Lecture#04, use case diagram
babak danyal
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
Rahul Pola
R1x g02 enterprise architecture i
R1x g02 enterprise architecture iR1x g02 enterprise architecture i
R1x g02 enterprise architecture i
cairo university

More from simmis5 (11)

Software reuse is the use of existing artifacts to build new software compone...
Software reuse is the use of existing artifacts to build new software compone...Software reuse is the use of existing artifacts to build new software compone...
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 ...
JAVA SWING:Swing is a Java Foundation Classes [JFC] library and an extension ...JAVA SWING:Swing is a Java Foundation Classes [JFC] library and an extension ...
JAVA SWING:Swing is a Java Foundation Classes [JFC] library and an extension ...
simmis5
The Concept of Abstract Window Took Kit In Java
The Concept of Abstract Window Took Kit In JavaThe Concept of Abstract Window Took Kit In Java
The Concept of Abstract Window Took Kit In Java
simmis5
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
simmis5
Software Engineering :Project Management
Software Engineering :Project ManagementSoftware Engineering :Project Management
Software Engineering :Project Management
simmis5
The Concept Of Multithreading In Java Programming
The Concept Of Multithreading In Java ProgrammingThe Concept Of Multithreading In Java Programming
The Concept Of Multithreading In Java Programming
simmis5
Conditional Statements & Loops
Conditional Statements & LoopsConditional Statements & Loops
Conditional Statements & Loops
simmis5
STRING HANDLING FUNCTIONS.pdf
STRING HANDLING FUNCTIONS.pdfSTRING HANDLING FUNCTIONS.pdf
STRING HANDLING FUNCTIONS.pdf
simmis5
Multiplexer.pdf
Multiplexer.pdfMultiplexer.pdf
Multiplexer.pdf
simmis5
Encoder_decoder_si.pdf
Encoder_decoder_si.pdfEncoder_decoder_si.pdf
Encoder_decoder_si.pdf
simmis5
c_algo_flowchart.pdf
c_algo_flowchart.pdfc_algo_flowchart.pdf
c_algo_flowchart.pdf
simmis5
Software reuse is the use of existing artifacts to build new software compone...
Software reuse is the use of existing artifacts to build new software compone...Software reuse is the use of existing artifacts to build new software compone...
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 ...
JAVA SWING:Swing is a Java Foundation Classes [JFC] library and an extension ...JAVA SWING:Swing is a Java Foundation Classes [JFC] library and an extension ...
JAVA SWING:Swing is a Java Foundation Classes [JFC] library and an extension ...
simmis5
The Concept of Abstract Window Took Kit In Java
The Concept of Abstract Window Took Kit In JavaThe Concept of Abstract Window Took Kit In Java
The Concept of Abstract Window Took Kit In Java
simmis5
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
simmis5
Software Engineering :Project Management
Software Engineering :Project ManagementSoftware Engineering :Project Management
Software Engineering :Project Management
simmis5
The Concept Of Multithreading In Java Programming
The Concept Of Multithreading In Java ProgrammingThe Concept Of Multithreading In Java Programming
The Concept Of Multithreading In Java Programming
simmis5
Conditional Statements & Loops
Conditional Statements & LoopsConditional Statements & Loops
Conditional Statements & Loops
simmis5
STRING HANDLING FUNCTIONS.pdf
STRING HANDLING FUNCTIONS.pdfSTRING HANDLING FUNCTIONS.pdf
STRING HANDLING FUNCTIONS.pdf
simmis5
Multiplexer.pdf
Multiplexer.pdfMultiplexer.pdf
Multiplexer.pdf
simmis5
Encoder_decoder_si.pdf
Encoder_decoder_si.pdfEncoder_decoder_si.pdf
Encoder_decoder_si.pdf
simmis5
c_algo_flowchart.pdf
c_algo_flowchart.pdfc_algo_flowchart.pdf
c_algo_flowchart.pdf
simmis5

Recently uploaded (20)

How to attach file using upload button Odoo 18
How to attach file using upload button Odoo 18How to attach file using upload button Odoo 18
How to attach file using upload button Odoo 18
Celine George
Information Technology for class X CBSE skill Subject
Information Technology for class X CBSE skill SubjectInformation Technology for class X CBSE skill Subject
Information Technology for class X CBSE skill Subject
VEENAKSHI PATHAK
Kaun TALHA quiz Prelims - El Dorado 2025
Kaun TALHA quiz Prelims - El Dorado 2025Kaun TALHA quiz Prelims - El Dorado 2025
Kaun TALHA quiz Prelims - El Dorado 2025
Conquiztadors- the Quiz Society of Sri Venkateswara College
TPR Data strategy 2025 (1).pdf Data strategy
TPR Data strategy 2025 (1).pdf Data strategyTPR Data strategy 2025 (1).pdf Data strategy
TPR Data strategy 2025 (1).pdf Data strategy
Henry Tapper
Mate, a short story by Kate Grenvile.pptx
Mate, a short story by Kate Grenvile.pptxMate, a short story by Kate Grenvile.pptx
Mate, a short story by Kate Grenvile.pptx
Liny Jenifer
Eng7-Q4-Lesson 1 Part 1 Understanding Discipline-Specific Words, Voice, and T...
Eng7-Q4-Lesson 1 Part 1 Understanding Discipline-Specific Words, Voice, and T...Eng7-Q4-Lesson 1 Part 1 Understanding Discipline-Specific Words, Voice, and T...
Eng7-Q4-Lesson 1 Part 1 Understanding Discipline-Specific Words, Voice, and T...
sandynavergas1
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷sHow to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
Celine George
Storytelling instructions...............
Storytelling instructions...............Storytelling instructions...............
Storytelling instructions...............
Alexander Benito
APM People Interest Network Conference - Oliver Randall & David Bovis - Own Y...
APM People Interest Network Conference - Oliver Randall & David Bovis - Own Y...APM People Interest Network Conference - Oliver Randall & David Bovis - Own Y...
APM People Interest Network Conference - Oliver Randall & David Bovis - Own Y...
Association for Project Management
Research & Research Methods: Basic Concepts and Types.pptx
Research & Research Methods: Basic Concepts and Types.pptxResearch & Research Methods: Basic Concepts and Types.pptx
Research & Research Methods: Basic Concepts and Types.pptx
Dr. Sarita Anand
A PPT Presentation on The Princess and the God: A tale of ancient India by A...
A PPT Presentation on The Princess and the God: A tale of ancient India  by A...A PPT Presentation on The Princess and the God: A tale of ancient India  by A...
A PPT Presentation on The Princess and the God: A tale of ancient India by A...
Beena E S
DUBLIN PROGRAM DUBLIN PROGRAM DUBLIN PROGRAM
DUBLIN PROGRAM DUBLIN PROGRAM DUBLIN PROGRAMDUBLIN PROGRAM DUBLIN PROGRAM DUBLIN PROGRAM
DUBLIN PROGRAM DUBLIN PROGRAM DUBLIN PROGRAM
vlckovar
TLE 7 - 2nd Topic - Codes and Standards in Industrial Arts Services.pptx
TLE 7 - 2nd Topic - Codes and Standards in Industrial Arts Services.pptxTLE 7 - 2nd Topic - Codes and Standards in Industrial Arts Services.pptx
TLE 7 - 2nd Topic - Codes and Standards in Industrial Arts Services.pptx
RizaBedayo
APM People Interest Network Conference - Tim Lyons - The neurological levels ...
APM People Interest Network Conference - Tim Lyons - The neurological levels ...APM People Interest Network Conference - Tim Lyons - The neurological levels ...
APM People Interest Network Conference - Tim Lyons - The neurological levels ...
Association for Project Management
How to Modify Existing Web Pages in Odoo 18
How to Modify Existing Web Pages in Odoo 18How to Modify Existing Web Pages in Odoo 18
How to Modify Existing Web Pages in Odoo 18
Celine George
N.C. DPI's 2023 Language Diversity Briefing
N.C. DPI's 2023 Language Diversity BriefingN.C. DPI's 2023 Language Diversity Briefing
N.C. DPI's 2023 Language Diversity Briefing
Mebane Rash
Principle and Practices of Animal Breeding || Boby Basnet
Principle and Practices of Animal Breeding || Boby BasnetPrinciple and Practices of Animal Breeding || Boby Basnet
Principle and Practices of Animal Breeding || Boby Basnet
Boby Basnet
Rass MELAI : an Internet MELA Quiz Prelims - El Dorado 2025
Rass MELAI : an Internet MELA Quiz Prelims - El Dorado 2025Rass MELAI : an Internet MELA Quiz Prelims - El Dorado 2025
Rass MELAI : an Internet MELA Quiz Prelims - El Dorado 2025
Conquiztadors- the Quiz Society of Sri Venkateswara College
How to Configure Flexible Working Schedule in Odoo 18 Employee
How to Configure Flexible Working Schedule in Odoo 18 EmployeeHow to Configure Flexible Working Schedule in Odoo 18 Employee
How to Configure Flexible Working Schedule in Odoo 18 Employee
Celine George
How to use Init Hooks in Odoo 18 - Odoo 際際滷s
How to use Init Hooks in Odoo 18 - Odoo 際際滷sHow to use Init Hooks in Odoo 18 - Odoo 際際滷s
How to use Init Hooks in Odoo 18 - Odoo 際際滷s
Celine George
How to attach file using upload button Odoo 18
How to attach file using upload button Odoo 18How to attach file using upload button Odoo 18
How to attach file using upload button Odoo 18
Celine George
Information Technology for class X CBSE skill Subject
Information Technology for class X CBSE skill SubjectInformation Technology for class X CBSE skill Subject
Information Technology for class X CBSE skill Subject
VEENAKSHI PATHAK
TPR Data strategy 2025 (1).pdf Data strategy
TPR Data strategy 2025 (1).pdf Data strategyTPR Data strategy 2025 (1).pdf Data strategy
TPR Data strategy 2025 (1).pdf Data strategy
Henry Tapper
Mate, a short story by Kate Grenvile.pptx
Mate, a short story by Kate Grenvile.pptxMate, a short story by Kate Grenvile.pptx
Mate, a short story by Kate Grenvile.pptx
Liny Jenifer
Eng7-Q4-Lesson 1 Part 1 Understanding Discipline-Specific Words, Voice, and T...
Eng7-Q4-Lesson 1 Part 1 Understanding Discipline-Specific Words, Voice, and T...Eng7-Q4-Lesson 1 Part 1 Understanding Discipline-Specific Words, Voice, and T...
Eng7-Q4-Lesson 1 Part 1 Understanding Discipline-Specific Words, Voice, and T...
sandynavergas1
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷sHow to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
Celine George
Storytelling instructions...............
Storytelling instructions...............Storytelling instructions...............
Storytelling instructions...............
Alexander Benito
APM People Interest Network Conference - Oliver Randall & David Bovis - Own Y...
APM People Interest Network Conference - Oliver Randall & David Bovis - Own Y...APM People Interest Network Conference - Oliver Randall & David Bovis - Own Y...
APM People Interest Network Conference - Oliver Randall & David Bovis - Own Y...
Association for Project Management
Research & Research Methods: Basic Concepts and Types.pptx
Research & Research Methods: Basic Concepts and Types.pptxResearch & Research Methods: Basic Concepts and Types.pptx
Research & Research Methods: Basic Concepts and Types.pptx
Dr. Sarita Anand
A PPT Presentation on The Princess and the God: A tale of ancient India by A...
A PPT Presentation on The Princess and the God: A tale of ancient India  by A...A PPT Presentation on The Princess and the God: A tale of ancient India  by A...
A PPT Presentation on The Princess and the God: A tale of ancient India by A...
Beena E S
DUBLIN PROGRAM DUBLIN PROGRAM DUBLIN PROGRAM
DUBLIN PROGRAM DUBLIN PROGRAM DUBLIN PROGRAMDUBLIN PROGRAM DUBLIN PROGRAM DUBLIN PROGRAM
DUBLIN PROGRAM DUBLIN PROGRAM DUBLIN PROGRAM
vlckovar
TLE 7 - 2nd Topic - Codes and Standards in Industrial Arts Services.pptx
TLE 7 - 2nd Topic - Codes and Standards in Industrial Arts Services.pptxTLE 7 - 2nd Topic - Codes and Standards in Industrial Arts Services.pptx
TLE 7 - 2nd Topic - Codes and Standards in Industrial Arts Services.pptx
RizaBedayo
APM People Interest Network Conference - Tim Lyons - The neurological levels ...
APM People Interest Network Conference - Tim Lyons - The neurological levels ...APM People Interest Network Conference - Tim Lyons - The neurological levels ...
APM People Interest Network Conference - Tim Lyons - The neurological levels ...
Association for Project Management
How to Modify Existing Web Pages in Odoo 18
How to Modify Existing Web Pages in Odoo 18How to Modify Existing Web Pages in Odoo 18
How to Modify Existing Web Pages in Odoo 18
Celine George
N.C. DPI's 2023 Language Diversity Briefing
N.C. DPI's 2023 Language Diversity BriefingN.C. DPI's 2023 Language Diversity Briefing
N.C. DPI's 2023 Language Diversity Briefing
Mebane Rash
Principle and Practices of Animal Breeding || Boby Basnet
Principle and Practices of Animal Breeding || Boby BasnetPrinciple and Practices of Animal Breeding || Boby Basnet
Principle and Practices of Animal Breeding || Boby Basnet
Boby Basnet
How to Configure Flexible Working Schedule in Odoo 18 Employee
How to Configure Flexible Working Schedule in Odoo 18 EmployeeHow to Configure Flexible Working Schedule in Odoo 18 Employee
How to Configure Flexible Working Schedule in Odoo 18 Employee
Celine George
How to use Init Hooks in Odoo 18 - Odoo 際際滷s
How to use Init Hooks in Odoo 18 - Odoo 際際滷sHow to use Init Hooks in Odoo 18 - Odoo 際際滷s
How to use Init Hooks in Odoo 18 - Odoo 際際滷s
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. Its 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 youre 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 its 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 doesnt always mean its optional.
  • 19. Use Case Diagram for Travel Agency