Use Cases

The use case document starts with a hyperlinked table of contents and a legend of terms followed by an overview essay describing the benefits and motivations of the top three features of the application and then has all the use cases. A use case is a detailed description and the steps involved with a user’s interaction with the application on how it provides one specific functionality without specifying technology, implementation or specific user entry.

  • What feature or functionality of the application is and isn't described by use case?
    A use case is needed for each complete idea implemented by the application.
    A user would buy or use the application due to the functionality described by a use case.
    • Displaying the home screen isn't a functionality described by a use case
      • Such display isn't a benefit by itself.
      • Displaying the home screen could be a system step in the login Use Case.
    • Logging into the system is a functionality described by a use case
      • Login provides benefit of securing information.

Instructions in Creating the Artifact

For CSE 110 the following components are needed in each use case. Additionaly you could add custome components. Together the content of each of the below items fully describe a functionality.

Title and Number: Each use case needs a title and number. A use case number is a unifying number linking a use case to future artifacts needed for the same functionality. These number could be absolute (1, 2, 3, etc) or they could be categorized for a subsystem of the application (C1, C2, C3, etc). The title should contain a few words that fit the functionality.
Priority: The importance of the functionality to the application.
Status: The condition of the functionality described.
Description: High level overview of the functionality provided.
User Goal: High level achievement or purpose of the functionality provided. (What problem are we trying to solve?)
Desired Outcome: User Goal achieved.
Actor: The role of the one using the application.
Dependent use cases: The list of use case numbers for functionality that must exist before the described functionality in current use case can be performed.
Requirements: A cross reference listing of the portions of functionality the system must implement relating to this use case. These are often the "The system shall" statements in the use case steps.
Pre-conditions: The actions of the user or of the system that must have occurred in order for the functionality to be provided. Preconditions do not include steps in the use case Workflow.
Post-conditions: The changes to the system after the user completes the use case Workflow.
Trigger: The catalyst or motivation causing the user to use the use case functionality. This does not involve steps in the using the system.
Workflow: The steps involved in using the system to provide the desired functionality. The steps are typically a series of steps listing an exchange of "The user shall..." followed by "The system shall..." The steps can refer to steps in other use cases. The starting point is after Pre-Conditions.
Alternate Workflow: The steps involved in alternate functionality and error processing.

Things to keep in mind

  • Make sure you have a very well origanized table of contents
  • The "trigger" should be a motivation not a step.
  • The "preconditions" are those items that you'll need to programmatically verify before your code can execute use-case functionality.
  • All use cases and user stories need numbers.

Examples of use cases

Examples of essays

  • The use cases from team ATTACC from Fall 2018 includes a good introductory essay.
  • Example essay: Here is an example essay about essays (read first) that describes the structure that is expected to exist in a classic essay.
  • Example essay with highlights: Here is the same example highlighted to show the expected essay structure. Once you understand the structure, you'll be able to apply the same principles to your essays.
  • The use cases from team PS from Fall 2020
  • The use cases from team QuaranTeam from Fall 2020