Sept 200491.3913 Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation...

download Sept 200491.3913 Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” www.usecases.org - may be of.

of 25

  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    212
  • download

    0

Embed Size (px)

Transcript of Sept 200491.3913 Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation...

  • Slide 1
  • Sept 200491.3913 Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish usage case www.usecases.org - may be of use to you in the future blackbox style is recommended - specify what the system must do, and not how it must do it. A project may begin with the definition of many brief or casual use case definitions. Later on, these can be become fully dressed
  • Slide 2
  • Sept 200491.3913 Ron McFadyen2 Use Cases Widely used. Not just an OO technique. Each Use Case will meet one or more user goals Collectively, Use Cases represent the functionality required by a system. Stories of using a system to meet goals
  • Slide 3
  • Sept 200491.3913 Ron McFadyen3 Use Cases Ch 6. Use Case example is very lengthy and fairly complete must read: pages 45-61, and sections 6.12, 6.13, 6.15 Ch 25 shows ways of managing Use Cases Ch 25. The Use Case has been broken down into multiple Use Cases that are related via > and > must read: sections 25.1, 25.2, 25.3, 25.5 Ch 13. Contracts Ch 9. System Sequence Diagrams SSDs show the events that actors generate. The system is a black box and so the diagram emphasizes the events the system must respond to.
  • Slide 4
  • Sept 200491.3913 Ron McFadyen4 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box Actors are shown outside the box Actors are connected to use cases they use by associations Sept 21, 2003
  • Slide 5
  • Sept 200491.3913 Ron McFadyen5 Actor Use Case Associations Between Actors and Use Cases Between Use Cases Between Actors Use Cases in the UML
  • Slide 6
  • Sept 200491.3913 Ron McFadyen6 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 Clerk Department Chair
  • Slide 7
  • Sept 200491.3913 Ron McFadyen7 Use Case Behaviour A Use Case describes a sequence of actions that a system performs to achieve an observable result of value to an actor (something meaningful to a user) A use case is drawn as an ellipse, with its name within or below the ellipse A Use Case Model comprises the individual use cases that describe the system A use case describe what a system does, not how it does it A use case must be written as a behaviour specification separately from the diagram (the written use case) We will see that other UML diagrams (e.g.statechart, sequence) can illustrate behavioural information about a use case A use case will be implemented as a computer program and the actors initiate execution (or instantiation) of a use case
  • Slide 8
  • Sept 200491.3913 Ron McFadyen8 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
  • Slide 9
  • Sept 200491.3913 Ron McFadyen9 Figure 6.2 a portion of Handle Returns Cashier Payment Authorization Service Process Rental NextGen Process Sale Page 50-53 gives a written description of the Process Sale use case
  • Slide 10
  • Sept 200491.3913 Ron McFadyen10 Process Sale Use Case P. 50+ Primary Actor: Preconditions: describes a state the system must be in prior to the execution of the use case Postconditions: describes a state the system must be in after execution of the use case Main Success Scenario: Step by step description of the interaction between the actor and the executing use case Extensions or Alternate Flows Alternate ways steps could terminate At this point in time (Inception), processing a sale is described in one use case that contains a main success scenario and all possible alternative scenarios. Some components of the written use case:
  • Slide 11
  • Sept 200491.3913 Ron McFadyen11 Process Sale Use Case P. 50+ Use Case UC1: Process Sale Primary Actor: Cashier Preconditions: Cashier is identified and authenticated Postconditions: Sale is savedCommissions recordedPayment 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
  • Slide 12
  • Sept 200491.3913 Ron McFadyen12 Process Sale Use Case P. 50+ 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 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.
  • Slide 13
  • Sept 200491.3913 Ron McFadyen13 Process Sale Use Case P. 50+ 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 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
  • Slide 14
  • Sept 200491.3913 Ron McFadyen14 Use Cases in the text Some places where use cases are specifically addressed: Chapter 9 introduces sequence diagrams, system events and system operations Chapter 13 adds contracts Chapter 25 discusses Include, Extend, and Generalization
  • Slide 15
  • Sept 200491.3913 Ron McFadyen15 Chapter 25 Relating Use Cases Include relationship If one use case (the base use case) is designed to use the functionality of another use case (the addition use case), there is an include dependency Consider that the base use case is executing. When it reaches the inclusion point, the addition use case is 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. The written Process Sale use case has in its Extensions section two inclusions:
  • Slide 16
  • Sept 200491.3913 Ron McFadyen16 Include Relationship UC1:Process Sale Main Success Scenario 7. Customer pays and System handles payment. Extensions or alternate flows: 7a. Paying by cash 7b. Paying by credit: include Handle Credit Payment 7c. Paying by check: include Handle Check Payment
  • Slide 17
  • Sept 200491.3913 Ron McFadyen17 Include Relationship In the UML diagram Process Sale Handle Check 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 dependencies
  • Slide 18
  • Sept 200491.3913 Ron McFadyen18 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
  • Slide 19
  • Sept 200491.3913 Ron McFadyen19 More terminology Place Order and Track Order are called concrete use cases because they are initiated directly by an actor. Validate Customer is an abstract use case because it is never instantiated by itself; Validate Customer is only instantiated as part of another use case.
  • Slide 20
  • Sept 200491.3913 Ron McFadyen20 Include Relationship Suppose ATM is a base use case and contains: 1.Show advertisement of the day 2.Include identify customer 3.Include validate account 4. Validate Account > Identify customer Customer ATM session
  • Slide 21
  • Sept 200491.3913 Ron McFadyen21 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
  • Slide 22
  • Sept 200491.3913 Ron McFadyen22 Generalization/Specialization Relationship Example. Suppose we have a university registration system where people must be admitted to become students. Some potential students, who attended high school in the city, are already known to the university because they went through some prior screening processes. Admit new student Admit Student Admit HS student Admissions Clerk
  • Slide 23