Lecture 2 use case diagram-part1
-
Upload
ramakant-soni -
Category
Education
-
view
55 -
download
1
Transcript of Lecture 2 use case diagram-part1
Duration: 3 Hrs
1
Ramakant SoniAssistant 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, duringrequirements capture and analysis.
2
Provide a way for developers, domain expertsand 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 ofsequences of actions, including variants,a system performs to yield an observableresult of value to an actor.
Each sequence represent an interactionof actors with the system.
Ramakant Soni @ BKBIET Pilani
Describing the flow of events within the usecase.
Can be done in natural language, formal
4
Can be done in natural language, formallanguage or pseudo-code.
Includes: how and when the use case startsand ends; when the use case interacts withactors and what objects are exchanged; thebasic flow and alternative flows of thebehavior.
Ramakant Soni @ BKBIET Pilani
An actor represents a set of roles that usersof use case play when interacting withthese use cases.
Actors can be human or automated
name
5
Actors can be human or automatedsystems.
Actors are entities which require help fromthe system to perform their task or areneeded 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
updatinggrades
outputgenerating
faculty
Ramakant Soni @ BKBIET Pilani
1. Generalization - use cases that arespecialized versions of other use cases.
2. Include - use cases that are included as
8
2. Include - use cases that are included asparts of other use cases. Enable to factorcommon behavior.
3. Extend - use cases that extend thebehavior of other core use cases. Enableto 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
graduateregistration
non-graduateregistration
Ramakant Soni @ BKBIET Pilani
The base use case explicitly incorporatesthe behavior of another use case at alocation specified in the base.
base included<<include>>
11
location specified in the base.
The included use case never standsalone. It only occurs as a part of somelarger 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.updatinggrades
outputgenerating
verifyingstudent id
<<include>>
<<include>>
Ramakant Soni @ BKBIET Pilani
Ramakant Soni @ BKBIET Pilani 13
The base use case implicitly incorporatesthe behavior of another use case atcertain points called extension points.
base extending<<extend>>
14
certain points called extension points.
The base use case may stand alone, butunder certain conditions its behaviormay be extended by the behavior ofanother 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-graduatestudent
graduatestudent
Ramakant Soni @ BKBIET Pilani
Actors may be connected to use casesby associations, indicating that the actorand the use case communicate withone another using messages.
18
one another using messages.
updatinggrades
faculty
Ramakant Soni @ BKBIET Pilani
placephone call
cellular
placeconference
call
<<extend>>
19
cellularnetwork
user
receivephone call
receiveadditional
call
usescheduler
<<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 hiscredit card into the system. The system requests the user PIN. Thesystem validates the PIN. If the validation succeeded, thecustomer can choose the withdraw operation else alternative 1– validation failure is executed. The customer enters the amountof cash to withdraw. The system checks the amount of cash inthe user account, its credit limit. If the withdraw amount in therange between the current amount + credit limit the systemdispense the cash and prints a withdraw receipt, else alternative2 – 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 systemare responsible for carrying out thebehavior the actors on the outsideexpect the system to provide.
27
expect the system to provide.
To implement a use case, we create asociety of classes that work together tocarry 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 Valve90
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 UpActors : Home Owner (initiator)Type: Primary and essentialDescription: 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 falls the 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 ZZUse-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 UpActors : Home Owner (initiator)Type : Primary and essentialDescription : 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 ZZUse-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 Diagram2.Draw Actors To The Outside Of A Use Case Diagram3.Name Actors With Singular, Business-Relevant Nouns4.Associate Each Actor With One Or More Use Cases5.Actors Model Roles, Not Positions6.Use <<system>> to Indicate System Actors7.Actors Don’t Interact With One Another8.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 amembership file. A borrower can reserve a book that is notcurrently available in the library. In a file of books the loaningor reservation of a book will be kept up to date. The librarianis an employee of the library who interacts with thecustomers (borrowers).
Ramakant Soni @ BKBIET Pilani 38
o Design a simple library system for borrowing and returningbooks. The file of books and the membership file may beconsidered as actors.
o Describe one use case by means of a use case text.
Propose a use case diagram for anATM machine for withdrawing cash.Make the use case simple yetinformative; only include the majorfeatures.
Ramakant Soni @ BKBIET Pilani 39
features.
Ramakant Soni @ BKBIET Pilani 40
Propose a use case diagram for avending machine that sells beveragesand snacks. Make use of inclusion andextension associations, markmultiplicities and remember that a
Ramakant Soni @ BKBIET Pilani 41
multiplicities and remember that avending machine may need technicalassistance 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