© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Use Cases and.

Slides:



Advertisements
Similar presentations
Use Cases and Scenarios
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
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.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Object Design Examples with GRASP
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Use cases.
Information System Engineering
UML: Use Cases Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Solving the Problem Analysis & Design.
Understanding Requirements
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
Use Cases and Scenarios
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Modeling System Requirements with Use Cases
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence.
The first step in getting what you want is to decide what you want.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
USE Case Model.
RUP Requirements RUP Artifacts and Deliverables
Rational Unified Process (Part 1) CS3300 Fall 2015.
The Unified Modeling Language Part I Omar Meqdadi SE 2730 Lecture 6 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 6 – System Design II: Behavioral Models. 6.1 Models Models - what do you think of? 2.
System Specification Specify system goals Develop scenarios Define functionalities Describe interface between the agent system and the environment.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
1 Unified Modeling Language Michael K. Wildes University of California, Riverside – Extension Program Presentation 2.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Approaching a Problem Where do we start? How do we proceed?
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class project.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
♦ Use Case Model  Detailled use case - Important  Use case diagram- Refactoring Use case diagram  > 1 Last Lectures.
Systems Analysis and Design in a Changing World, Fourth Edition
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Use Case Model Use case diagram.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Information Systems Analysis and Management Modeling Sys. Requirements with Use Cases Arnie Lund, Jeffrey Kim May 5, 2009 INFO380.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Phase 6 Start: Saturday14 April End: Saturday 21 April
Use Cases Todd S. Bacastow Professor of Practice John A. Dutton e-Education Institute The Pennsylvania State University.
Understanding Requirements
UML (Unified Modeling Language)
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Object Modeling Approach
Welcome to M301 P2 Software Systems & their Development
Use Cases and Scenarios
Department of Computer Science
Use Case Model Use case diagram.
UML Use Case Diagrams.
Start at 17th March 2012 end at 31th March 2012
Object Modeling Approach
Use Cases 1.
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Requirements Very High level specification of what system should do
Software Requirements
Presentation transcript:

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Use Cases and Scenarios

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. We Will Cover What is a use-case –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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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)?

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Use-Case Diagrams (POST) CustomerCashier Buy Item Log In Refund a Purchased Item POST Use Case System Boundary Adapted from Larman “Applying UML and Patterns” POST: Point of Sale Terminal

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. SalespersonTrader Accounting System Trading Manager Set Limits Update Accounts Analyze Risk Price Deal Capture Deal Limit Exceeded Valuation «includes» «extends» Another Example Adapted from Fowler “UML Distilled” Financial Trading System

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Includes and Extends 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 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Setting the System Boundary The system boundary will affect your actors and use-cases Adapted from Larman “Applying UML and Patterns”

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Customer Buy Item Refund a Purchased Item Store A Different Boundary Let us view the whole store as our system Adapted from Larman “Applying UML and Patterns”

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Embedded System “Onion Skin” Perception/Action Sensors/Actuators System Interfaces *

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Partial POST Adapted from Larman “Applying UML and Patterns”

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Typical Course of Events Actor Action 1.This use-case begins when a user arrives at the checkout 2.The cashier records purchase items 3.The cashier collects payment 4.The user leaves with items

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Fuel Valve On Off Controller Burner Water Pump Hot Water Fuel Temp Sensor Water Valve Control Panel Home The Home Heating System Temp Sensor

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Home Heating Use-Case Diagram

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Modified Home Heating Home Owner MH Power Up Power Down Change Temp. Home Heating Adjust Temp Temp. High Temp. Low «includes»

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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, 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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.

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. HACS Use-Case Diagram

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Alternate HACS

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 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

© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. How it Fits Together Preliminary Investigation Report Prototypes Budget, Schedule Requirements Specification Use-Case Diagram Draft Conceptual Model Use-Cases a. All High Level b. Some Expanded Glossary (data dictionary) Adapted from Larman “Applying UML and Patterns”