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

Upload: walter-johns

Post on 04-Jan-2016

219 views

Category:

Documents


2 download

TRANSCRIPT

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