Guideline: Use Case Formats
This guideline describes different use case formats and associated levels of detail that you may want to use, depending upon the nature the use case.
Relationships
Main Description

Use Case Formats

The level of detail required in use cases differs from project to project, and even between use cases and scenarios within the same project.  A use case format that works in one situation may be totally unsuited for another. The key to maximizing efficiency and effectiveness is to capture the right amount of detail for each particular use case and scenario. (See [ADO04] for more information on use case formats.)

Some use cases need a high degree of detail. If the writers used a template, then they filled out all or almost all of its fields for each use case. High-detail use cases are best suited complex, novel, or safety-critical functionality, such as that found in flight control systems, telephone switches, and so forth where the risk of misinterpretation is high.

Other use cases need less detail. If the writers used a template, then they may have left many of the fields blank. Low-detail use cases are best suited for well understood, low complexity or less safety-critical functionality where most of the stakeholders have a strong background in the problem domain and the risk of misinterpretation is low. In these cases, simple brief descriptions or step-by-step outlines suffice.

Furthermore, not all scenarios are created equally.  Within the same use case, some scenarios are very well understood and a brief description is sufficient to ensure un-ambiguous interpretation.   Other scenarios may require more detail to capture the essential behavior un-ambiguously.

Finally, as explained in Guideline: Detail Use Cases and Scenarios, it makes sense to write use cases iteratively. Starting with the basic details, you can then identify the various alternative and error paths that the use case might follow so that you can evaluate, rearrange, or eliminate them, and then elaborate or fill in the details of the remaining scenarios.

Write use cases and scenarios in one or more of the following formats, progressively, until you reach the level of detail required:

  • Use-case model overview: A format for understanding the “big-picture”
  • Use-case brief descriptions: A format for writing summary use cases
  • Step-by-step outlines: A format for writing less formal, low-ceremony use cases
  • Fully detailed: A format for writing more formal, high-ceremony use cases

Use-Case Model Overview

Create a use-case model overview, which captures actors and associated use cases.

  • Start by identifying the list of actors who will use the system, and then identify at least one goal for each. Actors without goals indicate that you haven’t adequately defined the system. The actor is beyond the system’s scope, doesn’t belong in the system, or is part of another actor.
  • Likewise, leftover goals can indicate that the system is too complex and you're trying to accomplish too much, or that you haven’t adequately defined all of the necessary actors. Carefully evaluate the leftovers to see if you are just overlooking some detail, or whether they don’t belong in the system.
  • Remove unassociated actors and goals from the model.

Sometimes, this overview may provide enough information to serve as the use-case model for very small, high-communicating, low-ceremony project teams. Usually, the use-case model overview is the first step of identifying use cases and system boundaries.

Use-Case brief descriptions

Write two to four sentences per use case, capturing key activities and key-extension handling.

  • Expand the high priority use-cases by writing a two- to four-sentence use cases for each entry in the list.
  • Briefly describe each use case’s main scenario and most important extensions.
  • Include enough information to eliminate ambiguity for at least the main scenario.

Step-by-step outlines 

Write the step-by-step outline which describes the interaction between the actor(s) and the system.

  • Key scenarios are detailed to describe the interaction
  • Triggering events are specified
  • Information exchanged is described

Fully Detailed

Complete all sections of the Use-Case Specification template.

  • The main scenario is detailed
  • All alternative flows are identified and detailed
  • Special requirements are complete and un-ambiguous
  • Pre- and Post-conditions are specified.