Title: Capturing Requirements with Use Cases
1Capturing Requirementswith Use Cases
2Use CaseDefinition
- A use case is a narrative description of a
goal-oriented interaction between the system
under development and an external agent - Includes the what
- User (Actor in Use Case Parlance)
- Goal
- Interaction
- But not the how
- Excludes User Interface Detail
- Excludes Implementation Concerns
3Simple Example
4Benefits of capturing requirements with use cases
- Excellent ROI
- Simple and intuitive method of recording
functional requirements. - Readable by end users but also detailed enough
for programmers to implement and testers to write
test cases. - Systematic and semi-formal representation helps
ensure requirements are complete and well
understood.
5Other Advantages
- Expressing requirements in term of goal-oriented
user interaction avoids gold plating or adding
features that arent likely to be used. - Can be used to drive the development process.
(Iteration planning, validate architecture,
6Aspects of a use case
7Another Example
8UML Use Case Diagrams
Generic Form
Example
9Use Case Template
Title
Actors
Preconditions
Postconditions
Basic Flow / Main Success Scenario Basic Flow / Main Success Scenario
Alternate Flow / Extensions Alternate Flow / Extensions
Open Issues Open Issues
10Example
Title Search Web with suggested key words (Google Suggest)
Actors Web User
Preconditions Web user is at the search page
Basic Flow User begins to enter search phrase As characters of search phrase are typed, the system responds with suggested search phrases that start with characters entered The system enters the highest ranking suggested search phrase into the search box where the user is typing User scrolls to desired suggested phrase User initiates search System responds with search results that match search phrase Basic Flow User begins to enter search phrase As characters of search phrase are typed, the system responds with suggested search phrases that start with characters entered The system enters the highest ranking suggested search phrase into the search box where the user is typing User scrolls to desired suggested phrase User initiates search System responds with search results that match search phrase
Alternate Flows 2a. There are no high ranking suggested search phrases for the characters the user has entered 1. The system gives no suggested search phrases 2. The user enters the remaining characters in the search phrase and control returns to step 5 in basic flow 4a. User decides to accept suggested search phrase in search box 1. User initiates search with suggested search phrase currently in search box 4b. User finishes entering original search phrase but doesnt want to take systems suggestion 1. User hits backspace to erase remaining suggested characters in search box Alternate Flows 2a. There are no high ranking suggested search phrases for the characters the user has entered 1. The system gives no suggested search phrases 2. The user enters the remaining characters in the search phrase and control returns to step 5 in basic flow 4a. User decides to accept suggested search phrase in search box 1. User initiates search with suggested search phrase currently in search box 4b. User finishes entering original search phrase but doesnt want to take systems suggestion 1. User hits backspace to erase remaining suggested characters in search box
Open Issues 1. How to decide the order or ranking of suggested search phrases. Open Issues 1. How to decide the order or ranking of suggested search phrases.
11A Process for Writing Use Cases
- Identify actors
- Identify the goals associated with each actor.
Make each goal a use case. - Prioritize use cases
- Elaborate use cases
- Create a structured use case model (UML Diagram)
12References
13(No Transcript)