1 TCSS 360, Spring 2005 Lecture Notes Use Cases Relevant Reading: Writing Effective Use Cases A. Cockburn.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Use-Cases.
Object-Oriented Analysis and Design Evolutionary Requirements.
Beyond “The System Shall...” A Journey from Good to Great Requirements.
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.
Writing Use Cases: Requirements in Context
Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 1 Use Cases: an Introduction  Adriano Comai 1999.
Use cases.
Information System Engineering
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.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Lecture 4 Class Responsibility Collaboration Cards
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Documenting Requirements using Use Case Diagrams
A summary of the PSS-05 URD template
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
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 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Use cases: deciding what you want.
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,
User Interface Theory & Design
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases.
Object-Oriented Analysis - Instructor Notes
Chapter 3 Use Cases.
Use Cases 2 ENGR ♯10 Peter Andreae
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
1 © 2005 course technology University Of Palestine Chapter 6 Storyboarding the User’s Experience.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
Systems Analysis and Design in a Changing World, 6th Edition
Use Cases Ivar Jacobson - guru at Rational Corp., defined UML.
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
1 CSE 403 Software Requirements and Use Cases Reading: Writing Effective Use Cases A. Cockburn These lecture slides are copyright (C) Marty Stepp, 2007,
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.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
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.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
User Interface Theory & Design Lecture 6a 1.  User interface is everything the end user comes into contact with while using the system  To the user,
Systems Analysis and Design in a Changing World, 6th Edition
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
S556 SYSTEMS ANALYSIS & DESIGN Week 6. Using Language to Focus Thought (cf., Wood, 1997) SLIS S556 2  The language gives you a way to see:  a framework.
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.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
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.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
Use Cases Discuss the what and how of use cases: Basics Examples Benefits Parts Stages Guidelines.
Relevant Reading: Writing Effective Use Cases A. Cockburn
Use Cases Discuss the what and how of use cases: Basics Benefits
Use Case Model.
Exercices & Corrections Week 3
Start at 17th March 2012 end at 31th March 2012
Concepts, Specifications, and Diagrams
Using Use Case Diagrams
Software Requirements
Object-Oriented Software Engineering
Use cases Dr. X.
Presentation transcript:

1 TCSS 360, Spring 2005 Lecture Notes Use Cases Relevant Reading: Writing Effective Use Cases A. Cockburn

2 Use cases use cases: written descriptions of user's interaction with the software product to accomplish a goal (in a business system): "A sequence of transactions in a system whose task is to yield a result of measurable value to an individual actor of the business system" (in an information system): "A behaviorally related sequence of transactions performed by an actor in a dialogue with the system to provide some measurable value to the actor" (Jacobson 1995) Use cases are the ways in which a system can be used (the functions which the system provides to its users) Use cases help us discover/document requirements

3 Benefits of doing use cases The list of goal names provides executives: Shortest summary of what system will contribute Project planning skeleton (priorities & timing) The main success scenario provides all: Agreement as to the system ’ s responsibilities The extension conditions provide programmers: List of things programmers have to watch for List of things analysts have to investigate The extension handling steps provide dev team: Record of (tricky) business policy decisions

4 Cockburn's requirements list Requirements Outline (p13-14) - good template of all functional 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

5 Actors and stakeholders What is an actor? A primary actor? What is the difference between an actor and a stakeholder? actor: anything with behavior that acts on the system primary actor: initiates interaction to achieve goal (when system is a software product, primary actor is often the computer user) supporting actor: performs sub-goals to help use case stakeholder: anyone interested in the system examples: supplier, stock agency, vendor the difference: stakeholder might not "act" in any scenario

6 Use case goals and levels goal: action that actor wants to accomplish level: type / scope of a goal summary goals ("above sea level"):multi-sitting user goals ("sea-level"):one sitting subfunctions ("below sea level"):partial user goal summary goal subfunction Why? How? What?

7 Goals and levels, examples Withdraw money from an ATM level? Purchase a book from the online store, and have it shipped to the user; can be cancelled while in transit level? Purchase shares of stock online using a "stock trap." level? Update user's balance after a deposit. level? user goal summary goal summary goal subfunction

8 Qualities of a good use case a good use case: starts with a request from an actor to the system ends with the production of all the answers to the request defines the interactions (between system and actors) related to the function takes into account the actor's point of view, not the system's focuses on interaction, not internal system activities doesn't describe the GUI in detail has 3-9 steps in the main success scenario is easy to read

9 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

