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.

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design Evolutionary Requirements.
Advertisements

Ver 1,12/09/2012Kode :CIA-230 Anal-Perc.SistemFASILKOM PERTEMUAN-4 Chapter 4. Use Case Analysis.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Object-Oriented Analysis and Design
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Writing Use Cases: Requirements in Context
Use cases.
Objectives Detailed Object-Oriented Requirements Definitions
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.
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
Systems Analysis and Design in a Changing World, Fourth Edition
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” - may be of.
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
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
Use Case Analysis 17-Apr-17 Software Engineering.
Object-Oriented Analysis and Design
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Use cases: deciding what you want.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
This section has been adapted from Dr. Scott Fleming of U. Memphis Details about Use Cases.
The first step in getting what you want is to decide what you want.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative Development Part III Elaboration Iteration I – Basic1.
System Sequence Diagrams
Object-Oriented Analysis and Design
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Object-Oriented Analysis - Instructor Notes
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
ZEIT2301 Design of Information Systems Functional Design: Use Cases School of Engineering and Information Technology Dr Kathryn Merrick.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
4 2009/10 Object Oriented Technology 1 Topic 4: The Object-Oriented Approach to Requirements Adopted from: Ch.7 The Object-Oriented Approach to Requirements.
Chapter 6 Use Case –The interaction between an actor and the system.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Object-Oriented Analysis and Design Jan 14, 2009.
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
2. Inception 6. Use-Case Model: Writing Requirements in Context.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
OO Methodology Inception Phase.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
SYS466 Casual Use Case Specifications. Systems Use Case Diagrams and Specifications Based on the dialog metaphor Based on the dialog metaphor The process.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
Systems Analysis and Design in a Changing World, Fourth Edition
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
Chapter 6: Use Cases.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
Understanding Requirements
Larman chapter 61 Use cases Larman chapter 6. 2 Fig. 6.1.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Chapter 4: Business Process and Functional Modeling, continued
Systems Analysis and Design in a Changing World, 6th Edition
Use Cases Discuss the what and how of use cases: Basics Benefits
Start at 17th March 2012 end at 31th March 2012
Chapter 6 Use Case The interaction between an actor and the system.
Systems Analysis and Design in a Changing World, 6th Edition
Use Case Modeling.
Engineering Quality Software
Object-Oriented Software Engineering
Use cases Dr. X.
Presentation transcript:

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 later phases of development –Emphasizes user goals and perspective Not system implementation choices and details –A way of specifying functional requirements Example: Process sale (Brief, informal format)

Use Cases Use cases are text, not diagrams –UML use case diagrams are auxiliary Definitions: –Actor: Something with behavior A person (user) A computer system An organization –Scenario: A specific sequence of actions and interactions between actors and the system Also called a “use case instance” One particular story of using a system One path through the use case –A use case: A collection of related success and failure scenarios that describe an actor using a system to achieve a goal.

Use Cases –A use case (Informal format) –Use case model: Set of all written use cases + UML use case diagrams

Use Case Formats Three formats –Brief –Casual –Fully dressed (fully detailed) Fully-dressed example follows

Sections of a Use Case Scope: Bounds system under design Level: User-goal or subfunction –User goal: Buy some stuff and pay –Subfunction: Cashier authenticates himself Duplicated steps factored out Primary actor Stakeholders and interests list: –Functional and non-functional requirements come from these

Sections of a Use Case Pre-conditions: –Conditions that must hold before use case is started –Noteworthy assumptions –NOT TESTED within the use case –Example: Logging in successfully completed Post-conditions (success guarantees) –What is guaranteed to be true upon successful termination of the use case –Should meet all needs of all stakeholders

Sections of a Use Case Main success scenario or basic flow –Defer conditional and branching statements to the Extensions section –Records steps of success path –A step: An interaction between actors A validation (usually by the system) A state change by the system –Example: Recording or modifying something –Some sequences of steps may be repeated. See POS example.

Sections of a Use Case Extensions (Alternate Flows) –Normally comprise majority of text –Other scenarios or branches –Can be both success and failure –An extension of Step 3 of basic flow is labeled by 3a, 3b,... –An extension that can take place at any step is labelled *a, *b –An extension has two parts 1.The condition: Something that can be detected by the system or the actor 2.The handling: Response to the alternative condition –At the end of extension, execution merges with basic flow unless indicated otherwise –Sometimes one use case scenario can perform a branch and lead to another use case scenario. Show with underlines Special requirements Technology and data variations list

Some Guidelines Keep user interface (UI) details out of the use case –Example: Log in vs. authenticate oneself Focus on “intent”. Do not specify a mechanism. Write terse use cases. Don’t need to use full sentences. Write “black-box” use cases. Do not specify internal workings of system, components, design yet. –These come later. Do not make design decisions during requirements specification.

How to find use cases? Choose the system boundary Just a software application? Hardware and application as a unit? Entire organization? Find primary actors and goals Look for nouns and verbs in informal descriptions

Fig. 6.2

Common Mistakes Scope of use case too large or too small. Examples: –Negotiate a supplier contract –Handle returns –Log in –Move piece on game board Rules of thumb for deciding use case scope –The boss test: Level of task should be an item of business you can report to a boss –The elementary business process (EBP) test: A task performed by one person in one place at one time in response to a business event which adds measurable business value and leaves the data in a consistent state. –The size test: 3-10 pages –Exceptions: Subfunctions, e.g. “paying by credit”

UML Use Case Diagrams

UML Use Case Diagrams: Alternative Actor Notations

Fig. 6.6

Monopoly Game Very simple use case diagram and text Most detail is deferred to Supplementary Specification (SS) –Domain rules listed in SS

Use Cases in Iterative Methods Functional requirements recorded in use cases Important part of iterative planning –Work of an iteration decided by choosing use case scenarios or entire use cases Use cases influence organization of user manuals Testing builds on use case scenarios Iterative interplay between –Requirements discovery –Building parts of system