0% found this document useful (0 votes)
35 views

Use Cases

The document discusses functional requirements and use cases. It defines functional requirements as specifying particular behaviors of a system, while qualities like speed or ease of use are not functional requirements. It defines a use case as a sequence of actions a system performs that yields an observable result of value to a particular actor. The document outlines benefits of use cases for requirements management, development life cycles, and provides templates and steps for developing use cases including identifying actors and use cases, outlining basic and alternate flows, and specifying pre- and post-conditions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Use Cases

The document discusses functional requirements and use cases. It defines functional requirements as specifying particular behaviors of a system, while qualities like speed or ease of use are not functional requirements. It defines a use case as a sequence of actions a system performs that yields an observable result of value to a particular actor. The document outlines benefits of use cases for requirements management, development life cycles, and provides templates and steps for developing use cases including identifying actors and use cases, outlining basic and alternate flows, and specifying pre- and post-conditions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

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” –

 “Cookfood” 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 Design Test Plan for


Use case Use case Use Case
Use Case Template
A. Name
B. Brief description
C. Actors
D. Basic flow
E. Alternate flows (sometimes called extensions)
F. Pre-conditions
G. Post-conditions
H. Other stakeholders
I. System/sub-system
J. Special requirements
Use Case Model - Development Steps

1. Identify the actors


2. Identify the use cases
3. Identify actor/use case relationships
4. Outline use cases
5. 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

Buy food
Parent 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. Name
B. Brief description
C. Actors
D. Basic flow
E. Alternate flows
F. Pre-conditions
G. Post-conditions
H. Other stakeholders
I. System/sub-system
J. Special requirements
Microwave Example

Cook Food

User
Cook Food Use Case – Slide 1 of 4

A. Name: Cook Food


B. Brief description: User places food in microwave and
cooks it for desired period of time at desired power
level.
C. 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

F. 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"
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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy