SlideShare a Scribd company logo
1 of 43
Download to read offline
Duration: 3 Hrs
1
Ramakant Soni
Assistant Professor
Dept. of Computer Science
B K Birla Institute of Engineering & Technology, Pilani,
India
Ramakant Soni @ BKBIET Pilani
 Use case diagrams are used to visualize,
specify, construct, and document the
(intended) behavior of the system, during
requirements capture and analysis.
2
 Provide a way for developers, domain experts
and end-users to Communicate.
 Serve as basis for testing.
 Use case diagrams contain use cases, actors,
and their relationships.
Ramakant Soni @ BKBIET Pilani
 Use cases specify desired behavior.
 A use case is a description of a set of
name
3
 A use case is a description of a set of
sequences of actions, including variants,
a system performs to yield an observable
result of value to an actor.
 Each sequence represent an interaction
of actors with the system.
Ramakant Soni @ BKBIET Pilani
 Describing the flow of events within the use
case.
 Can be done in natural language, formal
4
 Can be done in natural language, formal
language or pseudo-code.
 Includes: how and when the use case starts
and ends; when the use case interacts with
actors and what objects are exchanged; the
basic flow and alternative flows of the
behavior.
Ramakant Soni @ BKBIET Pilani
 An actor represents a set of roles that users
of use case play when interacting with
these use cases.
 Actors can be human or automated
name
5
 Actors can be human or automated
systems.
 Actors are entities which require help from
the system to perform their task or are
needed to execute the system’s functions.
 Actors are not part of the system.
Ramakant Soni @ BKBIET Pilani
 From the perspective of a given actor, a
use case does something that is of value
to the actor, such as calculate a result or
change the state of an object.
6
change the state of an object.
 The Actors define the environments in
which the system lives
Ramakant Soni @ BKBIET Pilani
registration
7
student
updating
grades
output
generating
faculty
Ramakant Soni @ BKBIET Pilani
1. Generalization - use cases that are
specialized versions of other use cases.
2. Include - use cases that are included as
8
2. Include - use cases that are included as
parts of other use cases. Enable to factor
common behavior.
3. Extend - use cases that extend the
behavior of other core use cases. Enable
to factor variants.
Ramakant Soni @ BKBIET Pilani
 The child use case inherits the
behavior and meaning of the
parent use case.
parent
9
parent use case.
 The child may add to or
override the behavior of its parent.
child
Ramakant Soni @ BKBIET Pilani
registration
10
graduate
registration
non-graduate
registration
Ramakant Soni @ BKBIET Pilani
 The base use case explicitly incorporates
the behavior of another use case at a
location specified in the base.
base included<<include>>
11
location specified in the base.
 The included use case never stands
alone. It only occurs as a part of some
larger base that includes it.
Ramakant Soni @ BKBIET Pilani
 Enables to avoid describing the same
flow of events several times by putting
the common behavior in a use case of
its own.
12
its own.
updating
grades
output
generating
verifying
student id
<<include>>
<<include>>
Ramakant Soni @ BKBIET Pilani
Ramakant Soni @ BKBIET Pilani 13
 The base use case implicitly incorporates
the behavior of another use case at
certain points called extension points.
base extending<<extend>>
14
certain points called extension points.
 The base use case may stand alone, but
under certain conditions its behavior
may be extended by the behavior of
another use case.
Ramakant Soni @ BKBIET Pilani
 Enables to model optional behavior or
branching under conditions.
15
Exam copy
request
Exam-grade
appeal
<<extend>>
Ramakant Soni @ BKBIET Pilani
Ramakant Soni @ BKBIET Pilani 16
 Generalization.
student
17
student
non-graduate
student
graduate
student
Ramakant Soni @ BKBIET Pilani
 Actors may be connected to use cases
