Lab 1 - Use Cases

UML and Lucid Chart

Due Feb 25 by class time.

This lab used Lucid Chart.

Make sure you have an MVNU account. Lucid Chart Link

References (Please read):
  1. Creating a UML Use Case in Lucid Chart
  2. UML Use Case Diagrams: Guidelines
  3. Use Case Pitfalls

Use Case Model

The use case model captures the requirements of a system. Use cases are a means of communicating with users and other stakeholders what the system is intended to do.

Actors

A use case diagram shows the interaction between the system and entities external to the system. These external entities are referred to as actors. Actors represent roles which may include human users, external hardware or other systems. An actor is usually drawn as a named stick figure, or alternatively as a class rectangle with the «actor» keyword.

Actors can generalize other actors as detailed in the following diagram:

Use Cases

A use case is a single unit of meaningful work. It provides a high-level view of behavior observable to someone or something outside the system. The notation for a use case is an ellipse.


The notation for using a use case is a connecting line with an optional arrowhead showing the direction of control. The following diagram indicates that the actor "Customer" uses the "Withdraw" use case.

The uses connector can optionally have multiplicity values at each end, as in the following diagram, which shows a customer may only have one withdrawal session at a time, but a bank may have any number of customers making withdrawals concurrently.

Use Case Definition

A use case typically Includes:

  • Name and description
  • Requirements
  • Constraints
  • Scenarios
  • Scenario diagrams
  • Additional information.

Name and Description

A use case is normally named as a verb-phrase and given a brief informal textual description.

Requirements

The requirements define the formal functional requirements that a use case must supply to the end user. They correspond to the functional specifications found in structured methodologies. A requirement is a contract or promise that the use case will perform an action or provide some value to the system.

Constraints

A constraint is a condition or restriction that a use case operates under and includes pre-, post- and invariant conditions. A precondition specifies the conditions that need to be met before the use case can proceed. A post-condition is used to document the change in conditions that must be true after the execution of the use case. An invariant condition specifies the conditions that are true throughout the execution of the use case.

Scenarios

A Scenario is a formal description of the flow of events that occur during the execution of a use case instance. It defines the specific sequence of events between the system and the external actors. It is normally described in text and corresponds to the textual representation of the sequence diagram.

Including Use Cases

Use cases may contain the functionality of another use case as part of their normal processing. In general it is assumed that any included use case will be called every time the basic path is run. An example of this is to have the execution of the use case <Card Identification> to be run as part of a use case <Withdraw>.

Use Cases may be included by one or more Use Case, helping to reduce the level of duplication of functionality by factoring out common behavior into Use Cases that are re-used many times.

Extending Use Cases

One use case may be used to extend the behavior of another; this is typically used in exceptional circumstances. For example, if before modifying a particular type of customer order, a user must get approval from some higher authority, then the <Get Approval> use case may optionally extend the regular <Modify Order> use case.

Extension Points

The point at which an extending use case is added can be defined by means of an extension point.

System Boundary

It is usual to display use cases as being inside the system and actors as being outside the system.

Use Case Example

High Level ATM Use
An automated teller machine (ATM) or the automatic banking machine (ABM) is a banking subsystem (subject) that provides bank customers with access to financial transactions in a public space without the need for a cashier, clerk or bank teller.

  • Customer (actor) uses bank ATM to check balances of his/her bank accounts, deposit funds, withdraw cash and/or transfer funds (use cases).
  • ATM Technician provides maintenance and repairs.
  • All these use cases also involve Bank actor whether it is related to customer transactions or to the ATM servicing.

To Do Step 1:

Read: UseCasePitfalls.pdf: UseCasePitfalls.pdf

Work in Pairs to:
  1. Create a usediagram
  2. Fill in a template for two use instances using this template:
    Actors list
    Description text
    Data list
    Stimulus text
    Response text
    Comments text
Solution
ATM Customer Detail

On most bank ATMs, the customer is authenticated by inserting a plastic ATM card and entering a personal identification number (PIN). Customer Authentication use case is required for every ATM transaction so we show it as include relationship. Including this use case as well as transaction generalizations make the ATM Transaction an abstract use case.


use-case-example-atm-transactions.png

Bank ATM Transactions and Customer Authentication Use Cases Example.

If needed, customer may ask ATM for help . ATM Transaction use case is extended via Menu extension point by the ATM Help use case whenever ATM Transaction is at the location specified by the Menu and the bank customer requests help, e.g. by selecting Help menu item.

To Do Step 2:

Again in teams of two, using Lucid Charts make a more detailed diagram for the ATM technician. The ATM Technician maintains or repairs Bank ATM. Maintenance use case includes Replenishing ATM with cash, ink or printer paper, Upgrades of hardware, firmware or software, and remote or on-site Diagnostics . Diagnostics is also included in (shared with) Repair use case.

Solution

To Do Step 3:

Create the UML Use Case Diagram for a system to buy DVDs online.

Customers, Delivery Agent, and Administrators of the System will use the system. They can perform the following actions in the system:

Customer:

  • Add a DVD to shopping cart (requires the user to log in)
  • Remove a DVD from shopping cart (requires the user to log in)
  • Check out shopping cart (requires the user to log in)
  • Review contents of shopping cart (requires the user to log in)
  • Search DVDs by Title and Category (Some examples of categories are: Series, Movies, Music)
Delivery Agent:
  • Check online orders
  • Change the status of the order to delivered
Administrator:
  • Add DVD
  • Update inventory of DVDs

Turn in:

  1. A single DOC file with all solutions in order, and embedded.
Topic attachments
I Attachment Action Size Date Who Comment
Pptxpptx SequenceIntro.pptx manage 288.7 K 2014-02-18 - 04:23 JimSkon  
Gifgif SessionInteraction.gif manage 5.8 K 2014-02-18 - 04:36 JimSkon  
Gifgif TransactionInteraction.gif manage 5.7 K 2014-02-18 - 04:36 JimSkon  
Pdfpdf UseCasePitfalls.pdf manage 67.3 K 2014-02-18 - 03:54 JimSkon  
Pngpng use-case-example-atm-transactions.png manage 16.0 K 2014-02-18 - 03:32 JimSkon  
Topic revision: r2 - 2014-02-19 - JimSkon
 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback