3 Use Cases

Use Cases

Objective

  1. Understand system boundaries and scope.
  2. Identify system functions and their associated actors.
  3. Define relationships, associations, and stereotypes.
  4. Generalize use cases and actors.
  5. Factor use cases using inclusion and extension.

Functions

A use case is a description of a system function. A description of how a user interacts with a system to achieve a specific goal. It represents a functional requirement of the system from the user’s perspective.

Actors

An external entity (person, system, or device) that interacts with the system. Actors are typically represented in use case diagrams.

System

Scope

A scope clearly outlines the boundaries of the system, indicating which components are internal to the system and which are external actors or entities interacting with the system.

Boundaries

Boundaries are often used to define the scope of the system and represented as a box around use cases, separating them from external actors.

Goals

A goal is typically a single concise statement describing the overall objective or intended outcome and focusing on what the actor wants to achieve. Goals should be actor oriented and provide the “why” of the use case.

Exercise 1

Transform the functions and actors identified in 2 Requirements: Exercise 2 into a natural language description of corresponding use cases. You can use this guide (opens in a new tab), for example. Write the description using Markdown in use-cases.md.

Relationships

Associations

Associations in use case diagrams represent relationships between actors and use cases. They show how actors interact with the system’s functionalities.

Exercise 2

Create use case diagrams based on the natural language descriptions from Exercise 1. Save the corresponding project as system.vpp.

Stereotypes

A stereotype is one of three types of extensibility mechanisms in UML, the other two being tags and constraints.

Dependency

A relationship where a change in one element may affect another element. It indicates that one element relies on another.

Generalization

A relationship between a more general element (the parent) and a more specific element (the child) that fully inherits the parent’s characteristics.

Inclusion

A relationship in use case diagrams where one use case (the base) includes the functionality of another use case (the inclusion) as part of its normal operation.

Extension

A relationship in use case diagrams where one use case (the extension) may be inserted into another use case (the base) under certain conditions.

Exercise 3

Factor the use cases and actors from Exercise 2 using generalization/specialization (), inclusion («include»), and extension («extend»). Save the corresponding project as details.vpp.

Follow the 3 Issue Tracking guide to learn more about issue tracking using GitHub.

Structure

      • details.vpp
      • system.vpp
      • use-cases.md
  • Resources