Requirements Specification
Requirements Specification
Use this Requirements Specification template to document the requirements for your product or
service, including priority and approval. Tailor the specification to suit your project, organizing the
applicable sections in a way that works best, and use the checklist to record the decisions about what is
applicable and what isn't.
The format of the requirements depends on what works best for your project.
This document contains instructions and examples which are for the benefit of the person writing the
document and should be removed before the document is finalized.
To regenerate the TOC, select all (CTL-A) and press F9.
Table of Contents
1. EXECUTIVE SUMMARY............................................................................................. 3
1.1 PROJECT OVERVIEW.................................................................................................................... 3
1.2 PURPOSE AND SCOPE OF THIS SPECIFICATION...................................................................................3
2. PRODUCT/SERVICE DESCRIPTION............................................................................3
2.1 PRODUCT CONTEXT.................................................................................................................... 3
2.2 USER CHARACTERISTICS............................................................................................................... 3
2.3 ASSUMPTIONS............................................................................................................................ 3
2.4 CONSTRAINTS............................................................................................................................ 3
2.5 DEPENDENCIES.......................................................................................................................... 4
3. REQUIREMENTS...................................................................................................... 4
3.1 FUNCTIONAL REQUIREMENTS......................................................................................................... 5
3.2 USER INTERFACE REQUIREMENTS................................................................................................... 5
3.3 USABILITY................................................................................................................................. 5
3.4 PERFORMANCE........................................................................................................................... 6
3.4.1 Capacity.......................................................................................................................... 6
3.4.2 Availability....................................................................................................................... 6
3.4.3 Latency........................................................................................................................... 6
3.5 MANAGEABILITY/MAINTAINABILITY.................................................................................................. 6
3.5.1 Monitoring....................................................................................................................... 6
3.5.2 Maintenance.................................................................................................................... 6
3.5.3 Operations....................................................................................................................... 6
3.6 SYSTEM INTERFACE/INTEGRATION................................................................................................... 7
3.6.1 Network and Hardware Interfaces...................................................................................7
3.6.2 Systems Interfaces.......................................................................................................... 7
3.7 SECURITY.................................................................................................................................. 8
3.7.1 Protection........................................................................................................................ 8
3.7.2 Authorization and Authentication....................................................................................8
3.8 DATA MANAGEMENT.................................................................................................................... 8
3.9 STANDARDS COMPLIANCE............................................................................................................. 8
3.10 PORTABILITY.............................................................................................................................. 8
4. USER SCENARIOS/USE CASES..................................................................................9
5. DELETED OR DEFERRED REQUIREMENTS..................................................................9
6. REQUIREMENTS CONFIRMATION/STAKEHOLDER SIGN-OFF.......................................10
APPENDIX................................................................................................................. 11
APPENDIX A. DEFINITIONS, ACRONYMS, AND ABBREVIATIONS.....................................................................11
APPENDIX B. REFERENCES.................................................................................................................. 11
APPENDIX C. REQUIREMENTS TRACEABILITY MATRIX.................................................................................11
APPENDIX D. ORGANIZING THE REQUIREMENTS.......................................................................................13
1. Executive Summary
1.1 Project Overview
Describe this project or product and its intended audience, or provide a link or reference to the project
charter.
2. Product/Service Description
In this section, describe the general factors that affect the product and its requirements. This section
should contain background information, not state specific requirements (provide the reasons why
certain specific requirements are later specified).
2.3 Assumptions
List any assumptions that affect the requirements, for example, equipment availability, user expertise,
etc. For example, a specific operating system is assumed to be available; if the operating system is
not available, the Requirements Specification would then have to change accordingly.
2.4 Constraints
Describe any items that will constrain the design options, including
parallel operation with an old system
/var/www/apps/conversion/tmp/scratch_7/345022823.doc December 26, 2015
Page 3 o f 14
[YourProject] Requirements Specification
audit functions (audit trail, log files, etc.)
access, management and security
criticality of the application
system resource constraints (e.g., limits on disk space or other hardware limitations)
other design constraints (e.g., design or other standards, such as programming language or
framework)
2.5 Dependencies
List dependencies that affect the requirements. Examples:
This new product will require a daily download of data from X,
Module X needs to be completed before this module can be built.
3. Requirements
Describe all system requirements in enough detail for designers to design a system satisfying the
requirements and testers to verify that the system satisfies requirements.
Organize these requirements in a way that works best for your project. See 44, Organizing the
Requirements for different ways to organize these requirements.
Describe every input into the system, every output from the system, and every function performed
by the system in response to an input or in support of an output. (Specify what functions are to be
performed on what data to produce what results at what location for whom.)
Each requirement should be numbered (or uniquely identifiable) and prioritized.
See the sample requirements in Functional Requirements, and System Interface/Integration, as well
as these example priority definitions:
Priority Definitions
The following definitions are intended as a guideline to prioritize requirements.
Priority 1 The requirement is a must have as outlined by policy/law
Priority 2 The requirement is needed for improved processing, and the fulfillment of the
requirement will create immediate benefits
Priority 3 The requirement is a nice to have which may include new functionality
It may be helpful to phrase the requirement in terms of its priority, e.g., "The value of the employee
status sent to DIS must be either A or I" or "It would be nice if the application warned the user that
the expiration date was 3 business days away". Another approach would be to group requirements
by priority category.
A good requirement is:
Correct
Unambiguous (all statements have exactly one interpretation)
Complete (where TBDs are absolutely necessary, document why the information is unknown,
who is responsible for resolution, and the deadline)
Consistent
Ranked for importance and/or stability
Verifiable (avoid soft descriptions like works well, is user friendly; use concrete terms and
specify measurable quantities)
Modifiable (evolve the Requirements Specification only via a formal change process, preserving
a complete audit trail of changes)
Does not specify any particular design
/var/www/apps/conversion/tmp/scratch_7/345022823.doc December 26, 2015
Page 4 o f 14
[YourProject] Requirements Specification
Traceable (cross-reference with source documents and spawned documents).
3.3 Usability
Include any specific usability requirements, for example,
3.4 Performance
Specify static and dynamic numerical requirements placed on the system or on human interaction with
the system:
Static numerical requirements may include the number of terminals to be supported, the number of
simultaneous users to be supported, and the amount and type of information to be handled.
Dynamic numerical requirements may include the number of transactions and tasks and the amount
of data to be processed within certain time period for both normal and peak workload conditions.
All of these requirements should be stated in measurable form. For example, "95% of the transactions
shall be processed in less than 1 second" rather than an operator shall not have to wait for the
transaction to complete.
3.4.1 Capacity
Include measurable capacity requirements (e.g., the number of simultaneous users to be supported,
the maximum simultaneous user load, per-user memory requirements, expected application
throughput)
3.4.2 Availability
Include specific and measurable requirements for:
Hours of operation
Level of availability required
Coverage for geographic areas
Impact of downtime on users and business operations
Impact of scheduled and unscheduled maintenance on uptime and maintenance communications
procedures
reliability (e.g., acceptable mean time between failures (MTBF), or the maximum permitted number
of failures per hour).
3.4.3 Latency
Include explicit latency requirements, e.g., the maximum acceptable time (or average time) for a service
request.
3.5 Manageability/Maintainability
3.5.1 Monitoring
Include any requirements for product or service health monitoring, failure conditions, error detection,
logging, and correction.
3.5.2 Maintenance
Specify attributes of the system that relate to ease of maintenance. These requirements may relate to
modularity, complexity, or interface design. Requirements should not be placed here simply because
they are thought to be good design practices.
3.7 Security
3.7.1 Protection
Specify the factors that will protect the system from malicious or accidental access, modification,
disclosure, destruction, or misuse. For example:
encryption
activity logging, historical data sets
restrictions on intermodule communications
data integrity checks
3.10 Portability
If portability is a requirement, specify attributes of the system that relate to the ease of porting the
system to other host machines and/or operating systems. For example,
APPENDIX
The appendixes are not always considered part of the actual Requirements Specification and are not
always necessary. They may include
Sample input/output formats, descriptions of cost analysis studies, or results of user surveys;
Supporting or background information that can help the readers of the Requirements Specification;
A description of the problems to be solved by the system;
Special packaging instructions for the code and the media to meet security, export, initial loading, or
other requirements.
When appendixes are included, the Requirements Specification should explicitly state whether or not
the appendixes are to be considered part of the requirements.
2. References
List all the documents and other materials referenced in this document.
Major DevTstItems
BizReqID Pri Deliv Name Status
Area DelivID
BR_LR_09 1 BUA BUA-PF-02 BU Assignment Rules Maint Process Flow Diagram Accepted
BR_LR_09 1 BUA BUA-UCT-045 BU Assignment Rules Maint: Successfully Add New Reviewed
Assignment Rule
BR_LR_09 1 BUA BUA-TC-021 BU Assignment Rules Maint TestCase: Add New ReadyForReview
Rule (Associated Job Class Does Not Exist) -
Success
BR_LR_09 1 BUA BUA-TC-027 BU Assignment Rules Maint TestCase: Modify Rule ReadyForReview
- Success
BR_LR_09 1 BUA BUA-TC-035 BU Assignment Rules Maint TestCase: Add New ReadyForReview
Rule (Associated Job Class Does Not Exist) - Error
Condition
BR_LR_09 1 BUA BUA-TC-049 BU Assignment Rules Maint TestCase: Modify Rule ReadyForReview
- Error Condition
For example (3):
BizReqID CD01 CD02 CD03 CD04 UI01 UI02 UCT01 UCT02 UCT03 TC01 TC02 TC03 TC04
BR_LR_01 X X X X X
BR_LR_09 X X X X X X
BR_LR_10 X X X X
/var/www/apps/conversion/tmp/scratch_7/345022823.doc December 26, 2015
Page 12 o f 14
[YourProject] Requirements Specification
BizReqID CD01 CD02 CD03 CD04 UI01 UI02 UCT01 UCT02 UCT03 TC01 TC02 TC03 TC04
BR_LR_11 X