Functional Requirement Document Template
Functional Requirement Document Template
Template
Table of Contents
1.1. Context……………………………………………………………………………………….. 3
User story template
Use Case
Give each use case a unique numeric identifier, in hierarchical form: X.Y. Related use cases can be
grouped in the hierarchy. Functional requirements can be traced back to a labeled use case.
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. Some examples:
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.
Enter the date on which the use case was most recently updated.
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(s) that will be performing this use case.
Description
Provide a brief description of the reason for and outcome of this use case, or a high-level description
of the sequence of actions and the outcome of executing the use case.
Preconditions
List any activities that must take place, or any conditions that must be true, before the use case can be
started. Number each precondition. Examples:
Describe the state of the system at the conclusion of the use case execution. Number each
postcondition. Examples:
Indicate the relative priority of implementing the functionality required to allow this use case to be
executed. The priority scheme used must be the same as that used in the software requirements
specification.
Frequency of Use
Estimate the number of times this use case will be performed by the actors per some appropriate unit
of time.
Normal Course of Events
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.
Alternative Courses
Document other, legitimate usage scenarios that can take place within this use case separately in this
section. State the alternative course, and describe any differences in the sequence of steps that take
place. Number each alternative course using the Use Case ID as a prefix, followed by “AC” to
indicate “Alternative Course”. Example: X.Y.AC.1.
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. Number each exception using the Use Case ID
as a prefix, followed by “EX” to indicate “Exception”. Example: X.Y.EX.1.
Includes
List any other use cases that are included (“called”) by this use case. Common functionality that
appears in multiple use cases can be split out into a separate use case that is included by the ones that
need that common functionality.
Special Requirements
Identify any additional requirements, such as nonfunctional requirements, for the use case that may
need to be addressed during design or implementation. These may include performance requirements
or other quality attributes.
Assumptions
List any assumptions that were made in the analysis that led to accepting this use case into the product
description and writing the use case description.
Notes and Issues
List any additional comments about this use case or any remaining open issues or TBDs (To Be
Determineds) that must be resolved. Identify who will resolve each issue, the due date, and what the
resolution ultimately is.
Use Case Template
Use Case ID:
Actor:
Description:
Preconditions:
Postconditions:
Priority:
Frequency of Use:
Alternative Courses:
Exceptions:
Includes:
Special Requirements:
Assumptions: