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.

Slides:



Advertisements
Similar presentations
Use-Cases.
Advertisements

155 CONCEPTUAL DESIGN: PURPOSE, ACTORS, FEATURES, AND UML USE CASES.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Use Case Diagrams Damian Gordon.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
An Introduction to Object Modeling
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.
Karolina Muszyńska Based on:
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Use Case Modeling.
Use cases.
Agenda What is a Use Case? Benefits of the Use Cases Use Cases vs. Requirements document Developing the Use Case model System Actor Use Case Use Case.
Information System Engineering
Use Case modelling 3 How to go from a diagram to a further definition.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Documenting Requirements using Use Case Diagrams
Written by: Zvika Gutterman Adam Carmi
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
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 Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
USE Case Model.
Modeling Systems Requirements: Events and Things.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Object-Oriented Analysis - Instructor Notes
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
1 Objectives  Describe design constraints.  Identify methods of specifying functional requirements.  Describe techniques for writing and structuring.
Systems Analysis and Design in a Changing World, 6th Edition
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan,
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 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
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.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Systems Analysis and Design in a Changing World, 6th Edition
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 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
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.
New Perspective Based on how the system is used. What Is a Use Case? A case of how the system is used. –A behaviourally related sequence of interactions.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
1 More About UML Todd Bacastow Penn State University Geospatial System Analysis & Design.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Welcome to M301 P2 Software Systems & their Development
Using Use Case Diagrams
Recall The Team Skills Analyzing the Problem (with 5 steps)
Use Case Model Use case diagram.
UML Use Case Diagrams.
Use Case Modeling.
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Object Oriented Analysis and Design
Use Cases 1.
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Using Use Case Diagrams
Requirements Very High level specification of what system should do
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Object-Oriented Software Engineering
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Use cases Dr. X.
Presentation transcript:

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 role with respect to the system. - people, other systems. Scenario A sequence of steps that describe the interactions between an actor and the system. The use case model consists of the collection of all actors and all use cases.

Use cases help .. · Capture the system's functional requirements from the users' perspective · Actively involve users in the requirements-gathering process · Provide the basis for identifying major classes and their relationships · Serve as the foundation for developing system test cases

USE CASE MODELLING -functional reqts., analysis phase - what a system does: functions represented as use cases - Actor: external agent that interacts with the system, exchanges info. with the system (user, sub-system, etc.) - a role played by user Note: a use case represents a complete functionality. view of system behavior from an external person’s viewpoint effective tool for validating requirements an effective communication tool basis for a test plan basis for user manual Developing the use cases in not difficult; ensuring that you have them all is murder.

Use Case Diagrams Actor Line: actor communicates with or is associated with use-case Customer Loses a Tape

Use Case relationships: <<uses>>: one use case always involves the steps of another <<extends>>: under certain conditions, a use case follows a variant Customer Loses a Tape Buy a Tape <<uses>> VIP Loses a Tape <<extends>>

Goals of use cases Interactions that provide value to actors No implementation specific language No assumptions about how the use case may be realized in code or user-interface Note: use-cases drive the whole life-cycle, and they get refined – implementation specific use-cases User-appropriate level of detail General at requirements gathering stage User-appropriate volume Large systems: no more than 70-80 use cases Small number of use cases – forces abstraction

Use case scenarios a realization of a use case. Instance of an use case that effectively tests one path through a use case To demonstrate whether a use case accurately reflects user needs useful during testing Example: Use case name: Determine benefits eligibility for enrollee Steps: 1. This use case starts when the social worker enters the enrollee’s name and employment situation. 2. This use case ends when the system responds with a determination of whether the enrollee is eligible for benefits and the financial extent of benefits. Alternative path: In step 1, if the enrollee has applied for benefits previously, based on the enrollee’s own disclosure, the social worker enters the enrollee’s name to search for his or her previous records

Use case scenario - example Example of scenario The social worker asks Edward Trueman if he has applied previously for and/or received benefits. And Mr. Trueman replies that he has applied previously. The social worker provides Mr. Trueman’s name as search criterion The system provides Mr. Trueman’s previous records, which state that he applied for benefits on Dec 9th, 1997, and was determined to be ineligible on Dec 9th 1997 because of his current part-time employment status at Boeing Aerospace in the capacity of assembly line worker.

<<Extends>> Class registration <<Extends>> Registration Clerk Student Registration for special class Prereq courses not completed Student Billing Bursar’s office Instructor Use-Case Diagram Extends: extension to or variation of a use-case that exists in its own right

<<uses>> Order Food Customer Service Person Hire Employee Applicant <<uses>> Reorder supplies Manager Supplier <<uses>> Track sales and inv. data Produce mgt. reports Uses: factors common behavior amongst multiple use-cases into a generalized use-case.

Step 1: Identifying Actors and Use Cases From context diagram, workflow diagram Step2: Construct Use Case Model System scope and boundary in terms of use cases and actors partitioned into sub-systems Step 3:Use Case sequence of actions Step4: Identifying use case dependencies Step5: Use case alternate course of actions Step6: Finding Potential Objects Nouns in use case Step7: Selecting proposed Objects Class Diagram (Object Association Model, Object Relationship Model)

