Guidelines for Preparing Functional Requirements Document
- Extract the independent actions/tasks/activities from the product overview
document. Each one of these may correspond to an individual functional
requirement. Sometimes, a few of these tasks might be combined together
into one functional requirement.
- Separate the data to be manipulated from the tasks/activities to be
performed. The data serve as input and/or output for the functional
requirements.
- Analyze the list of tasks/activities and the data for complete coverage
of information with respect to the product overview document.
- Follow the standard template in creating the functional requirements
document.
- Try to group the functional requirements into various subsections; these
subsections depend on the application domain and the requirements document.
- Ensure that no implementation-oriented details such as types for
parameters, format for data, representational details and algorithmic
details are included in the requirements document.
- Every functional requirement is written in such a way that it is more or
less independent of other requirements. For example, you may have to
repeat some input parameters again and again in every functional
requirement in a section.
- You should not assume any context associated with a functional
requirement. For example, you cannot assume that functional requirement
FN.1 will be called from functional requirement FN.23 and hence the output
parameter of FN.1 will be used in FN.23. As stated earlier, each
functional requirement is more or less independent on its own. The design
process will tie them together.
- Every data item mentioned in "Action", "Exception", and "Remarks" sections
must be declared either in "Input parameters" or in "Output parameters"
but not both.