© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Welcome to informaworld TM. The following demo will show you just a few of the features on informaworld TM. Please select where you would like start. ePublication.
Use-Cases.
Karolina Muszyńska Based on:
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
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.
03/12/2001 © Bennett, McRobb and Farmer What Are Information Systems? Based on Chapter 1 of Bennett, McRobb and Farmer: Object Oriented Systems.
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Documenting Requirements using Use Case Diagrams
Use Case Modelling.
Federal Acquisition Service U.S. General Services Administration
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
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.
03/12/2001 © Bennett, McRobb and Farmer What Are Information Systems? Based on Chapter 1 of Bennett, McRobb and Farmer: Object Oriented Systems.
Chapter 13: Designing the User Interface
The first step in getting what you want is to decide what you want.
IS0514 Lecture Week 3 Use Case Modelling.
Regal Web Booking Engine Group Booking User Guide.
USE Case Model.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
Use Case modelling 1. Objectives  Document user requirements with a model  Describe the purpose of an actor and a use case  Construct a use case model.
Introduction to Sequence Diagrams
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.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
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.
Chapter 7 Appendix A Object-Oriented Analysis and Design: Use Cases Modern Systems Analysis and Design Seventh Edition Jeffrey A. Hoffer Joey F. George.
1 אירוע אמאזון. 2 שלבי הפיתוח עם דיאגרמות UML 3 אמאזון תרשים תוכן.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Use Case Modeling Example By: Dr. Issam Al-Azzoni.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
03/12/2001 © Bennett, McRobb and Farmer What Are Information Systems? Based on Chapter 1 of Bennett, McRobb and Farmer: Object Oriented Systems.
Use Cases CS 6961 – Lecture 4 Nathan Dykman. Neumont UniversityCS Lecture 102 Administration Homework 1 is due –Still reviewing the proposal, but.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
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.
4-1 © Prentice Hall, 2007 Topic 4: Structuring Systems Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey.
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.
Understanding Requirements
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
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,
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.
Object-Orientated Analysis, Design and Programming
Chapter 7 Appendix A Object-Oriented Analysis and Design: Use Cases
Systems Analysis and Design in a Changing World, 6th Edition
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
UML Use Case Diagrams.
Use Case Model Use case description.
Systems Analysis and Design in a Changing World, 6th Edition
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Use Cases 1.
IS0514 Lecture Week 3 Use Case Modelling.
Use Case Document Example
Object-Oriented Software Engineering
Use cases Dr. X.
Presentation transcript:

© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (4th Edition), McGraw Hill, 2010.

2© 2010 Bennett, McRobb and Farmer In This Presentation You Will Learn: What is a Use Case Description The difference between essential and real use cases How to describe Use Cases informally as a step-by-step sequence of actions How to apply Cockburn’s template for formal Use Case Descriptions

3© 2010 Bennett, McRobb and Farmer What is a Use Case Description? A Use Case Diagram gives an overall view: –Of a system’s functionality (use cases) –How functions relate to each other at run-time («extends» and «includes» relationships) –How user roles (actors) interact with functions Use Case Diagrams do not show: –Sequence or iteration of inputs and outputs while a use case executes –Alternative courses of action dependent on conditions –Pre-conditions for a use case to commence execution –Other meta-data about the use case

4© 2010 Bennett, McRobb and Farmer What is a Use Case Description? A Use Case Description addresses these limitations of the diagram There are several ways to document a Use Case Description, ranging from very informal to very formal Most organizations will have their own style and standard, often based on Cockburn’s (2001) template

5© 2010 Bennett, McRobb and Farmer Essential and Real Use Cases Some authors distinguish between essential and real use cases An essential use case is quite abstract, and makes no reference to design or technology aspects A real use case is implementation- oriented, referring to specific technologies (e.g. interface widgets, hardware devices, etc) For this presentation, we will focus mainly on essential use case descriptions

6© 2010 Bennett, McRobb and Farmer Informal Step by Step Descriptions It is often useful to describe a use case simply as a sequence of I/O: –User inputs something –System outputs something –User inputs something else –System outputs something else Very easy to confirm with users Also gives developers lots of clues about data, processing and screen content

7© 2010 Bennett, McRobb and Farmer Example #1: ‘Buy product’ Customer Buy product online (this example is adapted from Fowler, 2003)

8© 2010 Bennett, McRobb and Farmer Imagine the Scenario If you buy something from a website, you probably: –Browse through several products –Choose one –Go to the checkout –Fill in some information –Get confirmation of the sale

