1 / 30

Functional Requirements – Use Cases

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.

Download Presentation

Functional Requirements – Use Cases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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!

  2. 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? Question 1

  3. 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

  4. 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

  5. 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 Use case Test Plan forUse Case Design Use case

  6. Use Case Template • Name • Brief description • Actors • Basic flow • Alternate flows (sometimes called extensions) • Pre-conditions • Post-conditions • Other stakeholders • System/sub-system • Special requirements

  7. Use Case Model - Development Steps • Identify the actors • Identify the use cases • Identify actor/use case relationships • Outline use cases • Refine use cases

  8. 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?

  9. 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?

  10. 2. Identify the Use Cases • Give a descriptive name: • Start with an action verb • Describes goal or intent • Give a one-sentence description

  11. Eat food Buy food 3. Identify Actor/Use Case Relationships • Draw a diagram showing relationships between actors and use cases Parent Child

  12. 4. Outline Use Cases • Describe sequence of events in basic flow (sunny day scenario) • Describe sequences of events in alternate flows (rainy day scenarios)

  13. 5. Refine Use Cases • Describe sequences of events for flows • Describe pre-conditions • Describe post-conditions • Fill in special requirements

  14. Pre and Post Conditions • What is a pre-condition? • What is a post-condition? Questions 5,6

  15. Use Case Template • Name • Brief description • Actors • Basic flow • Alternate flows • Pre-conditions • Post-conditions • Other stakeholders • System/sub-system • Special requirements

  16. Microwave Example Cook Food User

  17. Cook Food Use Case – Slide 1 of 4 • Name: Cook Food • Brief description: User places food in microwave and cooks it for desired period of time at desired power level. • Actors: User

  18. Cook Food Use Case – Slide 2 of 4 • Basic flow: • User opens door and places food in unit • User enters time for cooking • User tells microwave to start • Unit cooks food • Unit indicates it is done

  19. Cook Food Use Case – Slide 3 of 4 • Alternate flows (“extensions”) • User cancels time before starting • User cancels cooking before finished • User selects reduced power level before pushing start button • Make sure you detail the alternate flows completely Question 8

  20. Cook Food Use Case – Slide 4 of 4 • Pre-conditions • Unit is plugged in • Unit is in ready state • Post-conditions • Food is cooked or user cancelled operation • Special requirements • Unit should indicate remaining time to finish while cooking • Default power setting should be "high"

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

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

  23. Extending Use Cases • Extend an existing use case instead of redefining it Question 7

  24. Cook Food Slice Food Microwave Extension <<extend>> User

  25. Including Use Cases • Frequent sequences of events may be defined as use cases • Including a use case is like calling a subroutine

  26. Cook Food Set Timer Microwave Inclusion <<include>> User

  27. Cook Food Inclusion • Basic flow: • User opens door and places food in unit • User performs Set Timer use case • User pushes start button • Unit cooks food • Unit beeps

  28. RFC 2119  Just Google for this, to see what it is! • Will, Shall, Must • Should • May • Is there a difference?

  29. 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?

  30. In-Class Activity we’ll do: • Develop use cases for the following feature of the degree planner project • Advisors must be able to pull up a specific student’s plan for graduation and approve said plan.

More Related