Concept: Use Case
Use cases define a system-level capability without revealing or implying any particular implementation or even design of that capability.
Relationships
Main Description

A use case is an operational capability of a system.  It can define why a user interacts with a system.  It is an organizational unit for requirements which normally represents several pages of textual requirements, and there are normally a few to a few dozen use cases per system. A use case returns a result that is visible to one or more actors and does not reveal or imply internal structure of the system.  It is independent of other use cases and may be concurrent with them.  Finally, a use case may be constrained with various QoS parameters.

Number of Use Cases Based Upon System Size
System
Final Size
#of Use Cases
Small
10K to 50K lines of code
6-24
Medium
50K to 100K lines of code
6-24
Large
100K - 2M lines of code
6-24 (higher level)
Huge
>2M lines of code
6-24 (higher level)



A use case is an operational capability of a system, not a random piece of functionality.  Use cases focus on the interaction of the system with its environment to achieve operational goals.  Operational aspects are defined by the set of operational contracts within the use case.  A system must be specified with requirements.  Use cases are a good means to organize such specifications. 

Use cases may be applied to:

  • The overall system.
  • To pieces of the overall system.
  • To software only aspects.
  • To systems which include electronics, software, mechanics, and chemics.



More Information