Finding the actors Ask client and domain experts how system will be used Who will perform the obvious tasks? Secondary tasks of maintenance and administration? Interact with other systems? Clear and differentiated names (eg. manager vs supervisor)

Recording the use cases For each actor, what interactions /”results” they require of the system –each is a use case Not overly precise yet, just note them down What tasks does the actor want the system to perform What information must the actor provide to the system Are there events that the actor must tell system about Does actor need to be informed when something happens Does actor help initialize or shut down the system

Example: video store system Actor: Customer - What tasks does the actor want the system to perform? Find movie to rent, rent tape, return tape, reserve tape What information must the actor provide to the system? Name, address, membership#, film name Are there events that the actor must tell system about? Change of address Does actor need to be informed when something happens? Reserved tape is ready to be rented Does actor help initialize or shut down the system no

Resulting use cases: Example: video store system Customer joins and provides contact information including name, address, phone#, credit information, spouse and kids Customer browses system looking for a tape to rent Customer comes to store looking for a specific tape to rent Customer rents a tape Customer returns a tape Customer reserves a tape Customer is contacted when a reserved tape is ready Note: simple phrases, without much details initially.

Finding the actors Ask client and domain experts how system will be used Who will perform the obvious tasks? Secondary tasks of maintenance and administration? Interact with other systems? Clear and differentiated names (eg. manager vs supervisor)

Recording the use cases For each actor, what interactions /”results” they require of the system –each is a use case Not overly precise yet, just note them down What tasks does the actor want the system to perform What information must the actor provide to the system Are there events that the actor must tell system about Does actor need to be informed when something happens Does actor help initialize or shut down the system

Example: video store system Actor: Customer - What tasks does the actor want the system to perform? Find movie to rent, rent tape, return tape, reserve tape What information must the actor provide to the system? Name, address, membership#, film name Are there events that the actor must tell system about? Change of address Does actor need to be informed when something happens? Reserved tape is ready to be rented Does actor help initialize or shut down the system no

Resulting use cases: Example: video store system Customer joins and provides contact information including name, address, phone#, credit information, spouse and kids Customer browses system looking for a tape to rent Customer comes to store looking for a specific tape to rent Customer rents a tape Customer returns a tape Customer reserves a tape Customer is contacted when a reserved tape is ready Note: simple phrases, without much details initially.

Other actors: Example: video store system Clerk adds a new film to the system It is time to order more films – manager wants to know which films are popular so as to get extra copies Store orders 10 new copies of film; when they arrive, clerk adds them to system and puts them on shelf Manager wants to know if he is making money thinking of these may lead to some more customer use cases: - Customer wants to know new movies in the store.

Example: video store system Use cases from attributes of “things” tapes have actors, film name, director, release date Customer wants to find every movie starring a specific actor Customer wants to find movies with same director as the last film she rented Manager wants to put together list of movies rated ‘G’. Use cases to manage the attributes: Clerk adds new film to system Clerk removes obsolete film from system Clerk updates information about a film

Example: video store system These use cases can remind us of similar responsibilities for customers: Clerk adds customer to the system Clerk removes customer account from system Clerk updates customer’s account

Use case name, description 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.

Scenarios: a use case scenario shows the flow of events in a particular instance of a use case. focussed on the business problem, not the solution shows most common situation can have greater or less detail as required to understand flow of interactions and events also consider exceptional rather than the normal situations. Scenario guidelines how does the scenario begin? what causes it to end? what is the distinction between what the actors do and how the system responds what feedback will the actor receive? which activities may repeat, and what causes them to stop? Is there conditional branching in the flow of the scenario?

Formal description of use cases: Use case name Actors, brief description Actions taking place scenario – flow of events Some use cases have multiple scenarios to explore various contingent activities Preconditions –before the use case can begin Eg. for Lost a Tape use case, customer must be member and must have rented a tape. Post-conditions: state of system and perhaps for actors, after the use case is completed

Orders SubSystem Membership System Promotions SubSystem Submit Regular Order Member Services Department Past Member Club Member Request Sales Reports Submit Promotion Order Request Membership rpts Submit subscription renewal Create new subscription program Marketing Department Submit New Subscription Send subscription renewal offer Send new subscription offer Create New Seasonal Promotion Create New Monthly Promotion Request Promotion Reports Membership System Promotions SubSystem Member Services System Send Club Promotion Potential Member

Member Services System Use Case Dependency Diagram depends on Request Membership rpts depends on Send subscription renewal offer subscription renewal depends on Request Promotion Reports Create new subscription program depends on Send new subscription offer Submit New Subscription Request Sales Reports Create New Seasonal Promotion depends on depends on OR Submit Regular Order Send Club Promotion Submit Promotion Order depends on Create New Monthly Promotion

Member Services Context Model New Membership Plan & Sub. Offer Sales and Promotion Reports New Monthly OR Seasonal Promotion Club promotion Promotion order regular order Subscription renewal offer Club Member Past Potential Order to be filled Membership Reports Warehouse Member Services Dept. Marketing Dept. A/C Receivable DB Member credit status Subscription Offer New Subscription