Functional Requirements – Use Cases Steve Chenoweth & Chandan Rupakheti (Chapters 14, 21 – Requirements Text)  Quiz question 9 relates to this, when you’ve.

Slides:



Advertisements
Similar presentations
Use Case Diagrams Damian Gordon.
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Use Case & Use Case Diagram
Scenarios: The missing link or – “ Some Stuff About Use Cases and Testing”
Information System Engineering
1 Use Cases 2 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 20, 2004.
1 Use Cases 1 CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 17, 2004.
Use-case Modeling.
1 Team Skill 4 - Team Skill 5 - Scope Refining the Systems Definition (Chapters of the requirements text) CSSE 371 Software Requirements and Specification.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
WEEK 4 Material Lecture 4a (Wed.). Use Cases/Actors o What is a use case ? l A sequence of actions performed by a system that yields an observable result.
Written by: Zvika Gutterman Adam Carmi
Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1.
1 Team Skill 3 - Defining the System (Chapters of the requirements text) CSSE 371 Software Requirements and Specification Don Bagert, Rose-Hulman.
A use case describes one “case” of how a user can use the system.
Chapter 6 Functional Modeling
Rose-Hulman Institute of Technology Sriram Mohan 18.September.2008 CSSE 497 Requirements Review.
Functional Modeling Chapter 6.
Brainstorming Steve Chenoweth & Chandan Rupakheti RHIT Chapters 12 & 13, Requirements Text, Brainstorming Techniques document Brainstorming involves generating.
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
1 Source: IBM Academic Program IBM Software Group ® Mastering Requirements Management with Use Cases Module 3: Introduction to Use-Case Modeling.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Requirements Analysis via Use Cases SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Capturing Requirements with Use Cases
1 Use-Case Modeling Chapter 6 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman Edited by Solomon Negash.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
System Sequence Diagram Chandan Rupakheti & Steve Chenoweth Week 5-3a.
1 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation.
Larman chapter 61 Use cases Larman chapter 6. 2 Fig. 6.1.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Team Skill 3 - Defining the System (Chapters of the requirements text ) Sriram Mohan 1.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Use Case Analysis Chapter 6.
Systems Analysis and Design in a Changing World, Fourth Edition
Using Use Case Diagrams
Use Case Modeling - II Lecture # 27.
Systems Analysis and Design in a Changing World, 6th Edition
Use cases, tests classes, …
Recall The Team Skills Analyzing the Problem (with 5 steps)
Storyboarding and Game Design SBG, MBG620 Full Sail University
UML Use Case Diagrams.
Use Case Modeling.
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Systems Analysis and Design in a Changing World, 6th Edition
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Chapter 9 Use Cases.
Object Oriented Analysis and Design
Using Use Case Diagrams
Use Case Document Example
Use Case Modeling.
Interaction Modeling Extracted from textbook:
Use Case Modeling Part of the unified modeling language (U M L)
SOFTWARE ENGINEERING LECTURE 4
Presentation transcript:

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

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

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

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 Design Use case Test Plan for Use Case

Use Case Template A. Name B. Brief description C. Actors D. Basic flow E. Alternate flows (sometimes called extensions) F. Pre-conditions G. Post-conditions H. Other stakeholders I. System/sub-system J. Special requirements

Use 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

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?

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?

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

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

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

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

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

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 Template

Microwave Example User Cook Food

Cook 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

Cook 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

Cook Food Use Case – Slide 3 of 4 E. Alternate flows (“extensions”) 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 Question 8

Cook 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"

How do the use case and the storyboard fit?

How do you know you have collected enough use cases?

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

Microwave Extension User Cook Food Slice Food >

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

Microwave Inclusion User Cook Food Set Timer >

Cook 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

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

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?

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