Use Cases and Scenarios

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

Requirements Engineering Processes – 2
Requirements Engineering Process
Chapter 1 The Study of Body Function Image PowerPoint
BASIC SKILLS AND TOOLS USING ACCESS
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
RXQ Customer Enrollment Using a Registration Agent (RA) Process Flow Diagram (Move-In) Customer Supplier Customer authorizes Enrollment ( )
Document #07-2I RXQ Customer Enrollment Using a Registration Agent (RA) Process Flow Diagram (Move-In) (mod 7/25 & clean-up 8/20) Customer Supplier.
XP New Perspectives on Microsoft Office Word 2003 Tutorial 7 1 Microsoft Office Word 2003 Tutorial 7 – Collaborating With Others and Creating Web Pages.
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Year 6 mental test 10 second questions
Modern Systems Analyst and as a Project Manager
Making the System Operational
Use Cases.
Week 2 The Object-Oriented Approach to Requirements
Essentials of Marketing 13e
Configuration management
Information Systems Today: Managing in the Digital World
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Testing Workflow Purpose
Use Case Diagrams.
1 CIFTclinic 1.1 Software for Clinics. 2 CIFTclinic Software for Medical Clinics, which addresses the requirements of practicing doctors to automate Medical.
VOORBLAD.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Identifying Our Own Style Extended DISC ® Personal Analysis.
Target Costing If you cannot find the time to do it right, how will you find the time to do it over?
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
© 2012 National Heart Foundation of Australia. Slide 2.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Global Analysis and Distributed Systems Software Architecture Lecture # 5-6.
DB analyzer utility An overview 1. DB Analyzer An application used to track discrepancies and other reports in Sanchay Post Constantly updated by SDC.
Model and Relationships 6 M 1 M M M M M M M M M M M M M M M M
25 seconds left…...
Subtraction: Adding UP
Januar MDMDFSSMDMDFSSS
Analyzing Genes and Genomes
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Principles of Marketing
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology

Benchmark Series Microsoft Excel 2013 Level 2
Use Case Model Shinta P.. UML Actor An actor is behaviored classifier which specifies a role played by an external entity that interacts with the subject.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Use Cases and.
Use Cases and Scenarios
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Use Case Model Use case diagram.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
Understanding Requirements
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Use Cases and Scenarios
Use Case Model Use case diagram.
UML Use Case Diagrams.
Start at 17th March 2012 end at 31th March 2012
Use Cases 1.
Use Case Model Use case diagram – Part 2.
Presentation transcript:

Use Cases and Scenarios

We Will Cover What is a use-case Use-Case diagrams Use-case versus user interaction Use-Case diagrams The constructs in the use-case diagrams Capturing the use-case High-level use-case Extended use-case Difference between use case and scenario 05-Use-Cases

What is a Use-Case A use-case captures some user visible function This may be a large or small function Depends on the level of detail in your modeling effort A use-case achieves a discrete goal for the user Examples Format a document Request an elevator How are the use cases found (captured or elicited)? 05-Use-Cases

User Goals versus User Interactions Consider the following when formatting a document Define a style Change a style Copy a style from one document to the next versus Format a document Ensure consistent formatting of two documents The latter is a user goal Something the user wants to achieve The former are user interactions Things the user does to the system to achieve the goal 05-Use-Cases

Goals and Interactions There is a place for both goals and interactions Understand what the system shall do Capture the user goals Understand how the user will achieve the goals Capture user interactions Sequences of user interactions Thus, start with the user goals and then refine the user goals into several (many) user interactions 05-Use-Cases

Use-Case Diagrams (POST) POST: Point of Sale Terminal Customer Cashier Buy Item Log In Refund a Purchased Item POST Use Case System Boundary Adapted from Larman “Applying UML and Patterns” 05-Use-Cases

Another Example Financial Trading System 05-Use-Cases Set Limits Salesperson Trader Accounting System Trading Manager Set Limits Update Accounts Analyze Risk Price Deal Capture Deal Limit Exceeded Valuation «includes» «extends» Adapted from Fowler “UML Distilled” 05-Use-Cases

Includes and Extends Extends Includes A use-case is similar to another one but does a little bit more Put the normal behavior in one use-case and the exceptional behavior somewhere else Capture the normal behavior Try to figure out what can go wrong in each step Capture the exceptional cases in separate use-cases Makes it a lot easier to understand Includes You have a piece of behavior that is similar across many use cases Break this out as a separate use-case and let the other ones “include” it Examples include Valuation Validate user interaction Sanity check on sensor inputs Check for proper authorization 05-Use-Cases

Includes You have a piece of behavior that is similar across many use cases Break this out as a separate use-case and let the other ones “include” it Examples include Valuation Validate user interaction Sanity check on sensor inputs Check for proper authorization 05-Use-Cases

Extends A use-case is similar to another one but does a little bit more Put the normal behavior in one use-case and the exceptional behavior somewhere else Capture the normal behavior Try to figure out what can go wrong in each step Capture the exceptional cases in separate use-cases Makes it a lot easier to understand 05-Use-Cases

Setting the System Boundary The system boundary will affect your actors and use-cases Adapted from Larman “Applying UML and Patterns” 05-Use-Cases

Adapted from Larman “Applying UML and Patterns” A Different Boundary Let us view the whole store as our system Store Buy Item Refund a Purchased Item Customer Adapted from Larman “Applying UML and Patterns” 05-Use-Cases

