1 CSE 403 Software Requirements and Use Cases Reading: Writing Effective Use Cases A. Cockburn These lecture slides are copyright (C) Marty Stepp, 2007,

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Use-Cases.
USE CASE MODELLING A use case is a scenario that describes the use of a system by an actor to accomplish a specific goal. An actor is a user playing a.
09/04/2015Unit 2 (b) Back-Office processes Unit 2 Assessment Criteria (b) 10 marks.
Use Case & Use Case Diagram
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
OOAD – II Use Case Analysis Nupul Kukreja 6 th October, 2014.
GCSE PROJECT GUIDELINES Use this presentation to make sure you have the correct content for you project - click on.
Robert B. Jackson Brigham Young University John W. Satzinger
Use Case Modeling.
Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 1 Use Cases: an Introduction  Adriano Comai 1999.
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
Documenting Requirements using Use Case Diagrams
1 TCSS 360, Spring 2005 Lecture Notes Use Cases Relevant Reading: Writing Effective Use Cases A. Cockburn.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
UML exam advice. Minimal, yet sufficient UML course 80% of modeling can be done with 20% of the UML. Which 20% was that again? We’re supposed to be “Use.
Adding the Detail Filling in Use Case Templates. Use Case Template The use case diagram is important for visualizing a system and as a communication tool.
Chapter 13: Designing the User Interface
1 CSE 403 Software Requirements and Use Cases Reading: Writing Effective Use Cases A. Cockburn These lecture slides are copyright (C) Marty Stepp, 2007,
1 Database Requirements and Design. 2 DATA PEOPLE PROCEDURES HARDWARE SOFTWARE The Product: a working system.
Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases.
Chapter 3 Use Cases.
Use Cases 2 ENGR ♯10 Peter Andreae
A guide to Business Pro £29.99 a month Course Management FOFATO Course Booker works in conjunction with
MSF Requirements Envisioning Phase Planning Phase.
Systems Analysis and Design in a Changing World, 6th Edition
Online Goods and Services. Topics Online Shops and Physical Goods Online Shops and Physical Goods Booking Systems Banking Education and Training Gaming.
Use Cases Ivar Jacobson - guru at Rational Corp., defined UML.
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.
Faculty of Computer & Information Software Engineering Third year
1 CSE 403 Software Requirements Reading: Pragmatic Programmer Ch. 7: Before the Project These lecture slides are copyright (C) Marty Stepp, 2007, with.
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
Faculty of Computer & Information
Originated by K.Ingram, J.Westlake.Edited by N.A.Shulver Use Case Scripts What is a Use Case Script? The text to describe a particular Use Case interaction.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Systems Analysis and Design in a Changing World, 6th Edition
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
BlockWood Video 1. Handle rentals and purchases 2. Save all transactions to the database 3. Manage accounts and members 4. Refund items 5. Provide premium.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
CMSC 345 Use Cases. u Describes the system’s behavior under various conditions as the system responds to a request from one of the stakeholders, called.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
Requirements CSE Lecture outline What are requirements? How can we gather requirements? How can we document requirements? Use cases.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
25/2/16. 2 DVD MovieVHS MovieVideo Game Rental Item Rental Invoice 1..* 1 Customer Checkout Screen CusID Name Address Phonenumber Transactionlist.
CSE 403, Spring 2007, Alverson Requirements Pragmatic Programmer Tip: Don’t Gather Requirements – Dig for them Requirements rarely lie on the surface.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Object-Orientated Analysis, Design and Programming
Relevant Reading: Writing Effective Use Cases A. Cockburn
Process Modeling Chapter 6 (with additions by Yale Braunstein) IS 208
Systems Analysis and Design in a Changing World, 6th Edition
Use Cases and Scenarios
Use Case Model.
Database Requirements and Design
Start at 17th March 2012 end at 31th March 2012
SE-565 Software System Requirements IV. Use Cases
Use Case Modeling - techniques for detailing use cases
Concepts, Specifications, and Diagrams
Systems Analysis and Design in a Changing World, 6th Edition
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Software Requirements
Use cases Dr. X.
Presentation transcript:

1 CSE 403 Software Requirements and Use Cases Reading: Writing Effective Use Cases A. Cockburn These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from slides written by Valentin Razmov. They may not be rehosted, sold, or modified without expressed permission from the author. All rights reserved.

2 Lecture outline Requirements definition classifications Use cases

3 Big questions How do use cases relate to requirements? What are the ways we can document a use case? What is an actor? A goal? A stakeholder? What are Cockburn's steps for creating a use case? What is an extension, and why are extensions useful?

4 Classifying requirements The classic way to classify requirements: functional: map inputs to outputs "The user can search either all databases or a subset." "Every order gets an ID the user can save to account storage." nonfunctional: other constraints performance, dependability, reusability, safety "Our deliverable documents shall conform to the XYZ process." "The system shall not disclose any personal user information." Another way to classify them (Faulk) behavioral: about implementation; can be measured features, performance, security development quality attributes: part of internal construction flexibility, maintainability, reusability (more subjective)

5 Cockburn's requirements list Requirements Outline (p13-14) - good template of all func. requirements 1.purpose and scope 2.terms / glossary 3.use cases 4.technology used 5.other 5a.development process - participants, values (fast-good-cheap), visibility, competition, dependencies 5b.business rules / constraints 5c.performance demands 5d.security (now a hot topic), documentation 5e.usability 5f.portability 5g.unresolved / deferred 6.human issues: legal, political, organizational, training

