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.
|