Sept 200592.3913 Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.

Slides:



Advertisements
Similar presentations
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Advertisements

Use Case & Use Case Diagram
Use cases.
Extending the Requirements Model - techniques for detailing use cases
Information System Engineering
Jan 15, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration: a simple cash-only success scenario of Process Sale.
September Ron McFadyen1 design analysis implementation testing maintenance Waterfall Development Process Linear one phase is completed before.
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
Sequence Diagram Objects are represented horizontally across the top of the diagram Each object has a lifeline some exist before and/or after some are.
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Jan Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box Actors.
Jan Ron McFadyen1 Consider a simple cash-only Process Sale scenario 1. Customer arrives at a POS checkout with goods and/or services to purchase.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
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.
Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” - may be of use to you in the future “blackbox”
Jan 8, Ron McFadyen1 Waterfall Spiral UP Case study UML Use Cases.
Jan R McFadyen1 Use Cases Widely used. Not just an OO technique. Diagramming defined in UML Each Use Case will meet one or more user goals;
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Sept Ron McFadyen1 Extend Relationship.
The first step in getting what you want is to decide what you want.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Use case diagrams A use case diagram is UML’s notation for showing the relationships among a set of use cases and actors A use case diagram can help the.
Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases.
Use Case Modeling Scenarios, Actors and Use cases Use case Relationships > and > Use case Generalization Writing use cases formally Choosing System Boundary.
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.
Sept Ron McFadyen1 Section 10.1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Review ♦ System sequence diagram ♦ Domain model
Faculty of Computer & Information
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
Chapter 9 Applying UML and Patterns -Craig Larman
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.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
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.
January Ron McFadyen1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain of interest.
PRESENTATION ON USE CASE. Use Case Modeling Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is.
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
UML (Unified Modeling Language)
UML - Development Process 1 Software Development Process Using UML.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Sept Ron McFadyen1 Include Relationship UC1:Process Sale … Main Success Scenario … 7. Customer pays and System handles payment. … Extensions.
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
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.
Elaboration popo.
System Sequence Diagrams and Operation Contracts
Webapp Design with System Sequence Diagrams
Use Case Model Use case diagram.
UML Use Case Diagrams.
Writing Use Cases.
Start at 17th March 2012 end at 31th March 2012
SE-565 Software System Requirements IV. Use Cases
Use Case Modeling - techniques for detailing use cases
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Relating Use Cases popo.
Using Use Case Diagrams
Seminar 2 Design of Informatics Systems
Object-Oriented Software Engineering
Use cases Dr. X.
Presentation transcript:

Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe the functionality encompassed in some system or subsystem – a tool for analysis A use case will illustrate one or more scenarios – one typical path and many alternative scenarios A use case captures a goal of using the system Use cases can be used to guide development of testing plans

Sept Ron McFadyen2 Use Cases Illustrated with diagrams and/or a behaviour specification (written in text form) A project may begin with the definition of many “brief” or “casual” use case definitions – a few sentences each. Later on, these can be become very formal or “fully dressed” (for example see alistair.cockburn.us/usecases/uctempla.htm) The UML defines the nature of the diagrams, but not the behaviour specifications – companies standardize their own approaches

Sept Ron McFadyen3 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) Actors are connected to use cases they use through associations Use Cases

Sept Ron McFadyen4 Actor (typically a stick person) Use Case (a named ellipse) Associations (lines) –Between Actors and Use Cases –Between Use Cases –Between Actors Use Cases

Sept Ron McFadyen5 Actors Actors represent the people or other systems that interact with the system. Each actor is drawn as a stick person with the name written underneath An actor represents a set of roles that users of a system may assume In a university registration system, we might have: StudentRegistration Manager Registration Advisor Chair

Sept Ron McFadyen6 Use Case Behaviour A use case is drawn as an ellipse, with its name within or below the ellipse A use case should be written as a behaviour specification separately from the diagram (the written use case) other UML diagrams (statechart, sequence, activity) can be used to illustrate behavioural information in a use case A use case will be implemented as a computer program and the actors initiate execution (or instantiation) of a use case A use case describe what a system does, not how it does it – a design activity is to determine how a use case is carried out.

Sept Ron McFadyen7 Use Case Example We might begin describing a registration system as: Register Manage courses Student Department Chair Generate report Registration Clerk Registration Between actors and use cases we draw associations (the lines) to indicate the use cases each actor can instantiate

Sept Ron McFadyen8 Example: Processing a Sale at a Cash Register Use Case UC1: Process Sale Primary Actor: Cashier … Preconditions: Cashier is identified and authenticated Postconditions: Sale is saved…Commissions recorded…Payment authorization approvals recorded Main Success Scenario: 1.Customer arrives at POS checkout with goods and/or services to purchase 2.Cashier starts a new sale 3.Cashier enters item identifier 4.System records sale line item and presents item description, price, and running total. Price calculated from a set of price rules. Cashier repeats steps 3-4 until indicates done. 5.System presents total with taxes calculated …

Sept Ron McFadyen9 Process Sale Use Case Cashier repeats steps 3-4 until indicates done. 5.System presents total with taxes calculated 6.Cashier tells customer the total, and asks for payment. 7.Customer pays and System handles payment 8.System logs completed sale and sends sale and payment information to the external Accounting System and Inventory System. 9.System presents receipt 10.Customer leaves with receipt and goods

