Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

28
Functional Requirements – Use Functional Requirements – Use Cases Cases (Chapters 14 , 21) (Chapters 14 , 21) Sriram Mohan 1

Transcript of Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

Page 1: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

Functional Requirements – Use CasesFunctional Requirements – Use Cases(Chapters 14 , 21)(Chapters 14 , 21)

Sriram Mohan

1

Page 2: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

What is a Functional Requirement?What is a Functional Requirement?

Functional requirements specify particular behaviors of a system.

2

Page 3: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

What is a Use Case?What is a Use Case?

A sequence of actions a system performs that yield and 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 (Chapters 14, 21) Sriram Mohan 1.

BenefitsBenefits

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 (Chapters 14, 21) Sriram Mohan 1.

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

5

Page 6: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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

6

Page 7: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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?

7

Page 8: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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?

8

Page 9: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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

9

Page 10: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

3. Identify Actor/Use Case Relationships3. Identify Actor/Use Case Relationships

Draw a diagram showing relationships between actors and use cases

10

Eat food

Buy foodParent Child

Page 11: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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)

11

Page 12: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

5. Refine Use Cases5. Refine Use Cases

Describe sequences of events for flows Describe pre-conditions Describe post-conditions Fill in special requirements

12

Page 13: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

Pre and Post ConditionsPre and Post Conditions

What is a pre-condition? What is a post-condition?

13

Page 14: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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

14

Page 15: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

Microwave ExampleMicrowave Example

15

User

Cook Food

Page 16: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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

16

Page 17: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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 pushes start button

4. Unit cooks food

5. Unit beeps

17

Page 18: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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

18

Page 19: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

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◦ Timer should display remaining time to finish while

cooking◦ Default power setting should be "high"

19

Page 20: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

How do the use case and the storyboard fit?How do the use case and the storyboard fit?

20

Page 21: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

How do you know you have collected enough use How do you know you have collected enough use cases?cases?

21

Page 22: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

22

Extending Use CasesExtending Use Cases

Extend an existing use case instead of redefining it

Page 23: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

23

Microwave ExtensionMicrowave Extension

User

Cook Food

Slice Food

<<extend>>

Page 24: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

24

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 25: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

25

Microwave InclusionMicrowave Inclusion

User

Cook Food

Set Timer

<<include>>

Page 26: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

26

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 27: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

Extra CreditExtra Credit

Can all functional requirements be specified using use cases? Explain

Turn in your Answer using Angel(Lessons – Extra Credit – Week 03- Use Case Extra Credit)

27

Page 28: Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.

Exam 1Exam 1

Managing Software Requirements(Second Edition)◦ Chapters 1 – 14

◦ Chapter 21 Interaction Design – Beyond Human Computer

Interaction◦ Chapter 11

28