by associations, indicating that the actor
and the use case communicate with
one another using messages.
18
one another using messages.
updating
grades
faculty
Ramakant Soni @ BKBIET Pilani
place
phone call
cellular
place
conference
call
<<extend>>
19
cellular
network
user
receive
phone call
receive
additional
call
use
scheduler
<<extend>>
Cellular Telephone
Ramakant Soni @ BKBIET Pilani
20Ramakant Soni @ BKBIET Pilani
Each use case may include all or part of the following:
 Title or Reference Name - meaningful name of the UC
 Author/Date - the author and creation date
 Modification/Date - last modification and its date
 Purpose - specifies the goal to be achieved
 Overview - short description of the processes
21
 Overview - short description of the processes
 Cross References - requirements references
 Actors - agents participating
 Pre Conditions - must be true to allow execution
 Post Conditions - will be set when completes normally
 Normal flow of events - regular flow of activities
 Alternative flow of events - other flow of activities
 Exceptional flow of events - unusual situations
 Implementation issues - foreseen implementation problems
 Use Case: Withdraw Money
 Author: RS
 Date: 19-Nov-2014
 Purpose: To withdraw some cash from user’s bank account
Overview: The use case starts when the customer inserts his
22
 Overview: The use case starts when the customer inserts his
credit card into the system. The system requests the user PIN. The
system validates the PIN. If the validation succeeded, the
customer can choose the withdraw operation else alternative 1
– validation failure is executed. The customer enters the amount
of cash to withdraw. The system checks the amount of cash in
the user account, its credit limit. If the withdraw amount in the
range between the current amount + credit limit the system
dispense the cash and prints a withdraw receipt, else alternative
2 – amount exceeded is executed.
 Cross References: R1.1, R1.2, R7
Ramakant Soni @ BKBIET Pilani
 Actors: Customer
 Pre Condition:
› The ATM must be in a state ready to accept transactions
› The ATM must have at least some cash on hand that it can
dispense
› The ATM must have enough paper to print a receipt for at
23
› The ATM must have enough paper to print a receipt for at
least one transaction
 Post Condition:
› The current amount of cash in the user account is the
amount before the withdraw minus the withdraw amount
› A receipt was printed on the withdraw amount
› The withdraw transaction was audit in the System log file
Ramakant Soni @ BKBIET Pilani
 Typical Course of events:
Actor Actions System Actions
1. Begins when a Customer arrives at ATM
2. Customer inserts a Credit card into ATM 3. System verifies the customer ID and status
5. Customer chooses “Withdraw” operation 4. System asks for an operation type
24
5. Customer chooses “Withdraw” operation 4. System asks for an operation type
7. Customer enters the cash amount 6. System asks for the withdraw amount
8. System checks if withdraw amount is legal
9. System dispenses the cash
10. System deduces the withdraw amount from
account
11. System prints a receipt
13. Customer takes the cash and the receipt 12. System ejects the cash card
Ramakant Soni @ BKBIET Pilani
 Alternative flow of events:
› Step 3: Customer authorization failed. Display an
error message, cancel the transaction and eject the
card.
› Step 8: Customer has insufficient funds in its account.
25
› Step 8: Customer has insufficient funds in its account.
Display an error message, and go to step 6.
› Step 8: Customer exceeds its legal amount. Display
an error message, and go to step 6.
 Exceptional flow of events:
› Power failure in the process of the transaction before
step 9, cancel the transaction and eject the card
Ramakant Soni @ BKBIET Pilani
 One method to identify use cases is actor-based:
- Identify the actors related to a system or organization.
- For each actor, identify the processes they initiate or participate in.
 A second method to identify use cases is event-based:
- Identify the external events that a system must respond to.
- Relate the events to actors and use cases.
 The following questions may be used to help identify the use
26
 The following questions may be used to help identify the use
cases for a system:
- What are tasks of each actor ?
- Will any actor create, store, change, remove, or read information in the
system ?
- What use cases will create, store, change, remove, or read this
information ?
- Will any actor need to inform the system about sudden, external changes
?
- Does any actor need to be informed about certain occurrences in the
system ?
- Can all functional requirements be performed by the use cases ?
Ramakant Soni @ BKBIET Pilani
 The “things” that “live” inside the system
are responsible for carrying out the
behavior the actors on the outside
expect the system to provide.
27
expect the system to provide.
 To implement a use case, we create a