Sept Ron McFadyen10 Process Sale Use Case Extensions or Alternate Flows *a. At any time, the System fails: 1.Cashier restarts System, logs in, and requests recovery of prior sale 2.System reconstructs prior state. … 3a. Invalid identifier: 1.System signals error and rejects entry 3b. There are multiple of same item category and tracking unique item identity is not important (e.g. 5 packages of veggie burgers) 1. Cashier can enter item category identifier and the quantity … 4a. The system generated item price is not wanted … 1. Cashier enters override price. 2. System presents new price. … Identifies the step where this condition may arise. “*” means any step; “4” means at step 4; a letter following identifies a different exception

Sept Ron McFadyen11 Use Case Associations Between use case and actor –uses Between use cases –include –extend –generalization Between actors –generalization

Sept Ron McFadyen12 Relating Use Cases Include relationship If one use case is designed to utilize the functionality of another use case there is an “include” dependency Consider that a base use case is executing. When it reaches the inclusion point, the included use case is instantiated and executed, and when it finishes the base use case continues. “Include” is a way to factor commonality out of use cases to make the design more modular Suppose the Process Sale use case is designed to use the functionality of Handle Credit Payment and the Handle Check Payment use cases.

Sept Ron McFadyen13 Process Sale Use Case Extensions or Alternate Flows …… 7a. Customer pays with a credit card: include HandleCreditPayment 7b. Customer pays by cheque: include HandleChequePayment 7a and 7b show alternative ways for step 7 to complete The Process Sale use case has explicit statements referring to other use cases ….. These are include dependencies …. Like calling a function or subroutine Instead of the word include, we could use something else such as execute

Sept Ron McFadyen14 Include Relationship In the UML diagram Process Sale Handle Cheque Payment Handle Credit Payment > Process Sale has a dependency on Handle Check Payment, and another dependency on Handle Credit Payment The dashed lines and the stick arrowhead are the correct way to depict these dependencies

Sept Ron McFadyen15 Include Relationship Suppose a Purchase order system has two use cases Place Order and Track Order and both contain customer validation. Customer validation could be factored out, resulting in: Validate Customer > Track Order Place Order Customer

Sept Ron McFadyen16 Generalization/Specialization Relationship Suppose there is more than one version of a use case, and that the different versions have some things in common and other things that differentiate them The general notation is Specialized use case name Generalized use case name

Sept Ron McFadyen17 Generalization/Specialization Relationship Example. Figure 3.14: specializations of RegisterCarSharer Manually add car sharer Register car sharer Transfer car sharer from web-server Car match administrator Add car sharer web service Third party

Sept Ron McFadyen18 Generalization/Specialization of Actors Generalization can be applied to Actors. Example. Suppose for the department chair, who is a member of the faculty, there are some special duties FacultyChair Assign Grades Manage Sections Note that the Chair can do everything a faculty member can do, but also the Chair manages the sections of courses the department offers.

Sept Ron McFadyen19 Generalization/Specialization of Actors What use cases can a Faculty execute? What use cases can a Chair execute? FacultyChair Assign Grades Manage Sections

Sept Ron McFadyen20 Extend Relationship The extend relationship is typically used for optional behaviour Extend is used to separate optional from mandatory behaviour Under a specified condition the base use case is extended with the behaviour specified in the extending use case. We say the extending use case is dependent on the base use case (note the directed line in the drawing)

Sept Ron McFadyen21 Extend Relationship Process Sale collects the payment from the customer. Suppose payment via a gift certificate is considered an exceptional case, or for some reason we don’t want to alter the Process Sale use case > Handle Gift Certificate Payment Cashier Payment, if the Customer presents a gift certificate Process Sale Extension Points: Payment

Sept Ron McFadyen22 Extend Relationship Process Sale declares/states “Payment” is an extension point, but Process Sale does not know anything more about this - the condition, the name of the other use case, … > Handle Gift Certificate Payment Cashier Payment, if the Customer presents a gift certificate Process Sale Extension Points: Payment

Sept Ron McFadyen23 Example: Handle Gift Certificate Use Case Use Case UC7: Handle Gift Certificate Trigger: customer intends to pay with a gift certificate Extension Points: Payment in Process Sale Level: subfunction Main Success Scenario: 1.Customer gives gift certificate to cashier 2.Cashier enters id for gift certificate 3.System verifies certificate

Sept Ron McFadyen24 Example: Processing a Sale at a Cash Register Use Case UC1: Process Sale Primary Actor: Cashier … Preconditions: Cashier is identified and authenticated Postconditions: Sale is saved…Commissions recorded…Payment authorization approvals recorded Extension Points: Payment, step 7. Main Success Scenario: 1.Customer arrives at POS checkout with goods and/or services to purchase 2.Cashier starts a new sale 3.Cashier enters item identifier 4.System records sale line item and presents item description, price, and running total. Price calculated from a set of price rules. Cashier repeats steps 3-4 until indicates done. 5.System presents total with taxes calculated … There are no substantive changes to the Process Sale use case Why would we use extend instead of include?