6 Use cases use cases: written descriptions of user's interaction with the software product to accomplish a goal helps us discover and document functional requirements benefits of doing use cases: agreement as to the system's responsibilities provides executives a skeleton for planning project priorities extension conditions provide a list of things to test for qualities of a good use case: starts with a request from an actor to the system ends with production of all answers to the request defines the interactions between system and actors written from actor's point of view, not system's 3-9 clearly written steps in main success scenario

7 Use cases vs. internal features consider software to run a cell phone: Use Cases call someone receive a call send a message memorize a number Point of view: user Internal Functions transmit / receive data energy (battery) user I/O (display, keys,...) phone-book mgmt. Point of view: developer / designer

8 Actors, stakeholders, goals actor: anything with behavior (acts on the system) primary actor: initiates interaction to achieve goal supporting actor: performs sub-goals in use case stakeholder: anyone interested in the system supplier, stock agency, vendor stakeholder might not "act" in any scenario goal: action that actor wants to accomplish summary goals ("above sea level"):multi-sitting user goals ("sea-level"):one sitting subfunctions ("below sea level"):partial Why? How? What?

9 Goals and levels, examples What level are these goals at? withdraw money from an ATM purchase book from online store, and have it shipped to user (can be cancelled while in transit) purchase shares of stock online using a "stock trap" update user's balance after a deposit Answers: user goal, summary goal, summary goal, subfunction

10 Do use cases capture these? Which of these requirements should be represented directly in a use case? Special deals may not run longer than 6 months. Customers only become preferred after 1 year. A customer has one and only one sales contact. Database response time is less than 2 seconds. Web site uptime requirement is 99.8%. Number of simultaneous users will be 200 max. Answer: NONE. Most of these requirements are non- functional, so the use cases wouldn't explicitly mention them. The user doesn't see them directly in the success scenario.

11 Styles of use cases 1. Actor / goal list, UML use case summary diagram shows all use cases in system 2. Informal use case 3. Formal use case Let's examine each of these in detail...

12 1a. Actor / goal list It can be useful to create a list or table of actors and their "goals" (use cases they start): ACTORUSE CASES INITIATED Club MemberSubmit Promotion Order Submit Regular Order Potential MemberSubmit New Subscription Past MemberSubmit Subscription Renewal Membership Services Dept.Request Membership Marketing DepartmentCreate New Monthly Promotion Create New Seasonal Promotion Create New Subscription Program Request Promotion Reports Request Sales Reports Membership Services SystemSend New Subscription Offer Send Club Promotion Send Subscription Renewal

13 1b. Use case summary diagram Control System Set limits Calibrate Take profile Scan Liaison Physicist Hardware Specialist Experimental Physicist actor: stick-man use cases: ellipses name inside actor-case association: line use cases can be connected to other cases that they use

14 Use case summary diagram 2

15 2. Informal use case informal use case: a paragraph describing the scenario Example: Customer Loses a Tape The customer reports to the clerk that he has lost a tape. The clerk prints out the rental record and asks customer to speak with the manager, who will arrange for the customer to pay a fee. The system will be updated to reflect lost tape, and customer's record is updated as well. The manager may authorize purchase of a replacement tape.

16 3. Formal use case "Place an order" (User goal / Clerk) Main scenario: 1. Clerk identifies customer, item and quantity. 2. System accepts and queues the order. Extensions: 1a. Low credit & Customer is 'Preferred': 1a1. System gives them credit anyway. 1b. Low credit & not 'Preferred' customer: 1b1. Clerk performs Sign Up Preferred Customer scenario and accepts only prepayment. 2a. Low on stock: Customer accepts rain-check: 2a1. Clerk reduces order to available stock level. (goal of primary actor) (level of goal [summary, user, subfunction]) (action steps: full sentences showing who takes the action! steps long.) (condition causing different actions) (action step(s) handling those conditions) (primary actor) (calling another use case)

17 Formal use case example

18 Example use case Use Case 12. Buy stocks over the web Primary Actor: Purchaser (user) Scope: PAF Level: user goalPrecondition: User already has PAF open. Guarantees: sufficient log information exists that PAF can detect what went wrong. Success Guarantees: remote web site acknowledged purchase, user's portfolio updated. Main success scenario: 1. User selects to buy stocks over the web. 2. PAF gets name of web site to use (E*Trade, Schwabb, etc.) 3. PAF opens web connection to the site, retaining control. 4. User browses and buys stock from the web site. 5. PAF intercepts responses from the web site, and updates the user's portfolio. 6. PAF shows the user the new portfolio standing. Extensions: 2a. User wants a web site PAF does not support: 2a1. System gets new suggestion from user, with option to cancel use case. 3a....

19 Cockburn's 4 use case steps 1. Identify actors and goals What computers, subsystems, people will drive our system? What does each actor need our system to do? result: a list of use cases, a sketch of the system 2. Write the main success scenario easiest to read; everything else is a complication on this capture each actor's intent and responsibility 3. List the failure extensions usually almost every step can fail (bad credit, out of stock...) note failure condition separately, after main success scenario 4. Describe failure-handling recoverable: back to main course (low stock + reduce quantity) non-recoverable: fails (out of stock, or not a valued customer) each scenario goes from trigger to completion

20 Identify actors/goals example Consider software for a video store kiosk that takes the place of human clerks. A customer with an account can use their membership and credit card at the kiosk to check out a video. The software can look up movies and actors by keywords. A customer can check out up to 3 movies, for 5 days each. Late fees can be paid at the time of return or at next checkout. Exercises: Come up with 4 use case names for such software, and draw a UML use case summary diagram of the cases and their actors. Write a formal (complete) use case for the Customer Checks Out a Movie scenario.