society of classes that work together to
carry out the behavior of the use case.
Ramakant Soni @ BKBIET Pilani
Ramakant Soni @ BKBIET Pilani 28
Controller
Water Pump
Hot Water
Water Valve
Home
Temp Sensor
*
29
Fuel Valve
90
80
70
60
50
On
Off
Burner
Fuel
Temp Sensor
Control Panel
Ramakant Soni @ BKBIET Pilani
Power Up
Home Heating
Home Owner
MH
Power Down
Change Temp.
30Ramakant Soni @ BKBIET Pilani
Use case : Power Up
Actors : Home Owner (initiator)
Type: Primary and essential
Description: The Home Owner turns the power on. Each room is temperature
checked. If a room is below the the desired temperature the valve for
the room is opened, the water pump started. If the water temp fallsthe room is opened, the water pump started. If the water temp falls
below threshold, the fuel valve is opened, and the burner ignited. If the
temperature in all rooms is above the desired temperature, no actions
are taken.
Cross Ref.: Requirements XX, YY, and ZZ
Use-Cases: None
31Ramakant Soni @ BKBIET Pilani
Power Up
Power Down
Home Heating
Adjust Temp
Temp. High
«includes»
«includes»
Home Owner
MH
Change Temp.
Adjust Temp
Temp. Low
«includes»
«includes»
32Ramakant Soni @ BKBIET Pilani
Use case : Power Up
Actors : Home Owner (initiator)
Type : Primary and essential
Description : The Home Owner turns the power on.
Perform Adjust Temp. If the temperature in all rooms is
above the desired temperature, no actions are taken.
*
above the desired temperature, no actions are taken.
Cross Ref : Requirements XX, YY, and ZZ
Use-Cases : Perform Adjust Temp
33Ramakant Soni @ BKBIET Pilani
Ramakant Soni @ BKBIET Pilani 34
Credits : Scott W. Amber
Ramakant Soni @ BKBIET Pilani 35
Credits : Scott W. Amber
Example: Online shopping.
Ramakant Soni @ BKBIET Pilani 36
1.Place Your Primary Actor(S) In The Top-Left Corner Of The Diagram
2.Draw Actors To The Outside Of A Use Case Diagram
3.Name Actors With Singular, Business-Relevant Nouns
4.Associate Each Actor With One Or More Use Cases
5.Actors Model Roles, Not Positions
6.Use <<system>> to Indicate System Actors
7.Actors Don’t Interact With One Another
8.Introduce an Actor Called "Time" to Initiate Scheduled Events
Relationships
There are several types of relationships that may appear on a use case diagram:
•An association between an actor and a use case
•An association between two use cases
•A generalization between two actors
•A generalization between two use cases
Ramakant Soni @ BKBIET Pilani 37
Enrolling students in a university
A library lends books to borrowers, who are registered in a
membership file. A borrower can reserve a book that is not
currently available in the library. In a file of books the loaning
or reservation of a book will be kept up to date. The librarian
is an employee of the library who interacts with the
customers (borrowers).
Ramakant Soni @ BKBIET Pilani 38
o Design a simple library system for borrowing and returning
books. The file of books and the membership file may be
considered as actors.
o Describe one use case by means of a use case text.
Propose a use case diagram for an
ATM machine for withdrawing cash.
Make the use case simple yet
informative; only include the major
features.
Ramakant Soni @ BKBIET Pilani 39
features.
Ramakant Soni @ BKBIET Pilani 40
Propose a use case diagram for a
vending machine that sells beverages
and snacks. Make use of inclusion and
extension associations, mark
multiplicities and remember that a
Ramakant Soni @ BKBIET Pilani 41
multiplicities and remember that a
vending machine may need technical
assistance from time to time.
Ramakant Soni @ BKBIET Pilani 42
References:
[1] http://www.uml-diagrams.org/
[2] http://www.wikipedia.com/UML%diagrams
Ramakant Soni @ BKBIET Pilani 4343

More Related Content

What's hot

