Use Cases and Scenarios

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.
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.
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Use Cases and.
Fall 2009ACS-3913 Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Understanding Requirements
Use Cases and Scenarios
Object Interaction Modeling
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.
The Unified Modeling Language Part I Omar Meqdadi SE 2730 Lecture 6 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
System Specification Specify system goals Develop scenarios Define functionalities Describe interface between the agent system and the environment.
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.
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
Software Architecture in Practice Architectural description (The reduced version)
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Faculty of Computer & Information
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Use Case Model Use case diagram.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
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
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
PRESENTATION ON USE CASE. Use Case Modeling Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
Understanding Requirements
UML (Unified Modeling Language)
Use Case Diagrams Lecture Oo14 Use Cases. References n Booch, et al, The Unified modeling Language User’s Guide, AWL, 1999, Chapt 16 & 17 n Fowler & Scott,
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Object Modeling Approach
Elaboration popo.
Component and Deployment Diagrams
Lec-5 : Use Case Diagrams
System Sequence Diagrams and Operation Contracts
Department of Computer Science
Merchandising Activities
Webapp Design with System Sequence Diagrams
Use Case Model Use case diagram.
UML Use Case Diagrams.
OO Domain Modeling With UML Class Diagrams and CRC Cards
Start at 17th March 2012 end at 31th March 2012
Requirements: Use Case Models and Narratives
Object Modeling Approach
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Use Cases 1.
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Software Requirements
Engineering Quality Software
Software Development Process Using UML Recap
Use cases Dr. X.
Presentation transcript:

Use Cases and Scenarios CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- Use Cases 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 CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- 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)? CSE870: Advanced Software Engineering: UML-- 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 CSE870: Advanced Software Engineering: UML-- 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 CSE870: Advanced Software Engineering: UML-- Use Cases

Point of Sale Terminal (POST) Computerized system to record sales and handle payments Typically used in a retail store Includes HW components, such as computer and bar code scanner Software to run the system Goals of system: Increase checkout automation fast and accurate sales analysis automatic inventory control CSE870: Advanced Software Engineering: UML-- 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” CSE870: Advanced Software Engineering: UML-- Use Cases

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

CSE870: Advanced Software Engineering: UML-- Use Cases Includes/Uses 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 CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- 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 much easier to understand CSE870: Advanced Software Engineering: UML-- Use Cases

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

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” CSE870: Advanced Software Engineering: UML-- Use Cases

Partial POST CSE870: Advanced Software Engineering: UML-- Use Cases Adapted from Larman “Applying UML and Patterns” CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- 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 CSE870: Advanced Software Engineering: UML-- 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 CSE870: Advanced Software Engineering: UML-- Use Cases

The Home Heating System 90 80 70 60 50 On Off Controller Burner Water Pump Hot Water Fuel Temp Sensor Water Valve Control Panel Home Fuel Valve CSE870: Advanced Software Engineering: UML-- Use Cases

Home Heating Use-Case Diagram CSE870: Advanced Software Engineering: UML-- 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, the fuel valve 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 CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- Use Cases Modified Home Heating Home Heating Power Up Temp. High «includes» «includes» Power Down Adjust Temp «includes» Home Owner «includes» Change Temp. Temp. Low MH CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- 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. CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- Use Cases HACS Use-Case Diagram CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- 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 CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- Use Cases Alternate HACS CSE870: Advanced Software Engineering: UML-- Use Cases

CSE870: Advanced Software Engineering: UML-- 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 CSE870: Advanced Software Engineering: UML-- Use Cases