Use Case Terms and Definitions

General Definitions

Use Case:

·         (UML 1.4) A use case is a kind classifier representing a coherent unit of functionality provided by a system, a subsystem, or a class as manifested by sequences of messages exchanged among the system (subsystem, class) and one or more outside interactors (called actors) together with actions performed by the system (subsystem, class).

·         A joint action with multiple participant objects that represent a meaningful business task, usually written in a structured narrative style. Like any joint action, a use case can be refined into a finer grain sequence of actions.

·         The specification of a sequence of actions, including variants, that a system (or other entity) can perform, interacting with actors of the system.

·         (Rational Unified Process 2001) Services provided by the system to its actors. Use cases capture the system functional requirements and may have associated performance requirements.

Association relationship: (UML 1.4) The participation of an actor in a use case; that is instances of the actor and instances of the use case communicate with each other. This is the only relationship between actors and use cases.

Extend relationship: (UML 1.4) An extend relationship from use case A to use case B indicates that an instance of use case B may be augmented (subject to specific conditions specified in the extension) by the behaviour specified by A.

Generalization relationship: (UML 1.4) A generalization from use case C to use case D indicates that C is a specialization of D.

Include relationship: (UML 1.4) An include relationship from use case E to use case F indicates that an instance of the use case E will also contain the behaviour as specified by F.

“Trace” relationship: A kind of dependency that indicates a historical relationship between two elements that represent the same concept at different semantic levels or from different points of view. The related elements abstract the same part of the system but in different models.

Essential Use Case: Captures the intentions of a user in a technology- and implementation-independent manner.

System Use Case: Captures the high-level implementation decisions.

Actor: (UML 1.4): An actor defines a coherent set of roles that users of an entity can play when interacting with the entity. An actor may be considered to play a separate role with regard to each use case with which it communicates.

Use Case Template

Not all attributes are required.

Use case name: The name should implicitly express the user’s intent or purpose of the use case.

Use case identifier: A unique identifier, UC# should be used.

Description: Summary of the use case.

Domain: The domain that this use case applies to.

Participants/Actors: The list of actors associated with the use case, such as Initiator and Receiver . Actors can be people or systems.

Parameters: Parameters that the initiating actor passes to the use case.

Pre-conditions: A list of the conditions, if any, that must be met before a use case may be invoked.

Post-conditions: A list of the conditions, if any, that will be true after the use case finished successfully.

Trigger: The action upon the system that starts the use case, such as a time event.

Priority: Criticality of the use case to the system/organization.

Frequency: How often the use case is invoked by the actor.

Performance: Performance criteria

Channel to Actors: Examples are interactive, static files, database.

Included Uses Cases: A list of the use cases that this use case includes. An include association is a generalization relationship denoting the inclusion of the behaviour described by a use case within another use case. This is modeled using a use case association with the <<include>> stereotype. Also known as a uses or a has-a relationship.

Extended Use Cases: The use case that this use case extends, if any. An extend association is a conditional generalization relationship. An extending use case continues the behaviour of a base use case subject to specific conditions. The extending use case accomplishes this by inserting additional action sequences into the base use case sequence. This is modeled using a use case association with the <<extend>> stereotype.

Generalization Use Cases: The use case to which this use case is a generalization.

Basic Flow/Course of Action: The main path of logic that an actor follows through a use case.

Alternate Flows/Courses of Action: The infrequently used path of logic is a use case, paths that are the result of an alternate way of work, an exception, or an error condition.

Assumptions: Any important assumptions about the domain.

Status: The current status of the development of this use case, such as work in progress, ready for review.

Change History: A list of issues or action items, if any, that are related to the development of this use case.

Issues: A list if issues or action items, if any, that are related to the development of this use case.

Decisions: A list of critical decisions pertaining to the content of the use case.

 

  CGDI Technical Architecture
effective 2002.03.11