Guidelines At The Use Case Level


Use Case Guidelines:  Make Use Cases Functionally Cohesive  Identify Use Cases  Use Essential Use Cases  Do Not Specify Security Mechanisms  Properly Name Each Use Case  Specify Use Case Requirements  Create Use Case Diagrams  Provide a Business Context  Annotate Business Rules  Provide a Business Justification

The following guidelines concerning use cases have proven effective when performing use case modeling during the requirements engineering of functional requirements.

Make Use Cases Functionally Cohesive

Guidelines:Rationale:

Identify Use Cases

Guidelines:Rationale:

Use Essential Use Cases

Guidelines:Rationale:Bad Examples (system boundary):Good Examples (system boundary): THESE ARE AT THE USE CASE PATH INTERACTION LEVEL!!!!!!!!!!!!!!!!!!

Do Not Specify Security Mechanisms

Do not unnecessarily specify the choice of security mechanisms to meet the security requirements.
Rationale: There are many security mechanisms that can be used to implement the security requirements. For example, identification and authentication can be performed in terms of user identifiers and passwords, smart cards, hand print scanners, and retina scanners. Security mechanisms are therefore design decisions, not requirements. Security requirements should be specified in the quality section of the system requirements specification. Hardware security mechanisms should be documented in the system architecture document, and software security mechanisms should be documented in the software architecture document.
Bad Examples (system boundary):

Properly Name Each Use Case

Guidelines:Rationales:Bad Examples:Good Examples:

Specify Use Case Requirements

Provide a uniquely identified, textual requirement for each use case that captures its functional abstraction and external’s goal.
Rationale: This guideline provides an overview of the use case. A textual requirement is also the information expected by domain experts who are used to textual requirements specifications. This guideline also supports the creation of an executive requirements summary document containing only the names and primary requirements of use cases and their paths.
Bad Examples:

Good Example:

Create Use Case Diagrams

Create a top-level use case diagram for each primary external that summarizes the behavioral context of the application in terms of the primary actor’s use cases, any related actors, and the important relationships between them. Optionally create a lower-level use case diagram for each use case that has numerous relationships to other use cases. Identify the primary actor associated with each use case on the use case diagram. Provide narrative English descriptions of the use case diagrams that clarify anything that is not totally obvious in the diagram. Also, document the boundaries of the blackbox application on each use case diagram, and label the scope of each diagram.
Rationale: Applications often have too many actors and use cases to document on a single top-level use case diagram. By limiting the scope of the diagram, the diagram becomes simpler, more focused, and therefore easier to understand. The diagrams also become easier to maintain because the impact of changes is more localized.
Warning: Do not waste significant time debating the relationships (e.g., invokes, extends, inherits) between use cases. If the relationship is unclear, do not label it. The distinction between relationship types is often unclear and the subject of many unnecessary arguments. The extends relationship is typically quite confusing to readers and should be avoided on most projects. The extends relationship should also not be misused to represent what is really the distinction between normal and exceptional paths through a single use case.

Provide a Business Context

Use an activity diagram to optionally document the larger business context of the use case.
Rationale: A user may perform multiple use cases in order to achieve an overall goal. This guideline helps the reader understand the overall work flow to which the use case contributes. For example, a user of an ATM machine may first check the balances in several accounts before deciding from which account to withdraw funds. This guideline is optional because the individual goals of many use cases are identical with the overall business context of the use case.

Annotate Business Rules

Optionally note the business rules or policies (e.g., quality requirements) that impact a use case or its paths.
Rationale: Although use cases themselves are not intended to capture quality requirements, providing a link to them makes it easier to see from where the operational requirements of the use case and its path come.

Provide a Business Justification

Document the business justification for each use case. Ensure that the business justification actually justifies the use case and is more than merely a restatement of the use case requirement.
Rationale: This guideline ensures that the use case specifies a real requirement.