Use Cases 7/09. lnot part of the system lrepresents roles a user can play lrepresents a human, a machine or another system lactively exchanges information.

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

Object-Oriented Analysis and Design Evolutionary Requirements.
Use Case Diagrams Damian Gordon.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
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.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Information System Engineering
Use Cases Alistair Cockburn, Writing Effective Use Cases, Addison-Wesley, Grady Booch, James Rumbaugh, and Ivar Jacobson, Unified Modeling Language.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Use-case Modeling.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Use Case Modelling.
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
Use Cases: The Technique
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
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.
Managing Changing Requirements: Structure the Use Case Model PowerPoint Presentation derived from IBM/Rational course Mastering Requirements Management.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Introduction to Sequence Diagrams
Intro: Use Case and Use Case Diagram Documentation.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
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.
1 Source: IBM Academic Program IBM Software Group ® Mastering Requirements Management with Use Cases Module 3: Introduction to Use-Case Modeling.
Faculty of Computer & Information Software Engineering Third year
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
REQUIREMENTS CAPTURE 1 ASU Course Registration System Use-case Model Actor.
Faculty of Computer & Information
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Purpose  To establish and maintain agreement with the customers and other stakeholders on what the system should do.  To provide system developers with.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 Use Case 1 what are use cases? “A specification of sequences of actions, including variant.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
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.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
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.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Use Case Diagram Lecture # 1. Use Case Diagram Use-cases are descriptions of the functionality of a system from a user perspective.  Depict the behaviour.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Using Use Case Diagrams
Use Case Modeling - II Lecture # 27.
Chapter 5 유스케이스 개요 Introduction to Use Cases
Storyboarding and Game Design SBG, MBG620 Full Sail University
Use Case Model.
Use Case Model Use case diagram.
SE-565 Software System Requirements IV. Use Cases
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Object Oriented Analysis and Design
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Interaction Modeling Extracted from textbook:
Presentation transcript:

Use Cases 7/09

lnot part of the system lrepresents roles a user can play lrepresents a human, a machine or another system lactively exchanges information with the system: a giver or a recipient What Is an Actor?

Charlie as Caller Charlie as Customer Charlie Phone Owner Phone Carrier A User Can Act as Several Actors

Phone System Voice mail CallerCallee Is the Voice Mail an actor or part of the system? What about other providers? System boundary? Actors Help Define System Boundaries

Questions to Identify Actors Who will use the system? Who needs support from the system to do regularly occurring tasks? Who will maintain the system? What hardware does the system support or interact with? What other systems are needed for this system to work? Who will supply, use, or remove information?

A use case defines a sequence of actions performed by a system that yields an observable result of value to an actor Use Case Rule #1

Use Cases A use case is always initiated by an actor. A use case provides value to an actor. A use case is complete.

For each actor, ask the following questions: What are the primary tasks the actor wants the system to perform? Will the actor create, store, change, remove, or read data in the system? Will the actor need to inform the system about sudden, external changes? Does the actor need to be informed about certain occurrences in the system? Will the actor perform a system startup or termination?

Candidate Use Cases: Must be for the Actor

Use Case Diagram: System Diagram starts with a bounding box and a subject Goal: determine the boundaries of the system: what’s in, what’s out. Cell-phone System

pAn actor represents an external entity that interacts with the system. pA use case defines a sequence of actions performed by a system that yields an observable result of value to an actor. Actor Use Case The Use-Cases Model Major Concepts

Actor Icons > Borrower These are the same, but the class rectangle is almost never used in use case diagrams

Caller Customer Billing Manager Callee Bill Customer Text Message Place Call A model of what the system is supposed to do (use case), and the system’s surroundings (actors). A Sample System Cell-phone System Non-network Provider

Use Case Model  Identifies external interactions  Provides a basis for system design  Provides a basis for system testing and walkthroughs  Can help avoid requirements creep  “We’ll have to create a new use case and modify some existing ones …”  Makes customers aware of impact of changes

Scenarios Three Definitions Alternate path An instance A use case

Flow of Events (Scenario) Represents what system does, not how the system performs behavior Should be clear enough for outsider to understand Guidelines: –How use case starts and ends –What data is exchanged between actor and use case –Do not describe details of user interface –Describe flow of events, not only functionality –Do not describe what happens outside the system –Avoid vague terminology (etc.; information)

Scenario 1: Place Call Preconditions: A caller wants to make a call to a callee. The cell phone is on and connected to a cell phone network. The phone is idle. Postconditions: On successful completion, the phone is idle. The caller has been connected to the callee for voice communication. Actors: Caller, Callee, Network Provider

Scenario 1: Place Call 1.The caller activates the “call” option. (this may be by opening the phone or selecting some UI element.) 2.The system displays a blank list of digits and indicates it is in “call” mode. 3.The user enters digits (ALT 1). 4.The system displays the entered digits. 5.The user selects the “dial” option (ALT 2). 6.The system sends the sequence of digits to the network provider. 7.The network provider accesses the network and makes a connection (ALT 3, ALT 4). 8.The callee answers (ALT 5). 9.The network provider completes the voice connection. 10.The caller and callee engage in voice communications. 11.The caller hangs up (ALT 6). 12.The system returns to idle mode. 13.End of Use Case.

Scenario 1: Place Call ALT 1: The user uses speed dial. A1-1: The user enters a single digit and selects “dial”. A1-2: The system accesses the phone number associated with the digit (ALT 1.1). A1-3: Use case continues at step 6. ALT 1.1: No speed dial number is associated with the entered digit. A1.1-1: The system ignores the “dial” command and displays the digit. A1.1-2: Use case continues at step 4. ALT 2: The user cancels the operation. A2-1: Use case continues at step 12.

Actor Generalization Registered User BorrowerManager

Include-Relationship-1 Inclusion always abstract Used as follows: –Factor out behavior from base use case if not necessary for understanding of primary purpose of use case. –Factor out behavior that is common for 2+ use cases. Identify Customer Withdraw Cash Deposit Cash Transfer Funds >

Include-Relationship Description Define location within the behavior sequence of base case where inclusion is to be inserted. Define location by referring particular step or subflow within flow of events –Includes the Identify Customer use case to determine the identity of the customer. Describe include relationship from Withdraw Cash to Identify Customer as follows: –Identify Customer is inserted between sections 1.1 Start of Use Case and 1.2 Ask for Amount in the flow of events of Withdraw Cash.

Extend Relationship Often abstract, but does not have to be Used to: –Show that a part of a use case is optional –Show that a subflow is executed only under certain conditions –Show that there may be set of behavior segments that are inserted depending on interaction with actors Place Conference Call Show Caller Identity Caller Place Call Callee >

Extend Relationship Description Each extend relationship has a list of references to extension points in the base case. Extension points are referenced by name. Example: –Condition: Receiving party must have ordered the service “Caller ID” –Extension Points: Show Identity – insert the whole use case –In main flow of events, show the extension point as follows: …(Show Identity). …

Use-Case-Generalization Use when two or more use cases have commonalities in behavior, structure, or purpose. Describe in child spec how behavior sequences from the parents are interleaved with the child. Phone Order Internet Order Customer Internet Customer Place Order

Use Case Place order pay cash Credit card Request catalog > Extends: Insertion of additional behavior into a use case that does not know about it. Generalization: relationship between general case and specific case that adds features to the general case

Difference between Include and Extend Include: Extends

Stages of Use Case Construction Identify most important interactions Fill in use cases –Triggers, pre and post conditions, basic course of events, document exceptions –Break out detailed use cases Focus –Clarify scope, separate essential from non- essential, eliminate duplicates, focused and detailed scenarios,

Candidate Use Cases: Verbs Strong verbs: –Create, remove, merge, defer, switch, calculate, pay, credit, register, deactivate, review, view, enter, change, combine, release, search, migrate, receive, debit, activate, archive, browse Weak verbs: –Make, report, use, organize, record, find, process, maintain, display, list, input

Style Notes (Ambler, 2005) Use case names begin with strong verbs While use cases do not imply timing, order cases from top to bottom to imply timing (improves readability) The primary actors should appear in the top left Actors are associated with one or more use cases. Do not use arrows on the actor-use case relationship Include an actor called “time” to initiate scheduled events Do not show actors interacting with each other Apply > when you know exactly when to invoke the use case. These should rarely nest more than 2 deep. Avoid using >

Subflows: parts Extract parts of flow of events and describe these separately. –Alternative flow of events within base case (variant, option, exception) –Explicit inclusion in base case (include- relationship) –Implicit inclusion in base case (extend- relationship) –Separate subflow (e.g., Maintain Employee Information may have subflows for adding or deleting)

Subflows Flow may consist of several subflows. Subflows can be reused in other use cases. Avoid if-then-else constructs; pseudocode Extract parts of flow of events and describe these separately.