10 Do use cases capture these? Which of these requirements should be represented directly in a use case? Order cost = order item costs * 1.06 tax. Promotions may not run longer than 6 months. Customers only become Preferred after 1 year. A customer has one and only one sales contact. Response time is less than 2 seconds. 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 or UML use case diagram shows all use cases in system 2. informal use case 3. formal use case Let's examine each of these in detail...

12 1. Actor / goal list it can be useful to create a list or table of actors and their "goals" (use cases they start):

13 UML use case diagrams use cases can be drawn as diagrams, with: actors as stick-men, with their names below use cases as ellipses with their names below or inside association indicated by lines, connecting an actor to a use case in which that actor participates use cases can be connected to other cases that they use / rely on customer open account

14 Example use case diagram

15 Example use case diagram 2 Control System Set limits Calibrate Take profile Scan Liason Physicist Hardware Specialist Experimental Physicist

16 Example use case diagram 3 Order Food Hire Employee Reorder supplies Produce mgt. reports Track sales and inv. data > Customer Applicant Supplier Service Person Manager

17 2. Informal use case informal use case: written as 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.

18 Formal use case example

19 Formal use case elements "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)

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

21 Use case tables formal use cases can also be written as a table:

22 One method to do use cases Now that we know the syntax for doing use cases, what 4 steps does Cockburn recommend when actually brainstorming and writing our use cases? Let's look at each step in detail identify actors and their goals 2. write the main success scenario 3. identify and list possible failure extensions 4. describe how the system handles each failure

23 1. Identify actors and goals Ask oneself the following questions: what computers, subsystems and people will drive our system? (actors) examples: Customer, Clerk, Corporate Mainframe what does each actor need our system to do? each need may show up as a trigger to a use case result: a list of use cases, a sketch of the system short, fairly complete list of usable system function can now draw UML use case diagram for reference

24 Identify actors/goals example exercise: Together, let's identify some major actors and their goals for software for a video store kiosk system. The software can be used for looking up movies and actors by keywords, as well as usable to check out movies from the kiosk to known customers, without a cashier present. A customer can check out up to 3 movies at a time, for up to 5 days each. If a movie is returned late, late fees can be paid at the time of return or time of next checkout. The data is stored internally in a database system, which communicates with the kiosk. The manager of the store can log in to update employee data.

25 2. Write the success scenario main success scenario is the preferred "happy" case example: customer=good credit and item=in stock easiest to read and understand everything else is a complication on this capture each actor's intent and responsibility, from trigger to goal delivery say what information passes between them number each line exercise: Let's do this for the Customer Returns a Movie scenario.

26 3. List the failure extensions usually, almost every step can fail example: customer has bad credit example: item is not in stock in desired quantity note the failure condition separately, after the main success scenario exercise: Let's do this for the Customer Returns a Movie scenario.

27 4. Describe failure-handling recoverable extensions rejoin main course example: low credit + valued customer -> accept example: low stock + reduce quantity -> accept non-recoverable extensions fail directly not a valued customer -> decline order out of stock -> decline order each scenario goes from trigger to completion "extensions" are merely a writing shorthand can write "if" statements can write each scenario from beginning to end exercise: Let's do this for the Customer Returns a Movie scenario.

28 Pros and cons of use cases pro: they hold functional requirements in an easy- to-read text format they make a good framework for non-functional requirements & project scheduling con: they show only the functional reqs design is not done only in use case units

29 User stories (usage narratives) user story: narrative told from user's perspective, describing his/her usage of the system Example: Bill is a marine biologist who wants to see an article about fish. He selects "Article or journal" from the menu. He chooses topic "fish" from the subsequent list shown. The system returns articles to Bill about his chosen topic. The annotated list designates the physical location of articles. Bill clicks articles of interest to him. Abstracts of each flagged article are displayed. Bill makes a final selection of articles based on abstracts. The abstracts are printed, and Bill retrieves them from the printer. How is this different from an informal use case? too personal; too focused on UI; contains non-software details (printing)

30 How do use cases fit in? "Hub and spokes" model puts use cases as central to all requirements Adolph's "Discovering" Requirements in New Territory What do you think? use cases help us discover functional requirements in our system and document them Do use cases affect UI design decisions?

31 Use case exercises Consider the case of a video store that wants a kiosk with intelligent software that can replace human checkout workers. A customer with an account can simply use their membership and credit card with a reader at the kiosk to check out a video. Come up with 5 use case names for such software, and draw a UML use case diagram of these cases and their actors. Write a formal (complete) use case for the Customer Checks Out a Movie scenario.