Embedded System “Onion Skin” * Perception/Action Sensors/Actuators Interfaces System 05-Use-Cases

Adapted from Larman “Applying UML and Patterns” Partial POST Adapted from Larman “Applying UML and Patterns” 05-Use-Cases

POST Use-Case Use case: Buy Item Actors: Customer (initiator), Cashier Type: Primary Description: The Customer arrives at the checkout with items to purchase. The Cashier records the purchase items and collects a payment. On completion the Customer leaves with the items 05-Use-Cases

POST Expanded Use-Case Use case: Buy Item Actors: Customer (initiator), Cashier Type: Primary and essential Description: The Customer arrives at the checkout with items to purchase. The Cashier records the purchase items and collects a payment. On completion the Customer leaves with the items. Cross Ref.: Requirements XX, YY, and ZZ Use-Cases: Cashier must have completed the Log In use-case 05-Use-Cases

Typical Course of Events Actor Action This use-case begins when a user arrives at the checkout The cashier records purchase items The cashier collects payment The user leaves with items 05-Use-Cases

The Home Heating System * Temp Sensor Water Pump Water Valve Hot Water Home Controller Burner Fuel Valve 90 80 70 60 50 On Off Fuel Control Panel Temp Sensor 05-Use-Cases

Home Heating Use-Case Diagram 05-Use-Cases

Home Heating Use-Cases Use case: Power Up Actors: Home Owner (initiator) Type: Primary and essential Description: The Home Owner turns the power on. Each room is temperature checked. If a room is below the the desired temperature the valve for the room is opened, the water pump started. If the water temp falls below threshold, the fuel valve is opened, and the burner ignited. If the temperature in all rooms is above the desired temperature, no actions are taken. Cross Ref.: Requirements XX, YY, and ZZ Use-Cases: None 05-Use-Cases

Modified Home Heating MH Home Heating Power Up Temp. High «includes» Power Down Adjust Temp «includes» Home Owner «includes» Change Temp. Temp. Low MH 05-Use-Cases

Modified: Home Heating Use-Cases * Use case: Power Up Actors: Home Owner (initiator) Type: Primary and essential Description: The Home Owner turns the power on. Perform Adjust Temp. If the temperature in all rooms is above the desired temperature, no actions are taken. Cross Ref.: Requirements XX, YY, and ZZ Use-Cases: Perform Adjust Temp 05-Use-Cases

Modified: Home Heating Use-Cases * Use case: Adjust Temp Actors: System (initiator) Type: Secondary and essential Description: Check the temperature in each room. For each room: Below target: Perform Temp Low Above target: Perform Temp High Cross Ref.: Requirements XX, YY, and ZZ Use-Cases: Temp Low, Temp High 05-Use-Cases

Modified: Home Heating Use-Cases * Use case: Temp Low Actors: System (initiator) Type: Secondary and essential Description: Open room valve, start pump if not started. If water temp falls below threshold, open fuel value and ignite burner. Cross Ref.: Requirements XX, YY, and ZZ Use-Cases: None 05-Use-Cases

Scenarios -- One Use Case Power-up All temps OK Power-up All temps too low Open valves Ignite burner Open fuel valve Start pump 05-Use-Cases

Scenarios -- One Use Case Power-up All temps too low Open valves Ignite burner Open fuel valve Start pump Burner fails Shut off fuel Stop pump Notify error 05-Use-Cases

HACS Homework assignment and collection are an integral part of any educational system. Today, this task is performed manually. What we want the homework assignment distribution and collection system (HACS for short) to do is to automate this process. HACS will be used by the instructor to distribute the homework assignments, review the students’ solutions, distribute suggested solution, and distribute student grades on each assignment. HACS shall also help the students by automatically distributing the assignments to the students, provide a facility where the students can submit their solutions, remind the students when an assignment is almost due, remind the students when an assignment is overdue. 05-Use-Cases

HACS Use-Case Diagram 05-Use-Cases

HACS Use-Cases Use case: Distribute Assignments Actors: Instructor (initiator) Type: Primary and essential Description: The Instructor completes an assignment and submits it to the system. The instructor will also submit the due date and the class the assignment is assigned for. Cross Ref.: Requirements XX, YY, and ZZ Use-Cases: Configure HACS must be done before any user (Instructor or Student) can use HACS 05-Use-Cases

Alternate HACS 05-Use-Cases

Alternate HACS Use-Cases Use case: Distribute Assignments Actors: Instructor (initiator), Student Type: Primary and essential Description: The Instructor completes an assignment and submits it to the system. The instructor will also submit the delivery date, due date, and the class the assignment is assigned for. The system will at the due date mail the assignment to the student. Cross Ref.: Requirements XX, YY, and ZZ Use-Cases: Configure HACS must be done before any user (Instructor or Student) can use HACS 05-Use-Cases

When to use Use-Cases In short, always!!! Requirements is the toughest part of software development Use-Cases is a powerful tool to understand Who your users are (including interacting systems) What functions the system shall provide How these functions work at a high level Spend adequate time on requirements and in the elaboration phase 05-Use-Cases

How it Fits Together Preliminary Investigation Report Requirements Specification Use-Cases a. All High Level b. Some Expanded Prototypes Use-Case Diagram Budget, Schedule Draft Conceptual Model Adapted from Larman “Applying UML and Patterns” Glossary (data dictionary) 05-Use-Cases