Checklist: Use Case |
This checklist provides questions to verify that use cases are described in a consistent and complete manner.
Relationships
Related Elements | Use Case Detail Requirements
Check Items
General
Is the Use Case associated with one or more goals? Is the Use Case associated with one or more actors? Is the intiating actor identified?
Name
Does the Use Case have a name? Is the name a verb + noun phrase (for example, Withdraw Cash)? Does the name accurately describe the purpose of the Use Case? Is the name "actor independent"?
Pre-Conditions
Does each pre-condition represent a tangible action by the system (for example, the Withdraw Cash use case for an automated teller machine has a precondition that the user has an account)?
Post-Conditions
If "Minimal Guarantees" are present, do they always happen when the use case completes, regardless of success? (A Minimal Guarantee represents a condition that will be true when the use case ends, regardless of how it terminates.) If "Success Guarantees" are present, do they always happen when the use case completes successfully? (A Success Guarantee represents a condition that will be true when the use case ends successfully, regardless of which path it takes.)
Basic Flow
Is the triggering event clearly described? Does the flow have a definite ending? Does each step in the scenario contain the same level of abstraction? Does each scenario contain a reasonable number of steps? If it contains less than three, or more than nine, investigate whether the level of detail is correct or if the use case is a candidate for refactoring. Does each step in the scenario describe something that can actually happen and that the system can reasonably detect? Does each step make progress towards the goal? Does each step describe how the step helps the actor achieve their goal? Is each step technology independent? Is it free of technical details, and design decisions? Are the steps correctly numbered?
Alternative Flow
Does each step in the scenario contain the same level of abstraction? Does each scenario contain a reasonable number of steps? If it contains less than three, or more than nine, investigate whether the level of detail is correct or if the use case is a candidate for refactoring. Does each step in the scenario describe something that can actually happen and that the system can reasonably detect? Does each step make progress towards the goal? Does each step describe how the step helps the actor achieve their goal? Is each step technology independent? Is it free of technical details, design decisions and GUI details? Are the steps correctly numbered?
Error Flow
Does each step in the scenario contain the same level of abstraction? Does each scenario contain a reasonable number of steps? If it contains less than three, or more than nine, investigate whether the level of detail is correct or if the use case is a candidate for refactoring. Does each step in the scenario describe something that can actually happen and that the system can reasonably detect? Does each step make progress towards the goal? Does each step describe how the step helps the actor achieve their goal? Is each step technology independent? Is it free of technical details, design decisions and GUI details? Are the steps correctly numbered?
More Information
Checklists | Qualities of Good Requirements
This program and the accompanying materials are made available under the Eclipse Public License v1.0 which accompanies this distribution. View copyright information here: OpenUP Copyright