Checklist: Use Case
This checklist provides questions to verify that use cases are described in a consistent and complete manner.
Relationships
Related Elements
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