- Issue #3: add some feature.
- Issue #2: fix some other bugs.
- Issue #1: fix bug in software.
- Add first version of the software.
Describes the purpose of the document, and the intended audience.
Describes the scope of this requirements specification.
Provides a brief overview of the package defined as a result of the requirements elicitation process.
This section describes the essential problem(s) currently confronted by the user community. In other words, this section should discuss what purpose this software package fulfills.
Describes the general functionality of the software, which will be discussed in more detail below.
Describes the environment in which this software will function.
Describe any constraints that are placed on this software.
This section lists the functional requirements in ranked order. Functional requirements describe the possible effects of a software system, in other words, what the system must accomplish. Other kinds of requirements (such as interface requirements, performance requirements, or reliability requirements) describe how the system accomplishes its functional requirements. Each functional requirement should be specified in a format similar to the following:
This section describes how the software interfaces with other software products or users for input or output. Examples of such interfaces include library routines, token streams, shared memory, data streams, and so forth.
Describes how this product interfaces with the user.
Describes the graphical user interface if present. This section should include a set of screen dumps or mockups to illustrate user interface features. If the system is menu-driven, a description of all menus and their components should be provided.
Describes the command-line interface if present. For each command, a description of all arguments and example values and invocations should be provided.
Describes the application programming interface, if present. Foreach public interface function, the name, arguments, return values, examples of invocation, and interactions with other functions should be provided. If this package is a library, the functions that the library provides should be described here together with the parameters.
Describes how to obtain debugging information or other diagnostic data.
A high level description (from a software point of view) of the hardware interface if one exists. This section can refer to an ICD (Interface Control Document) that will contain the detail description of this interface.
A high level description (from a software point of view) of the software interface if one exists. This section can refer to an ICD (Interface Control Document) that will contain the detail description of this interface.
Describe any communication interfaces that will be required.
Specifies speed and memory requirements.
Mention to what standards this software must adhere to.
Describe any hardware limitations if any exist.
Give a detail requirements plan for the how the software will be tested and verified.
Describe the planning of the whole process mentioning major milestones and deliverables at these milestones.
If UML Use-Case notation is used in capturing the requirements, these models can be inserted and described in this section. Also providing references in paragraphs 5, 6 and 7 where applicable.