i.c.stars | * / November 21, 2006

Automail Web Interface

Use Cases

Revision History

Name / Date / Reason For Changes / Version

Use Case List

ADD RECIPIENT 2

APPENDIX – GUIDANCE FOR CREATING USE CASES 3

ADD RECIPIENT

/
Created By: / Last Updated By:
Date Created: / Date Last Updated:
Actors:
Description:
Trigger:
Preconditions: / 1. 
Postconditions: / 1. 
Normal Flow: / 1. 
Alternative Flows:
Exceptions:
Priority:
Notes:
User Form(s):
Stored Procedures:

APPENDIX – GUIDANCE FOR CREATING USE CASES

Document each use case using the template shown in the Appendix. This section provides a description of each section in the use case template.

Use Case Identification

Use Case Name

State a concise, results-oriented name for the use case. These reflect the tasks the user needs to be able to accomplish using the system. Include an action verb and a noun. Generally these map to CRUD operations on an entity – Create Customer, Update Customer, Delete Customer, Get Customers for this group. FOR THE TABLE OF CONTENTS TO WORK PROPERLY, THE NAME MUST BE OF STYLE HEADING 2. This row in the table should also repeat across multiple paged use cases.

Use Case History

Created By

Supply the name of the person who initially documented this use case.

Date Created

Enter the date on which the use case was initially documented.

Last Updated By

Supply the name of the person who performed the most recent update to the use case description.

Date Last Updated

Enter the date on which the use case was most recently updated.

Use Case Definition

Actors

An actor is a person or other entity external to the software system being specified who interacts with the system and performs use cases to accomplish tasks. Different actors often correspond to different user classes, or roles, identified from the customer community that will use the product. Name the actor that will be initiating this use case and any other actors who will participate in completing the use case.

Description

Provide a one sentence description of the reason for and outcome of this use case.

Trigger

Identify the event that initiates the use case. This could be an external business event or system event that causes the use case to begin, or it could be the first step in the normal flow. It generally is initiated by a user event like clicking on a menu or button to begin a process.

Preconditions

List any activities that must take place, or any conditions that must be true, before the use case can be started. These tend to be related to the security settings that need to be in place. Number each postcondition. Examples:

  1. user is logged in
  2. user is in the XYZ group which allows them to perform this task
Postconditions

Describe the state of the system at the conclusion of the use case execution. Generally states how the database is different and/or what should appear on the screen. Number each postcondition. Examples:

  1. The new customer record has been inserted in the database
  2. The table of customers is displayed in a web browser for the user
  3. Price of item in database has been updated with new value.
Normal Flow

Provide a detailed description of the user actions and system responses that will take place during execution of the use case under normal, expected conditions. This dialog sequence will ultimately lead to accomplishing the goal stated in the use case name and description. This description may be written as an answer to the hypothetical question, “How do I <accomplish the task stated in the use case name>?” This is best done as a numbered list of actions performed by the actor, alternating with responses provided by the system. For system level use cases, the normal flow can be similar to pseudocode for the controller method that orchestrates the process.

Alternative Flows

Document other, legitimate usage scenarios that can take place within this use case separately in this section. State the alternative flow, and describe any differences in the sequence of steps that take place. For system level use cases, alternate flows tend to indicate IF THEN statements in the code will be required to handle different situations.

Exceptions

Describe any anticipated error conditions that could occur during execution of the use case, and define how the system is to respond to those conditions. Also, describe how the system is to respond if the use case execution fails for some unanticipated reason. If the use case results in a durable state change in a database or the outside world, state whether the change is rolled back, completed correctly, partially completed with a known state, or left in an undetermined state as a result of the exception. For system level use cases, this section should list the try catch blocks and assertions your code will contain to trap errors.

Priority

Indicate the relative priority of implementing the functionality required to allow this use case to be executed. Alternatively, this can contain the Project Phase Number that the use case is expected to be built.

Notes

List any additional comments about this use case or any remaining open issues or TBDs (To Be Determineds) that must be resolved.

User Form(s)

List the filename(s) of any user forms that will be built to accomplish this task. Generally one form per system level use case. For .NET Projects, list the .ASPX filename associated with this use case.

Stored Procedures

List any the names of the stored procedures that are required to accomplish this use case. Follow the naming convention Project_Table_Operation, e.g. Automail_MailReport_Insert

Copyright 2006 i.c.stars Permission is granted to use, modify, and distribute this document. / 2 / Use Cases