Besides the practical use case writing style guide introduced in here, we also developed a use case templates repository, where commonly used use cases are archived for reuse in different domain contexts. These use case templates are not meant to constrain the way a use case is written but to provide a starting point for requirements engineers. Think of them as intermediate good or semi-finished products, which need to be completed by requirements engineers to obtain a full-fledged use case specification.
An easy-to-copy-and-paste version of this repository is available at Google Docs. A real project's use case specification following the style guide and using the templates repository is available at here. Feel free to provide feedback.
Note: A <whatever> as postulated by Alistair Cockburn represents an important business object. A requirements engineer only needs to substitute a concrete business object for <whatever>. Text enclosed in square brackets ''[]" and displayed in italics is included to provide guidance to the author and should be deleted before publishing the use case.
- Find <whatever> s
- View a <whatever>
- Create a <whatever>
- Change a <whatever>
- Delete a <whatever>
- Generate a <report type> report
UC ID and Name: | UC-01: Find <whatever>s | ||||||||||||||||||||||||||||||||
Created By: | Date Created: | ||||||||||||||||||||||||||||||||
Primary Actor: | User | Secondary Actors: | |||||||||||||||||||||||||||||||
Trigger: | The User indicates to find <whatever>s. | ||||||||||||||||||||||||||||||||
Description: | The User wants to find <whatever>s which match specific criteria, so that she can decide what to do next or other <rationale of this use case>. | ||||||||||||||||||||||||||||||||
Preconditions: | PRE-1. The User is logged into the System. | ||||||||||||||||||||||||||||||||
Postconditions: | POST-1. A list of matching <whatever>s is returned and displayed to the User. It is possible that the list is empty. | ||||||||||||||||||||||||||||||||
Main Success Scenario: |
|
||||||||||||||||||||||||||||||||
Extensions: |
4a. No matching <whatever>s are found: 4a1. The System alerts the User that no matching <whatever>s are found. 4a2. The User either chooses to UC-03: create a <whatever> or chooses to terminate the use case or chooses to return to step 2 of the normal flow. 5a. The User chooses to select a different set of properties to display the matching <whatever>s: 5a1. The System displays the current "Search results display strategy." 5a2. The User enters a customized "Search results display strategy," confirms that she has finished entering, and returns to step 5 of the normal flow. 5b. The User chooses to re-sort the search results: 5b1. The User re-sorts the search result according to the "Sort criteria" defined in the Associated Information of this use case and returns to step 5 of the normal flow. |
||||||||||||||||||||||||||||||||
Priority: | High | ||||||||||||||||||||||||||||||||
Frequency of Use: | Approximately *** user, average of *** usages per week. | ||||||||||||||||||||||||||||||||
Business Rules: | |||||||||||||||||||||||||||||||||
Associated Information: |
Search criteria (aka search fields, search attributes/properties,
search details, searchable qualities):
|
||||||||||||||||||||||||||||||||
Related Use Cases: |
The User can perform other actions after this use case. After this use
case succeeds, the User may select any of the displayed
<whatever>s and take any of the following actions on
the selected item:
|
||||||||||||||||||||||||||||||||
Assumptions: | |||||||||||||||||||||||||||||||||
Open Issues: |
See examples that adopt this template: Use Case 6: Spirit Director/SuperFrog Student finds appearance requests and Use Case 15: Spirit Director finds SuperFrog Students.
UC ID and Name: | UC-02: View a <whatever> | |||||||||||||||||
Created By: | Date Created: | |||||||||||||||||
Primary Actor: | User | Secondary Actors: | ||||||||||||||||
Trigger: | The User indicates to view the details of a <whatever>. | |||||||||||||||||
Description: | The User wants to view the details of a <whatever>, so that she can get a better idea of <whatever> or other <rationale of this use case>. | |||||||||||||||||
Preconditions: |
PRE-1. The User is logged into the System. PRE-2. The User has the "view" privilege. See the Business Rules of this use case. |
|||||||||||||||||
Postconditions: | POST-1. The details of the specified <whatever> are displayed to the User. | |||||||||||||||||
Main Success Scenario: |
|
|||||||||||||||||
Extensions: | ||||||||||||||||||
Priority: | High | |||||||||||||||||
Frequency of Use: | Approximately *** user, average of *** usages per week. | |||||||||||||||||
Business Rules: |
Security/access concerns
|
|||||||||||||||||
Associated Information: |
|
|||||||||||||||||
Related Use Cases: |
UC-01: Find <whatever>s The User can perform other actions after this use case. After this use case succeeds, the User may take any of the following actions on this <whatever>:
|
|||||||||||||||||
Assumptions: | ||||||||||||||||||
Open Issues: |
See examples that adopt this template: Use Case 7: Spirit Director/SuperFrog Student views an appearance request and Use Case 16: Spirit Director views a SuperFrog Student account.
UC ID and Name: | UC-03: Create a <whatever> | ||||||||||||||||||
Created By: | Date Created: | ||||||||||||||||||
Primary Actor: | User | Secondary Actors: | |||||||||||||||||
Trigger: | The User indicates to create a new <whatever>. | ||||||||||||||||||
Description: | The User wants to create a new <whatever>, so that <rationale of this use case>. | ||||||||||||||||||
Preconditions: |
PRE-1. The User is logged into the System. PRE-2. The User has the "create" privilege. See the Business Rules of this use case. PRE-3. If this <whatever> is a dependent object, in other words, cannot exist by itself, the dependency object must exist first. |
||||||||||||||||||
Postconditions: | POST-1. The new <whatever> is stored in the System. | ||||||||||||||||||
Main Success Scenario: |
|
||||||||||||||||||
Extensions: |
4a. Input validation rule violation: 4a1. The System alerts the User that an input validation rule is violated and displays the nature and location of the error. 4a2. The User corrects the mistake and returns to step 4 of the normal flow. 5a. The System finds possible duplicates from the existing <whatever>s: 5a1. The System alerts the User that the <whatever> she is trying to create already exists in the System. 5a2. <Specify how to handle it here>. 5a3. The User either chooses to correct the mistake and return to step 4 of the normal flow or chooses to terminate the use case. |
||||||||||||||||||
Priority: | High | ||||||||||||||||||
Frequency of Use: | Approximately *** user, average of *** usages per week. | ||||||||||||||||||
Business Rules: |
Security/access concerns
|
||||||||||||||||||
Associated Information: |
Duplication detection rules:
Checks that the input is not empty (empty means trimmed input length is 0). Date:
|
||||||||||||||||||
Related Use Cases: | The User may first choose to UC-01: Find <whatever>s but cannot find any, then decide to create one. | ||||||||||||||||||
Assumptions: | |||||||||||||||||||
Open Issues: |
See examples that adopt this template: Use Case 1: Customer requests a SuperFrog appearance and Use Case 13: Spirit Director creates account for a new SuperFrog Student.
UC ID and Name: | UC-04: Change a <whatever> | |||||||||||||||||||||
Created By: | Date Created: | |||||||||||||||||||||
Primary Actor: | User | Secondary Actors: | ||||||||||||||||||||
Trigger: | The User indicates to change the details of an existing <whatever>. | |||||||||||||||||||||
Description: | The User wants to change the details of an existing <whatever>, so that <rationale of this use case>. | |||||||||||||||||||||
Preconditions: |
PRE-1. The User is logged into the System. PRE-2. The User has the "change" privilege. See the Business Rules of this use case. PRE-3. <whatever> can be changed after the creation. |
|||||||||||||||||||||
Postconditions: | POST-1. Changes made to the <whatever> are stored in the System. | |||||||||||||||||||||
Main Success Scenario: |
|
|||||||||||||||||||||
Extensions: |
6a. Input validation rule violation: 6a1. The System alerts the User that an input validation rule is violated and displays the nature and location of the error. 6a2. The User corrects the mistake and returns to step 6 of the normal flow. |
|||||||||||||||||||||
Priority: | High | |||||||||||||||||||||
Frequency of Use: | Approximately *** user, average of *** usages per week. | |||||||||||||||||||||
Business Rules: |
Security/access concerns
|
|||||||||||||||||||||
Associated Information: |
Notification:
Checks that the input is not empty (empty means trimmed input length is 0). Date:
|
|||||||||||||||||||||
Related Use Cases: |
The User may first choose to UC-02: View a <whatever>,
then decide to change one. [If the "Details" table contains an item which itself is a complex object (e.g., list), refer to UC: change an appearance. Similarly, in UC: change an appearance, refer to the UC: change a SuperFrog Student. So a user may not change the detailed appearance in this use case, if a user wants to do that, she will need to go to UC-04: change an appearance.] |
|||||||||||||||||||||
Assumptions: | ||||||||||||||||||||||
Open Issues: |
See examples that adopt this template: Use Case 2: Customer edits request details, Use Case 8: Spirit Director edits basic information of a request, and Use Case 20: SuperFrog Student edits profile information.
UC ID and Name: | UC-05: Delete a <whatever> | ||
Created By: | Date Created: | ||
Primary Actor: | User | Secondary Actors: | |
Trigger: | The User indicates to delete an existing <whatever>. | ||
Description: | The User wants to delete an existing <whatever>, so that <rationale of this use case>. | ||
Preconditions: |
PRE-1. The User is logged into the System. PRE-2. The User has the "delete" privilege. See the Business Rules of this use case. PRE-3. <whatever> can be deleted after the creation. |
||
Postconditions: | POST-1. The <whatever> is deleted from the System according to the "Deletion strategy" defined in the Associated Information of this use case. | ||
Main Success Scenario: |
|
||
Extensions: |
4a. Data integrity and deletion rule violation: 4a1. The System alerts the User that a deletion rule is violated and displays the nature of the violation. 4a2. The System prompts possible actions to resolve the violation. 4a3. Use case terminates. |
||
Priority: | High | ||
Frequency of Use: | Approximately *** user, average of *** usages per week. | ||
Business Rules: |
Security/access concerns
|
||
Associated Information: |
Deletion strategy:
[
Referring objects handling strategy: Specify what action to take in respect of the related objects of <whatever>
Data integrity and deletion rules:
|
||
Related Use Cases: |
The User may first choose to UC-02: View a <whatever>,
then decide to delete one. |
||
Assumptions: | |||
Open Issues: |
UC ID and Name: | UC-06: Generate a <report type> report | ||
Created By: | Date Created: | ||
Primary Actor: | User [Users who will generate the report or use it to make decisions] | Secondary Actors: | Report recipient(s) [Users who will generate the report or use it to make decisions] |
Trigger: | The User indicates to generate a <report type> report (on demand). [If automatically, specify the triggering conditions or events and frequency (daily, weekly, monthly etc.) here.] | ||
Description: | The User wants to run a <report type> report, so that <purpose or business intent of the report: e.g., what business decisions will be made using information in the report, and by whom>. | ||
Preconditions: |
PRE-1. The User is logged into the System. PRE-2. The User has the "generate report" privilege. See the Business Rules of this use case. |
||
Postconditions: | POST-1. The details of the report are returned and displayed to the User. | ||
Main Success Scenario: |
|
||
Extensions: |
4a. Input validation rule violation: 4b1. The System alerts the User that an input validation rule is violated and displays the nature and location of the error. 4b2. The User corrects the mistake and returns to step 4 of the normal flow. 5a. No data is returned: 5b1. The System alerts the User that no data is available in the generated report. 5b2. The User either chooses to return to step 3 of the normal flow or chooses to terminate the use case. 6a. The User chooses to "Save report generating parameters" for future reuse: 6a1. The System asks the User to enter a name for the current set of report generating parameters. 6a2. The User enters a name. 6a3. The System saves the name and the current set report generating parameters. 6a4. Use case resumes at the step of interruption. |
||
Priority: | High | ||
Frequency of Use: | Approximately *** user, average of *** usages per week. | ||
Business Rules: |
Security/access concerns [Specify any limitations regarding which individuals, groups, or organizations are permitted to generate or view the report or which data they are permitted to select for inclusion. Identify any relevant business rules concerning security.] |
||
Associated Information: |
Report generating parameters:
[Specify how the report is generated based on user's input parameter. Specify calculations or other transformations that are performed to generate the data displayed.] |
||
Related Use Cases: | |||
Assumptions: | If the job is too large, the System prompts the User to select to run the report immediately or to schedule a time for it to run. The System will display a projected run time, based on historical run times. | ||
Open Issues: |
See examples that adopt this template: Use Case 18: Spirit Director generates TCU Honorarium (Payment for services) Request Forms and Use Case 19: Spirit Director generates a SuperFrog Students performance report.