19
1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

1

Use Cases 2

CSSE 371 Software Requirements and Specification

Mark Ardis, Rose-Hulman InstituteSeptember 20, 2004

Page 2: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

2

Outline Computing in 1968 Template for use cases Extending use cases Including use cases

Page 3: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

3

Computing in 1968

Page 4: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

4

Computing in 1968

Page 5: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

5

Computing in 1968

Page 6: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

6

Computing in 1968

Page 7: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

7

Doug Engelbart Video

(see link from ANGEL course page)

Page 8: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

8

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

Page 9: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

9

Use Case Template

A. NameB. Brief descriptionC. ActorsD. Basic flowE. Alternate flowsF. Pre-conditionsG. Post-conditionsH. Special requirements

Page 10: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

10

Microwave Example

User

Cook Food

Page 11: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

11

Cook Food Use Case 1/4

A. Name: Cook FoodB. Brief description: User places food in

microwave and cooks it for desired period of time at desired power level.

C. Actors: User

Page 12: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

12

Cook Food Use Case 2/4

D. Basic flow:1. User opens door and places food in unit2. User enters time for cooking3. User pushes start button4. Unit cooks food5. Unit beeps

Page 13: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

13

Cook Food Use Case 3/4

E. Alternate flows1. User cancels time before starting2. User cancels cooking before finished3. User selects reduced power level before

pushing start button

Page 14: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

14

Cook Food Use Case 4/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"

Page 15: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

15

Extending Use Cases

Extend an existing use case instead of redefining it

Page 16: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

16

Microwave Extension

User

Cook Food

Slice Food

<<extend>>

Page 17: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

17

Including Use Cases

Frequent sequences of events may be defined as use cases

Including a use case is like calling a subroutine

Page 18: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

18

Microwave Inclusion

User

Cook Food

Set Timer

<<include>>

Page 19: 1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004

19

Cook Food Inclusion

D. Basic flow:1. User opens door and places food in unit2. User performs Set Timer use case3. User pushes start button4. Unit cooks food5. Unit beeps