Add 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:
Assumptions
Preconditions
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.