Functional Requirements – Use Cases - Rose

advertisement
Functional Requirements – Use Cases
Steve Chenoweth & Chandan Rupakheti
(Chapters 14 , 21 – Requirements Text)
 Quiz question 9 relates to this, when you’ve studied use cases!
What is a Functional Requirement?

Functional requirements specify particular behaviors of
a system.

E.g., Suppose your “system” acts on “food” –
“Cook food” is “functional.”
Vs
 How well it cooks, or how fast, or how easily is not.
Why?

Question 1
What is a Use Case?
A sequence of actions a system performs that yield an
observable result of value to a particular actor



Sequences of actions
Performed by system of interest
Observable result of value to a particular actor
Question 2
Benefits – Requirements Management





Easy to write and read
Think from the perspective of an user
Provides a clear idea of the “what” and the “how”
User involvement
Use cases tell a better requirement story
Typically developers are encouraged and required to write
use cases. Why ?
Questions 3,4
Benefits – Development Life Cycle

Use cases started for requirements become the vehicle
for the following activities:
◦ Detailing them to show the corresponding design work
◦ Development of test plans for acceptance testing
◦ Creation of interaction design specifics, simply by adding
detail to the use cases about “how” the actions will be
done
◦ The basis for discovering a great OO design, based on the
actors and their actions
Requirements
Use case
Design
Use case
Test Plan for
Use Case
Use Case Template
A.
B.
C.
D.
E.
F.
G.
H.
I.
J.
Name
Brief description
Actors
Basic flow
Alternate flows (sometimes called extensions)
Pre-conditions
Post-conditions
Other stakeholders
System/sub-system
Special requirements
Use Case Model - Development Steps
1.
2.
3.
4.
5.
Identify the actors
Identify the use cases
Identify actor/use case relationships
Outline use cases
Refine use cases
1. Identify the Actors
Who uses the system?
 Who gets/provides information from/to system?
 Who supports the system?
 What other systems interact with this system?

2. Identify the Use Cases

What are the intentions of each actor with respect to the
system?
◦ What are they going to use the system for?
◦ Does the actor provide some information?
◦ Does the actor need to be informed of something?
2. Identify the Use Cases

Give a descriptive name:
◦ Start with an action verb
◦ Describes goal or intent

Give a one-sentence description
3. Identify Actor/Use Case Relationships

Draw a diagram showing relationships between actors
and use cases
Eat food
Parent
Buy food
Child
4. Outline Use Cases
Describe sequence of events in basic flow (sunny day
scenario)
 Describe sequences of events in alternate flows (rainy
day scenarios)

5. Refine Use Cases




Describe sequences of events for flows
Describe pre-conditions
Describe post-conditions
Fill in special requirements
Pre and Post Conditions


What is a pre-condition?
What is a post-condition?
Questions 5,6
Use Case Template
A.
B.
C.
D.
E.
F.
G.
H.
I.
J.
Name
Brief description
Actors
Basic flow
Alternate flows
Pre-conditions
Post-conditions
Other stakeholders
System/sub-system
Special requirements
Microwave Example
Cook Food
User
Cook Food Use Case – Slide 1 of 4
A.
B.
C.
Name: Cook Food
Brief description: User places food in microwave and
cooks it for desired period of time at desired power
level.
Actors: User
Cook Food Use Case – Slide 2 of 4
D.
Basic flow:
1. User opens door and places food in unit
2. User enters time for cooking
3. User tells microwave to start
4. Unit cooks food
5. Unit indicates it is done
Cook Food Use Case – Slide 3 of 4
E.
Alternate flows (“extensions”)
1. User cancels time before starting
2. User cancels cooking before finished
3. User selects reduced power level before pushing
start button
4.
Make sure you detail the alternate flows
completely
Question 8
Cook Food Use Case – Slide 4 of 4
Pre-conditions
◦
Unit is plugged in
◦
Unit is in ready state
G.
Post-conditions
◦
Food is cooked or user cancelled operation
H.
Special requirements
◦
Unit should indicate remaining time to finish while
cooking
◦
Default power setting should be "high"
F.
How do the use case and the storyboard fit?
How do you know you have collected enough use
cases?
Extending Use Cases

Extend an existing use case instead of redefining it
Question 7
Microwave Extension
Cook Food
<<extend>>
User
Slice Food
Including Use Cases
Frequent sequences of events may be defined as use
cases
 Including a use case is like calling a subroutine

Microwave Inclusion
Cook Food
<<include>>
User
Set Timer
Cook Food Inclusion
D.
Basic flow:
1. User opens door and places food in unit
2. User performs Set Timer use case
3. User pushes start button
4. Unit cooks food
5. Unit beeps
RFC 2119
 Just Google for this, to see what it is!
Will, Shall, Must
 Should
 May


Is there a difference?
In Class Discussions – we’ll discuss these…





Can all functional requirements be specified using use
cases? Explain
How do you know how detailed to make a use case?
How do you know when you’ve moved from
“requirements” to “design”?
Why would you want “test plans” for your system to be
closely related to use cases?
Why would you keep a separate version of
“requirements use cases” up to date, if possible?
In-Class Activity we’ll do:

Develop use cases for the following feature of the
degree planner project
1.
Advisors must be able to pull up a specific student’s
plan for graduation and approve said plan.
Download