Software requirements specification
Software  requirements specificationSoftware  requirements specification
Software requirements specification
Krishnasai Gudavalli
 
Mini project report_on_online_shopping
Mini project report_on_online_shoppingMini project report_on_online_shopping
Mini project report_on_online_shopping
Sandeep Bittu
 
Student information-system-project-outline
Student information-system-project-outlineStudent information-system-project-outline
Student information-system-project-outline
Amit Panwar
 
L7 decision tree & table
L7 decision tree & tableL7 decision tree & table
L7 decision tree & table
Neha Gupta
 

What's hot (20)

E recipe-managment
E recipe-managmentE recipe-managment
E recipe-managment
 
Online Shopping System [SE]
Online Shopping System  [SE]Online Shopping System  [SE]
Online Shopping System [SE]
 
Use case-diagrams
Use case-diagramsUse case-diagrams
Use case-diagrams
 
Online furniture
Online furnitureOnline furniture
Online furniture
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Online shopping
Online shoppingOnline shopping
Online shopping
 
Software requirements specification
Software  requirements specificationSoftware  requirements specification
Software requirements specification
 
Mini project report_on_online_shopping
Mini project report_on_online_shoppingMini project report_on_online_shopping
Mini project report_on_online_shopping
 
Student information-system-project-outline
Student information-system-project-outlineStudent information-system-project-outline
Student information-system-project-outline
 
Srs group 4 v5 - esmart shopping
Srs group 4  v5 - esmart shoppingSrs group 4  v5 - esmart shopping
Srs group 4 v5 - esmart shopping
 
[[Srs]] online shopping website for TYBSC IT
[[Srs]] online shopping website for TYBSC IT[[Srs]] online shopping website for TYBSC IT
[[Srs]] online shopping website for TYBSC IT
 
Online shopping cart system file
Online shopping cart system fileOnline shopping cart system file
Online shopping cart system file
 
Report of Student management system
Report of Student management systemReport of Student management system
Report of Student management system
 
Mobile store management
Mobile store management Mobile store management
Mobile store management
 
Library Management System Waterfall Model
Library Management System Waterfall ModelLibrary Management System Waterfall Model
Library Management System Waterfall Model
 
Super marketbillingsystemproject
Super marketbillingsystemprojectSuper marketbillingsystemproject
Super marketbillingsystemproject
 
Onlineshopping
OnlineshoppingOnlineshopping
Onlineshopping
 
E commerce use case documentation.
E commerce use case documentation.E commerce use case documentation.
E commerce use case documentation.
 
E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)E-commerce (System Analysis and Design)
E-commerce (System Analysis and Design)
 
L7 decision tree & table
L7 decision tree & tableL7 decision tree & table
L7 decision tree & table
 

Viewers also liked

Ch 5 O O Data Modeling Class
Ch 5  O O  Data Modeling ClassCh 5  O O  Data Modeling Class
Ch 5 O O Data Modeling Class
guest8fdbdd
 
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Theo Pratama
 

Viewers also liked (20)

Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
 
Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2Use Case diagram-UML diagram-2
Use Case diagram-UML diagram-2
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
What is Algorithm - An Overview
What is Algorithm - An OverviewWhat is Algorithm - An Overview
What is Algorithm - An Overview
 
The basics of mobile payments
The basics of mobile paymentsThe basics of mobile payments
The basics of mobile payments
 
Class diagram- UML diagram
Class diagram- UML diagramClass diagram- UML diagram
Class diagram- UML diagram
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Introduction Mobile Payment 20/11/2012
Introduction Mobile Payment 20/11/2012Introduction Mobile Payment 20/11/2012
Introduction Mobile Payment 20/11/2012
 
Mobile money options to facilitate payment of incentives in Senegal’s RBF pro...
Mobile money options to facilitate payment of incentives in Senegal’s RBF pro...Mobile money options to facilitate payment of incentives in Senegal’s RBF pro...
Mobile money options to facilitate payment of incentives in Senegal’s RBF pro...
 
Chapter04
Chapter04Chapter04
Chapter04
 
Ajax 101 Workshop
Ajax 101 WorkshopAjax 101 Workshop
Ajax 101 Workshop
 
Chapter05
Chapter05Chapter05
Chapter05
 
Chapter06
Chapter06Chapter06
Chapter06
 
Ch 5 O O Data Modeling Class
Ch 5  O O  Data Modeling ClassCh 5  O O  Data Modeling Class
Ch 5 O O Data Modeling Class
 
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
 
Uml report
Uml reportUml report
Uml report
 
Online shopping
Online shoppingOnline shopping
Online shopping
 
Lecture07
Lecture07Lecture07
Lecture07
 

Similar to Use Case diagram-UML diagram-1

Protectourwater.ie SRS
Protectourwater.ie SRSProtectourwater.ie SRS
Protectourwater.ie SRS
Killian Vigna
 
Design Implementation ProposalDesign Implementation Proposal.docx
Design Implementation ProposalDesign Implementation Proposal.docxDesign Implementation ProposalDesign Implementation Proposal.docx
Design Implementation ProposalDesign Implementation Proposal.docx
theodorelove43763
 
Information_Technology_Planning_comp_1647
Information_Technology_Planning_comp_1647Information_Technology_Planning_comp_1647
Information_Technology_Planning_comp_1647
Aung Zay Ya
 
Software Requirements ElicitationRequirements specify a set of f.docx
Software Requirements ElicitationRequirements specify a set of f.docxSoftware Requirements ElicitationRequirements specify a set of f.docx
Software Requirements ElicitationRequirements specify a set of f.docx
whitneyleman54422
 

Similar to Use Case diagram-UML diagram-1 (20)

Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
Protectourwater.ie SRS
Protectourwater.ie SRSProtectourwater.ie SRS
Protectourwater.ie SRS
 
Lecture10.ppt
Lecture10.pptLecture10.ppt
Lecture10.ppt
 
Sadcw 7e chapter05-done
Sadcw 7e chapter05-doneSadcw 7e chapter05-done
Sadcw 7e chapter05-done
 
Final use case (1)
Final use case (1)Final use case (1)
Final use case (1)
 
Use Case Model with components in software.ppt
Use Case Model with components in software.pptUse Case Model with components in software.ppt
Use Case Model with components in software.ppt
 
Online property management system design document
Online property management system design documentOnline property management system design document
Online property management system design document
 
conversion-gate02.pptx
conversion-gate02.pptxconversion-gate02.pptx
conversion-gate02.pptx
 
Due dilligence on a cpa firm or other accounting services provdier
Due dilligence on a cpa firm or other accounting services provdierDue dilligence on a cpa firm or other accounting services provdier
Due dilligence on a cpa firm or other accounting services provdier
 
2.1 usecase diagram
2.1 usecase diagram2.1 usecase diagram
2.1 usecase diagram
 
Software Engineering Testing & Research
Software Engineering Testing & Research Software Engineering Testing & Research
Software Engineering Testing & Research
 
Design Implementation ProposalDesign Implementation Proposal.docx
Design Implementation ProposalDesign Implementation Proposal.docxDesign Implementation ProposalDesign Implementation Proposal.docx
Design Implementation ProposalDesign Implementation Proposal.docx
 
Use cases
Use casesUse cases
Use cases
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and Specification
 
Information_Technology_Planning_comp_1647
Information_Technology_Planning_comp_1647Information_Technology_Planning_comp_1647
Information_Technology_Planning_comp_1647
 
Suryansh.docx
Suryansh.docxSuryansh.docx
Suryansh.docx
 
Actors in Requirements Elicitation.pdf
Actors in Requirements Elicitation.pdfActors in Requirements Elicitation.pdf
Actors in Requirements Elicitation.pdf
 
PASCUA(REPORT.CMSC411)
PASCUA(REPORT.CMSC411)PASCUA(REPORT.CMSC411)
PASCUA(REPORT.CMSC411)
 
StructureofUseCases.ppt
StructureofUseCases.pptStructureofUseCases.ppt
StructureofUseCases.ppt
 
