Project Life Cycle  «Prev  Next»
Lesson 6Use case description, part 2
ObjectiveAdd assumptions, pre-conditions, and post-conditions to the Use Case Narrative.

Use Case Pre-conditions and Post-Conditions

Each use case should represent a discrete unit of work. Each unit has a specific role within the overall functionality of the system.
To define the unique role for each use case, you must document the relationship of the use case to the other behaviors of the system.
Three additions to the use case template can help properly position each use case in relation to the other use cases:
  1. Assumptions
  2. Preconditions
  3. Postconditions

Assumptions

Each use case is only one part of a complete system. When certain behaviors must be handled by another use case prior to allowing anyone to access this use case, specify these conditions as assumptions. For example, verify that the user has permission to access this feature.

Preconditions are Tests

Pre-conditions are tests that must prove true before the use case is allowed to proceed. However, unlike assumptions that are handled by another use case, pre-conditions are checked by the use case that contains the precondition. For example, verify that the required parameters were passed and are valid. Assumptions and pre-conditions also define precedence among use cases. Use case precedence in turn supports screen and workflow design by defining the order in which use cases must be executed.

Post-conditions

Good design requires that processes clean up after themselves so that subsequent processes are not corrupted. Post-conditions identify the items that the use case must handle before terminating. Sometimes these activities may be part of the normal and exceptional event flows. Other times they must be added. For example, after you complete a transaction, it is often useful to add the transaction to a history file so that it can be audited and/or reversed at a later date.

Example of an Extended Use Case Template


Here is an example of an extended use case template:
Use Case Name Verb and Noun that expresses the goal of the use case, for example, "Deposit Funds."
Assumptions Conditions that must test true before this use case will execute. This use case assumes that some other use case is taking responsibility to test the condition
Pre-conditions Conditions that must true before this use case will execute. This use case is taking responsibility for testing the condition.
Initiation (Triggering event) This use starts when ...
Idenity how the use case knows when it is time to try to accomplish its goal
Main flow of events Describe the succesful dialog between the actor and the use case.
Exceptional flow of events Describe a dialog that does not achieve the stated goal of the use case, i.e. an exception.
Post-conditions Conditions that must test true before exiting this use case

Assumptions, pre-conditions, and post-conditions are valuable additions to the definition of any behavior in your system.
A complete specification helps avoid errors during construction.
Now let us use the template to create a narrative for the use case Deposit Funds.

Difference between Use Case Narrative and Extended Use Case Narrative

A use case narrative and an extended use case narrative are both methods of documenting use cases, but they differ in the level of detail they provide. A use case narrative is a high-level description of a use case that outlines the steps involved in achieving a specific goal. It is typically written in a narrative or story-like format and provides a broad overview of the use case's main flow. The narrative is usually short, concise, and easy to understand, making it suitable for a wide range of audiences.
An extended use case narrative, on the other hand, provides a more detailed description of a use case. It goes beyond the high-level overview provided by a use case narrative and includes additional information about the use case's actors, preconditions, postconditions, and exceptions. It may also include more detailed descriptions of each step in the use case flow, as well as any alternative flows or variations. The extended use case narrative is typically written by analysts or developers who need a more comprehensive understanding of the use case and its requirements. It is more technical in nature, and may include diagrams, tables, or other visual aids to help illustrate the use case flow and its various components.
In summary, the main difference between a use case narrative and an extended use case narrative is the level of detail they provide. A use case narrative is a high-level overview of a use case, while an extended use case narrative provides a more detailed description of the use case and its various components.

Writing Effective Use Cases

Extended use case narrative

1) Start with our earlier example and add the new narrative elements.
1. Start with our earlier example and add the new narrative elements. Please note that we have left out the exception flows simply to conserve space in the example, not because they are needed.
Use Case Name: Deposit Funds

2) Add the assumptions, conditions that must be tested outside of this use case and before this use case may be executed.
2. Add the assumptions, conditions that must be tested outside of this use case and before this use case may be executed.

3) Add the pre-conditions, conditions that are tested by this use case
3. Add the pre-conditions, conditions that are tested by this use case that must prove true before the use case will proceed with the dialog.

4) Add the post-conditions, condition that are tested by this use case
4. Add the post-conditions, condition that are tested by this use case and that must prove true before the use-case relinquishes control back to the system.


Use Case Narrative - Quiz

Click the Quiz link below to take a short multiple-choice quiz on use case narratives.
Use Case Narrative - Quiz

Write Extended UseCase - Exercise

Click the Exercise link below to write a use case description for one of the course project use cases.
Write Extended UseCase - Exercise

SEMrush Software