Research Group for Applied Software Engineering
Forschungsgruppe für Angewandte Softwaretechnik

How to develop the Requirements Analysis Document?

The following question may occur, when creating the Requirements Analysis Document. They are also related to the problem statement, as it is created before the Requirements Analysis Document and contains similar information in some parts.

 

What is the difference between a Problem Statement and a Requirements Analysis Document ?

The Problem Statement is a vision document, in which management and the client roughly agree on the scope of the system. The Requirements Analysis Document is a complete description, in which developers describe a specific system that would fulfill the vision in the Problem Statement.

 

Questions to objectives and success criteria:

Should the objectives and success criteria be updated in the Problem Statement/Requirements Analysis Document when they are modified in the Requirements Analysis Document/Problem Statement?

Section 1.3 Objectives and Success Criteria should be identical to the problem statement. When the objectives and success criteria of the project are changed in the Problem Statement (as a result of a meeting with the client), they are updated in the Requirements Analysis Document as well.

 

Questions to the functional requirements:

Should the functional requirements be copied from the Problem Statement to Requirements Analysis Document?

The functional requirements in the Requirements Analysis Document should be based on the Problem Statement. They can be copied as a starting point. Than, they need a much more detailed description.

 

Should the Problem Statement be updated if the functional requirements are refined or if a functional requirement is added in the Requirements Analysis Document?

Not necessarily. The functional requirements described in the problem statement are high-level. The problem statement should be updated only when the scope of the system is changed, that is, if a new high-level functional requirements is added.

 

What is the difference between the functional requirements and the use cases? Is this redundant information?

There is a minimal redundancy with the use cases, as the use cases represent how the system will meet the functional requirements. The functional requirements describe, what the user should be able to do (hence, this is also a description of the domain). The use cases are much more detailed as they are written in terms of steps. However, the requirements and the use cases should be consistent.

 

Questions to the nonfunctional requirements:

When I refine or add new nonfunctional requirements, should the Problem Statement be updated ?

The nonfunctional requirements from the Problem Statement are a starting point for the nonfunctional requirements in the Requirements Analysis Document. Take all requirements from the Problem Statement, put them into categories and add them into the Requirements Analysis Document. Refine, categorize, and add new ones. The Problem Statement should be updated only when the new ones denote high-level nonfunctional requirements that were forgotten in the Problem Statement.