functional requirements – use cases sriram mohan/steve chenoweth (chapters 14, 21 – requirements...
Post on 21-Dec-2015
214 views
TRANSCRIPT
![Page 1: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/1.jpg)
Functional Requirements – Use CasesFunctional Requirements – Use Cases
Sriram Mohan/Steve Chenoweth
(Chapters 14 , 21 – Requirements Text)
1
![Page 2: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/2.jpg)
What is a Functional Requirement?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?
2
![Page 3: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/3.jpg)
What is a Use Case?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
3
![Page 4: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/4.jpg)
Benefits – Requirements ManagementBenefits – 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 ?
4
![Page 5: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/5.jpg)
Benefits – Development Life Cycle
Use cases become the vehicle for the following activities:
◦ 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
![Page 6: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/6.jpg)
Use Case TemplateUse 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
6
![Page 7: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/7.jpg)
Use Case Model - Development StepsUse 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
7
![Page 8: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/8.jpg)
1. Identify the Actors1. 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?
8
![Page 9: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/9.jpg)
2. Identify the Use Cases2. 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?
9
![Page 10: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/10.jpg)
2. Identify the Use Cases2. Identify the Use Cases
Give a descriptive name:◦ Start with an action verb
◦ Describes goal or intent Give a one-sentence description
10
![Page 11: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/11.jpg)
3. Identify Actor/Use Case Relationships3. Identify Actor/Use Case Relationships
Draw a diagram showing relationships between actors and use cases
11
Eat food
Buy foodParent Child
![Page 12: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/12.jpg)
4. Outline Use Cases4. Outline Use Cases
Describe sequence of events in basic flow (sunny day scenario)
Describe sequences of events in alternate flows (rainy day scenarios)
12
![Page 13: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/13.jpg)
5. Refine Use Cases5. Refine Use Cases
Describe sequences of events for flows Describe pre-conditions Describe post-conditions Fill in special requirements
13
![Page 14: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/14.jpg)
Pre and Post ConditionsPre and Post Conditions
What is a pre-condition? What is a post-condition?
14
![Page 15: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/15.jpg)
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
Use Case TemplateUse Case Template
15
![Page 16: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/16.jpg)
Microwave ExampleMicrowave Example
16
User
Cook Food
![Page 17: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/17.jpg)
Cook Food Use Case – Slide 1 of 4Cook 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
17
![Page 18: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/18.jpg)
Cook Food Use Case – Slide 2 of 4Cook 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
18
![Page 19: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/19.jpg)
Cook Food Use Case – Slide 3 of 4Cook Food Use Case – Slide 3 of 4
E. Alternate flows
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
19
![Page 20: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/20.jpg)
Cook Food Use Case – Slide 4 of 4Cook 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"
20
![Page 21: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/21.jpg)
How do the use case and the storyboard fit?How do the use case and the storyboard fit?
21
![Page 22: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/22.jpg)
How do you know you have collected enough use How do you know you have collected enough use cases?cases?
22
![Page 23: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/23.jpg)
23
Extending Use CasesExtending Use Cases
Extend an existing use case instead of redefining it
![Page 24: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/24.jpg)
24
Microwave ExtensionMicrowave Extension
User
Cook Food
Slice Food
<<extend>>
![Page 25: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/25.jpg)
25
Including Use CasesIncluding Use Cases
Frequent sequences of events may be defined as use cases
Including a use case is like calling a subroutine
![Page 26: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/26.jpg)
26
Microwave InclusionMicrowave Inclusion
User
Cook Food
Set Timer
<<include>>
![Page 27: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/27.jpg)
27
Cook Food InclusionCook 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
![Page 28: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/28.jpg)
RFC 2119
Will, Shall, Must Should May
Is there a difference?
![Page 29: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/29.jpg)
Extra CreditExtra Credit
Can all functional requirements be specified using use cases? Explain
Turn in your Answer using Angel (Lessons – Extra Credit – Week 3- Use Case Extra Credit)
29
![Page 30: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/30.jpg)
Exam 1Exam 1
Managing Software Requirements (Second Edition)◦ Chapters 1 – 14(Except Chapter 11)
◦ Chapter 21 Interaction Design – Beyond Human Computer
Interaction◦ Chapter 7, 8 &11
30
![Page 31: Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1](https://reader037.vdocuments.us/reader037/viewer/2022110322/56649d575503460f94a356df/html5/thumbnails/31.jpg)
In-Class ActivityIn-Class Activity
Develop use cases for the following features of the student feedback project
1. Instructors must be able to create and assign quizzes to their students
2. Instructors may analyze student responses to a quiz
3. Students must be able to provide anonymous feedback
31