SlideShare a Scribd company logo
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

DOCX
Library Management System
PDF
02.project training and placement cell
PDF
SRS For Online Store
PDF
Online shopping
PDF
Activity diagram-UML diagram
PDF
online job portal system
PPT
Online Mobile Shopping
DOCX
E commerce use case documentation.
Library Management System
02.project training and placement cell
SRS For Online Store
Online shopping
Activity diagram-UML diagram
online job portal system
Online Mobile Shopping
E commerce use case documentation.

What's hot (20)

PDF
DFD for E-Commerce Website
PPTX
E Learning Management System By Tuhin Roy Using PHP
DOCX
Placement management system
PDF
Real estate management system
PPTX
Student management system
PDF
Online Shopping System
PPTX
placement management system.pptx
PDF
Alumni Management System
PDF
Software Engineering :UML class diagrams
PDF
Flipkart Software Requirements Specification (SRS)
DOCX
Face Recognition Attendance System
DOCX
Software Requirement Specification Of Hotel Management System
PDF
Flipkart Software requirements specification SRS
DOC
Online shopping cart system file
DOCX
Synopsis on Online examination system using php
PDF
Unit 1 - mobile computing introduction
DOCX
Training and placement
PPTX
Student information system
PPSX
Course Registration System-Problem Statement, SRS,ERD, DFD, Structured Chart
DOCX
A Software Engineering Project on Cyber cafe management
DFD for E-Commerce Website
E Learning Management System By Tuhin Roy Using PHP
Placement management system
Real estate management system
Student management system
Online Shopping System
placement management system.pptx
Alumni Management System
Software Engineering :UML class diagrams
Flipkart Software Requirements Specification (SRS)
Face Recognition Attendance System
Software Requirement Specification Of Hotel Management System
Flipkart Software requirements specification SRS
Online shopping cart system file
Synopsis on Online examination system using php
Unit 1 - mobile computing introduction
Training and placement
Student information system
Course Registration System-Problem Statement, SRS,ERD, DFD, Structured Chart
A Software Engineering Project on Cyber cafe management
Ad

Viewers also liked (20)

PPT
Lecture04- Use Case Diagrams
PDF
Use Case diagram-UML diagram-2
PDF
Collaboration diagram- UML diagram
PPT
Use case-diagrams
PPT
Use Case Diagram
PPT
Use Case Diagram
PDF
What is Algorithm - An Overview
PPTX
The basics of mobile payments
PDF
Class diagram- UML diagram
PPT
Use case Diagram
PDF
Sequence diagram- UML diagram
PDF
Introduction Mobile Payment 20/11/2012
PDF
Mobile money options to facilitate payment of incentives in Senegal’s RBF pro...
PPT
Chapter04
PDF
Ajax 101 Workshop
PPT
Chapter05
PPT
Chapter06
PPT
Ch 5 O O Data Modeling Class
DOCX
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
PPT
Uml report
Lecture04- Use Case Diagrams
Use Case diagram-UML diagram-2
Collaboration diagram- UML diagram
Use case-diagrams
Use Case Diagram
Use Case Diagram
What is Algorithm - An Overview
The basics of mobile payments
Class diagram- UML diagram
Use case Diagram
Sequence diagram- UML diagram
Introduction Mobile Payment 20/11/2012
Mobile money options to facilitate payment of incentives in Senegal’s RBF pro...
Chapter04
Ajax 101 Workshop
Chapter05
Chapter06
Ch 5 O O Data Modeling Class
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Uml report
Ad

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

PPT
Use case Diagram
PDF
SE_Lec 08_UML Use Cases
PDF
6-UseCfgfhgfhgfhgfhgfhfhhaseActivity.pdf
PDF
SE18_Lec 09_UML Use Cases
PPTX
Lecture#04, use case diagram
PDF
Lect_4_Requirement Modeling(Use Case_and_Static).pdf
PPTX
Final use case (1)
PPTX
USE case diagrams.ppt.pptx..............
PPT
Use cases
PDF
Lecture7 use case modeling
PPT
Use Case Modeling
PDF
2.1 usecase diagram
PDF
Use case Modeling
PPT
PPT
chapter_5_5.ppt
PPT
06 RE_use case diagm1.ppt
PPTX
Use Case Diagram on real world scenaios.pptx
PPTX
02-use_cases in Unified modeling languages
PPT
StructureofUseCases.ppt
PPTX
StructureofUseCases.pptx
Use case Diagram
SE_Lec 08_UML Use Cases
6-UseCfgfhgfhgfhgfhgfhfhhaseActivity.pdf
SE18_Lec 09_UML Use Cases
Lecture#04, use case diagram
Lect_4_Requirement Modeling(Use Case_and_Static).pdf
Final use case (1)
USE case diagrams.ppt.pptx..............
Use cases
Lecture7 use case modeling
Use Case Modeling
2.1 usecase diagram
Use case Modeling
chapter_5_5.ppt
06 RE_use case diagm1.ppt
Use Case Diagram on real world scenaios.pptx
02-use_cases in Unified modeling languages
StructureofUseCases.ppt
StructureofUseCases.pptx

More from Ramakant Soni (7)

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

Recently uploaded (20)

PDF
PPT on Performance Review to get promotions
PPTX
web development for engineering and engineering
PPT
Mechanical Engineering MATERIALS Selection
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
Geodesy 1.pptx...............................................
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
OOP with Java - Java Introduction (Basics)
DOCX
573137875-Attendance-Management-System-original
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
composite construction of structures.pdf
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
additive manufacturing of ss316l using mig welding
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPT on Performance Review to get promotions
web development for engineering and engineering
Mechanical Engineering MATERIALS Selection
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Geodesy 1.pptx...............................................
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
OOP with Java - Java Introduction (Basics)
573137875-Attendance-Management-System-original
Internet of Things (IOT) - A guide to understanding
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
composite construction of structures.pdf
Embodied AI: Ushering in the Next Era of Intelligent Systems
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Operating System & Kernel Study Guide-1 - converted.pdf
additive manufacturing of ss316l using mig welding
CYBER-CRIMES AND SECURITY A guide to understanding
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Foundation to blockchain - A guide to Blockchain Tech
R24 SURVEYING LAB MANUAL for civil enggi

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