9© 2010 Bennett, McRobb and Farmer Main Scenario: ‘Buy product’ Informal description: Buy product online 1. Customer browses catalogue 2. System displays product details 3. Customer selects item to buy, goes to check-out 4. System displays shopping cart page 5. Customer fills in delivery information 6. System shows full pricing, including shipping 7. Customer fills in credit card details 8. System authorizes card, confirms sale on screen and sends to customer (Note that ‘Shopping cart’ and ‘ ’ are real aspects of this use case, while the rest of the description is essential)

10© 2010 Bennett, McRobb and Farmer Optional Steps Description also covers any alternative courses, and the triggers that initiate their execution: Alternative course: Card fails to authorize At step 8, system fails to authorize credit purchase. Return to step 7, allow customer to re-enter credit card information, retry authorization.

11© 2010 Bennett, McRobb and Farmer What the Description tells us: Even an informal description gives a lot of information that is useful to the developer: –Sequence and any iteration of steps – what order things should happen –I/O – fields, text boxes, buttons, etc needed on the screen –Data – what must be stored or retrieved –Process – calculations, other steps that will need coding –Alternatives – branch points in the sequence

12© 2010 Bennett, McRobb and Farmer Example #2: Training Administration System Admin clerk Book course place (this example is adapted from Skidmore and Eva, 2004)

13© 2010 Bennett, McRobb and Farmer Main scenario: ‘Book course place’ Book course place 1. Admin clerk retrieves scheduled course details 2. System displays number of places free 3. Admin clerk chooses ‘add delegate to a course’ 4. System requests delegate details 5. Admin clerk enters delegate details 6. System stores details and confirms

14© 2010 Bennett, McRobb and Farmer Alternate course: no free places 1. Admin clerk retrieves scheduled course details 2a. System displays ‘no places free’ 2a1. Admin clerk selects ‘search for dates with free places’ 2a2. Systems displays dates with free places 2a3. Admin clerk selects date (back to main course, step 4)

15© 2010 Bennett, McRobb and Farmer Alternate course: details missing 4. System requests delegate details 5a. Admin clerk enters details that are known 5a1. Systems displays ‘reservation is conditional on full details – OK?’ 5a2. Admin clerk clicks OK (back to main course, step 6)

16© 2010 Bennett, McRobb and Farmer Formal Descriptions: Cockburn’s Template The usual basis for formal use case descriptions, this is divided into five main sections: –Characteristic Information: a summary of the purpose and context of the use case –Description: Main Success Scenario, Extensions and ‘Technology and Data Variations List’ –(Optional) Related Information: non-functional aspects, links to other use cases, etc. –(Optional) Open Issues: unresolved issues still to be addressed –Schedule (for development)

17© 2010 Bennett, McRobb and Farmer Characteristic Information in detail Goal in Context: what is this use case for? Scope: the system (or systems) within which this use case applies Level: is this use case primary - called directly by the actor? Preconditions: what should be true for the use case to execute? Success End Condition: what should have changed after it has executed? Minimal Guarantee: what should minimally occur even if the use case fails to achieve its main goal Primary Actor: self explanatory Trigger: what event causes execution to begin?

18© 2010 Bennett, McRobb and Farmer Description in detail Main Success Scenario: the steps of the scenario from trigger to success, including any final closing down (e.g. interfaces or database connections) Extensions: alternate courses are described here, also any calls to other «includes» or «extends» use cases Technology and Data Variations List: describes alternative ways that the use case might be implemented, e.g. to allow for different UI devices (say, touch screen vs keyboard and mouse interface)

19© 2010 Bennett, McRobb and Farmer Related Information (optional) Priority: how important is this use case to the project? Performance Target: how quickly must the system respond to input or complete execution? Frequency: how often will it need to execute? Subordinate Use Cases: other use cases on which this one depends for its success Channel to primary actor: how will the actor communicate with the use case? Secondary Actors: other actors who can initiate and execute the use case Channel to Secondary Actors: as above

20© 2010 Bennett, McRobb and Farmer Open Issues and Schedule Any unresolved questions should be described in enough detail for another developer to work on them later If the development schedule for this use case has been decided, it should be documented

21© 2010 Bennett, McRobb and Farmer Summary In this presentation you have learned : What a Use Case Description is What is the difference between essential and real use cases How to describe Use Cases informally as a step-by-step sequence of actions How to apply Cockburn’s template for formal Use Case Descriptions

22© 2010 Bennett, McRobb and Farmer References Fowler (2003) Skidmore and Eva (2004) Cockburn (2001) (For full bibliographic details, see Bennett, McRobb and Farmer)