Software Requirements ElicitationRequirements specify a set of f.docx
Software Requirements ElicitationRequirements specify a set of f.docxSoftware Requirements ElicitationRequirements specify a set of f.docx
Software Requirements ElicitationRequirements specify a set of f.docx
 

More from Ramakant Soni (7)

GATE 2021 Exam Information
GATE 2021 Exam InformationGATE 2021 Exam Information
GATE 2021 Exam Information
 
Role of Data Cleaning in Data Warehouse
Role of Data Cleaning in Data WarehouseRole of Data Cleaning in Data Warehouse
Role of Data Cleaning in Data Warehouse
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
 
Huffman and Arithmetic coding - Performance analysis
Huffman and Arithmetic coding - Performance analysisHuffman and Arithmetic coding - Performance analysis
Huffman and Arithmetic coding - Performance analysis
 
UML daigrams for Bank ATM system
UML daigrams for Bank ATM systemUML daigrams for Bank ATM system
UML daigrams for Bank ATM system
 
UML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionUML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language Introduction
 

Recently uploaded

Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Recently uploaded (20)

Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 

Use Case diagram-UML diagram-1

  • 1. Duration: 3 Hrs 1 Ramakant Soni Assistant Professor Dept. of Computer Science B K Birla Institute of Engineering & Technology, Pilani, India Ramakant Soni @ BKBIET Pilani
  • 2.  Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior of the system, during requirements capture and analysis. 2  Provide a way for developers, domain experts and end-users to Communicate.  Serve as basis for testing.  Use case diagrams contain use cases, actors, and their relationships. Ramakant Soni @ BKBIET Pilani
  • 3.  Use cases specify desired behavior.  A use case is a description of a set of name 3  A use case is a description of a set of sequences of actions, including variants, a system performs to yield an observable result of value to an actor.  Each sequence represent an interaction of actors with the system. Ramakant Soni @ BKBIET Pilani
  • 4.  Describing the flow of events within the use case.  Can be done in natural language, formal 4  Can be done in natural language, formal language or pseudo-code.  Includes: how and when the use case starts and ends; when the use case interacts with actors and what objects are exchanged; the basic flow and alternative flows of the behavior. Ramakant Soni @ BKBIET Pilani
  • 5.  An actor represents a set of roles that users of use case play when interacting with these use cases.  Actors can be human or automated name 5  Actors can be human or automated systems.  Actors are entities which require help from the system to perform their task or are needed to execute the system’s functions.  Actors are not part of the system. Ramakant Soni @ BKBIET Pilani
  • 6.  From the perspective of a given actor, a use case does something that is of value to the actor, such as calculate a result or change the state of an object. 6 change the state of an object.  The Actors define the environments in which the system lives Ramakant Soni @ BKBIET Pilani
  • 8. 1. Generalization - use cases that are specialized versions of other use cases. 2. Include - use cases that are included as 8 2. Include - use cases that are included as parts of other use cases. Enable to factor common behavior. 3. Extend - use cases that extend the behavior of other core use cases. Enable to factor variants. Ramakant Soni @ BKBIET Pilani
  • 9.  The child use case inherits the behavior and meaning of the parent use case. parent 9 parent use case.  The child may add to or override the behavior of its parent. child Ramakant Soni @ BKBIET Pilani
  • 11.  The base use case explicitly incorporates the behavior of another use case at a location specified in the base. base included<<include>> 11 location specified in the base.  The included use case never stands alone. It only occurs as a part of some larger base that includes it. Ramakant Soni @ BKBIET Pilani
  • 12.  Enables to avoid describing the same flow of events several times by putting the common behavior in a use case of its own. 12 its own. updating grades output generating verifying student id <<include>> <<include>> Ramakant Soni @ BKBIET Pilani
  • 13. Ramakant Soni @ BKBIET Pilani 13
  • 14.  The base use case implicitly incorporates the behavior of another use case at certain points called extension points. base extending<<extend>> 14 certain points called extension points.  The base use case may stand alone, but under certain conditions its behavior may be extended by the behavior of another use case. Ramakant Soni @ BKBIET Pilani
  • 15.  Enables to model optional behavior or branching under conditions. 15 Exam copy request Exam-grade appeal <<extend>> Ramakant Soni @ BKBIET Pilani
  • 16. Ramakant Soni @ BKBIET Pilani 16
  • 18.  Actors may be connected to use cases by associations, indicating that the actor and the use case communicate with one another using messages. 18 one another using messages. updating grades faculty Ramakant Soni @ BKBIET Pilani
  • 20. 20Ramakant Soni @ BKBIET Pilani
  • 21. Each use case may include all or part of the following:  Title or Reference Name - meaningful name of the UC  Author/Date - the author and creation date  Modification/Date - last modification and its date  Purpose - specifies the goal to be achieved  Overview - short description of the processes 21  Overview - short description of the processes  Cross References - requirements references  Actors - agents participating  Pre Conditions - must be true to allow execution  Post Conditions - will be set when completes normally  Normal flow of events - regular flow of activities  Alternative flow of events - other flow of activities  Exceptional flow of events - unusual situations  Implementation issues - foreseen implementation problems
  • 22.  Use Case: Withdraw Money  Author: RS  Date: 19-Nov-2014  Purpose: To withdraw some cash from user’s bank account Overview: The use case starts when the customer inserts his 22  Overview: The use case starts when the customer inserts his credit card into the system. The system requests the user PIN. The system validates the PIN. If the validation succeeded, the customer can choose the withdraw operation else alternative 1 – validation failure is executed. The customer enters the amount of cash to withdraw. The system checks the amount of cash in the user account, its credit limit. If the withdraw amount in the range between the current amount + credit limit the system dispense the cash and prints a withdraw receipt, else alternative 2 – amount exceeded is executed.  Cross References: R1.1, R1.2, R7 Ramakant Soni @ BKBIET Pilani
  • 23.  Actors: Customer  Pre Condition: › The ATM must be in a state ready to accept transactions › The ATM must have at least some cash on hand that it can dispense › The ATM must have enough paper to print a receipt for at 23 › The ATM must have enough paper to print a receipt for at least one transaction  Post Condition: › The current amount of cash in the user account is the amount before the withdraw minus the withdraw amount › A receipt was printed on the withdraw amount › The withdraw transaction was audit in the System log file Ramakant Soni @ BKBIET Pilani
  • 24.  Typical Course of events: Actor Actions System Actions 1. Begins when a Customer arrives at ATM 2. Customer inserts a Credit card into ATM 3. System verifies the customer ID and status 5. Customer chooses “Withdraw” operation 4. System asks for an operation type 24 5. Customer chooses “Withdraw” operation 4. System asks for an operation type 7. Customer enters the cash amount 6. System asks for the withdraw amount 8. System checks if withdraw amount is legal 9. System dispenses the cash 10. System deduces the withdraw amount from account 11. System prints a receipt 13. Customer takes the cash and the receipt 12. System ejects the cash card Ramakant Soni @ BKBIET Pilani
  • 25.  Alternative flow of events: › Step 3: Customer authorization failed. Display an error message, cancel the transaction and eject the card. › Step 8: Customer has insufficient funds in its account. 25 › Step 8: Customer has insufficient funds in its account. Display an error message, and go to step 6. › Step 8: Customer exceeds its legal amount. Display an error message, and go to step 6.  Exceptional flow of events: › Power failure in the process of the transaction before step 9, cancel the transaction and eject the card Ramakant Soni @ BKBIET Pilani
  • 26.  One method to identify use cases is actor-based: - Identify the actors related to a system or organization. - For each actor, identify the processes they initiate or participate in.  A second method to identify use cases is event-based: - Identify the external events that a system must respond to. - Relate the events to actors and use cases.  The following questions may be used to help identify the use 26  The following questions may be used to help identify the use cases for a system: - What are tasks of each actor ? - Will any actor create, store, change, remove, or read information in the system ? - What use cases will create, store, change, remove, or read this information ? - Will any actor need to inform the system about sudden, external changes ? - Does any actor need to be informed about certain occurrences in the system ? - Can all functional requirements be performed by the use cases ? Ramakant Soni @ BKBIET Pilani
  • 27.  The “things” that “live” inside the system are responsible for carrying out the behavior the actors on the outside expect the system to provide. 27 expect the system to provide.  To implement a use case, we create a society of classes that work together to carry out the behavior of the use case. Ramakant Soni @ BKBIET Pilani
  • 28. Ramakant Soni @ BKBIET Pilani 28
  • 29. Controller Water Pump Hot Water Water Valve Home Temp Sensor * 29 Fuel Valve 90 80 70 60 50 On Off Burner Fuel Temp Sensor Control Panel Ramakant Soni @ BKBIET Pilani
  • 30. Power Up Home Heating Home Owner MH Power Down Change Temp. 30Ramakant Soni @ BKBIET Pilani
  • 31. Use case : Power Up Actors : Home Owner (initiator) Type: Primary and essential Description: The Home Owner turns the power on. Each room is temperature checked. If a room is below the the desired temperature the valve for the room is opened, the water pump started. If the water temp fallsthe room is opened, the water pump started. If the water temp falls below threshold, the fuel valve is opened, and the burner ignited. If the temperature in all rooms is above the desired temperature, no actions are taken. Cross Ref.: Requirements XX, YY, and ZZ Use-Cases: None 31Ramakant Soni @ BKBIET Pilani
  • 32. Power Up Power Down Home Heating Adjust Temp Temp. High «includes» «includes» Home Owner MH Change Temp. Adjust Temp Temp. Low «includes» «includes» 32Ramakant Soni @ BKBIET Pilani
  • 33. Use case : Power Up Actors : Home Owner (initiator) Type : Primary and essential Description : The Home Owner turns the power on. Perform Adjust Temp. If the temperature in all rooms is above the desired temperature, no actions are taken. * above the desired temperature, no actions are taken. Cross Ref : Requirements XX, YY, and ZZ Use-Cases : Perform Adjust Temp 33Ramakant Soni @ BKBIET Pilani
  • 34. Ramakant Soni @ BKBIET Pilani 34 Credits : Scott W. Amber
  • 35. Ramakant Soni @ BKBIET Pilani 35 Credits : Scott W. Amber
  • 36. Example: Online shopping. Ramakant Soni @ BKBIET Pilani 36 1.Place Your Primary Actor(S) In The Top-Left Corner Of The Diagram 2.Draw Actors To The Outside Of A Use Case Diagram 3.Name Actors With Singular, Business-Relevant Nouns 4.Associate Each Actor With One Or More Use Cases 5.Actors Model Roles, Not Positions 6.Use <<system>> to Indicate System Actors 7.Actors Don’t Interact With One Another 8.Introduce an Actor Called "Time" to Initiate Scheduled Events
  • 37. Relationships There are several types of relationships that may appear on a use case diagram: •An association between an actor and a use case •An association between two use cases •A generalization between two actors •A generalization between two use cases Ramakant Soni @ BKBIET Pilani 37 Enrolling students in a university
  • 38. A library lends books to borrowers, who are registered in a membership file. A borrower can reserve a book that is not currently available in the library. In a file of books the loaning or reservation of a book will be kept up to date. The librarian is an employee of the library who interacts with the customers (borrowers). Ramakant Soni @ BKBIET Pilani 38 o Design a simple library system for borrowing and returning books. The file of books and the membership file may be considered as actors. o Describe one use case by means of a use case text.
  • 39. Propose a use case diagram for an ATM machine for withdrawing cash. Make the use case simple yet informative; only include the major features. Ramakant Soni @ BKBIET Pilani 39 features.
  • 40. Ramakant Soni @ BKBIET Pilani 40
  • 41. Propose a use case diagram for a vending machine that sells beverages and snacks. Make use of inclusion and extension associations, mark multiplicities and remember that a Ramakant Soni @ BKBIET Pilani 41 multiplicities and remember that a vending machine may need technical assistance from time to time.
  • 42. Ramakant Soni @ BKBIET Pilani 42