CIS-75 Home http://www.c-jump.com/CIS75/CIS75syllabus.htm
Use case is a sequence of steps performed by the user when interacting with the system.
Use cases are requirements.
Primarily they are functional requirements that indicate what the system will do.
Use cases are text documents, not diagrams, and use-case modeling is primarily an act of writing text, not drawing.
However, the UML (see
LOG-IN ( to a computer system )
The user is prompted for the user name and for the password.
The system verifies the user's name and the password...
...and if correct, displays the main menu.
If the user's name and/or password are not correct the system displays the error message...
...after the user acknowledges the message by pressing a key,
the system asks the user to enter the user's name and the password again.
DEPOSIT ( of cash/check to a bank account )
When the customer selects deposit from the main menu...
...the system displays the numbers of all accounts of this customer.
After customer makes a selection of the account...
...the system asks for the amount of deposit.
After customer enters the amount...
...the system echoes the amount on the screen asking for confirmation.
After receiving the confirmation the envelop dispenser dispenses an envelop...
...the customer is asked to place the money/check in the envelope and place it in the deposit slot.
The system will print on the envelope the amount, the number of the account, and the time and date of the transaction.
Domain: telecommunication. Object: a switch device. Concepts supported: Message, Connection, Port, Dialog, Route, Protocol.
SEND PACKET REQUEST ( some I/O device protocol )
The system detects the change of bit 6 from 0 to 1 at the memory location 0xA556BFFF.
The system places the address of the packet buffer in the memory location 0x000099BC.
The system places the count of packets in the buffer in memory location 0x000099BB.
The system sets bit 4 of the memory location 0x000099BA to 1.
A role that the user plays when interacting with the system.
Actors carry out use cases.
Actors do not have to be human.
Actor's actions are...
...non-deterministic... unpredictable... and dangerous...
Actors represent anything that has to exchange information with the system.
While using the system, a use case represents
behaviorally related sequences of transactions,
performed by the user in a dialogue with the system.
The user, playing a specific role, becomes an actor.
Use cases represent
what takes place in the system for specific interaction with an actor.
a complete course of events initiated by an actor.
Collection of all use cases specifies total system functionality.
One actor will perform several use cases in the system.
Use cases are identified through actors by analyzing what they should be able to do with the system.
Use cases provide the means for incremental analysis of the system functionality.
The following questions can be asked:
What are the main tasks of the actor?
Does the actor need access to any system information?
Does the actor have to inform the system about any changes in the environment?
Does the actor need to be informed about unexpected events in the system?
Each use case has
one basic course, and
possibly several alternative courses.
The basic course specifies the most important chain of events -
- the chain of events giving the best understanding of the use case.
Automatic Teller Machine, "cash withdrawal" use case:
Basic course:
normal course of events...
Alternative courses:
no sufficient funds in the account...
no sufficient amount of cash in the ATM...
Used to model extensions of other complete use cases.
Use Case Extensions provide means to model:
Optional parts of the use cases.
Complex and alternative courses which seldom occur.
Situations where several different use cases can be inserted into a use case.
Extensions can be viewed as interrupts that occur at the place in the main use case, where the extension has to be inserted.
The use case:
Runs to the point where the extension is to be inserted.
The extension is executed.
When finished, the original course continues, as if nothing has happened.
Use cases should be processed in order of their priority.
The use cases of higher priority will contribute to the model
before lower priority use cases are processed.
(This defines a first impact syndrome,
where extremely common conditions are put first.)
The candidates are:
Cases that were captured as primary elements of the business process.
Cases with lower cost impact.
Cases with increased revenue.
Cases that introduce high risk factors, such as
time critical, technology intensive, new technology, etc...
Cases promising...
...high level of progress (in model construction phase)...
...for least amount of effort (because of well known requirements.)
Help to focus on the problem.
Provide a strong base for formulation of further models.
Provide a quantitative metric of progress.
Offer a disciplined way of developing the system and deal with its complexity.
Are a great verification and validation tool.
User Requirements Template (in Word format.)
Sample User Requirements Document (in HTML format.)
'Minimal Sketch' Use Case Template (in Word format.)
'Fully Dressed' Use Case Template (in Word format.)
System Dictionary Template (in Word format.)
See also: articles about
Analysis of use cases leads to discovery of classes and relationships.
Validity of classes and their relationships can be questioned (tested)
through analysis of use cases.