What is SRS? According to Wikipedia, it is a complete description of the behavior of the system to be developed. It includes a set of use cases that describe all the interactions the users will have with the software. Use cases are also known as functional requirements. In addition to use cases, the SRS also contains non-functional (or supplementary) requirements. Non-functional requirements are requirements which impose constraints on the design or implementation (such as performance engineering requirements, quality standards, or design constraints).
As this week I was assigned to do SRS for a company (with team members), it is a tedious job with fine specification that need to be written. There are plenty of format for writing it, but we have to choose the best one that suits us. Here are some easy steps to do it:
- · Step 1
If your organization does not have a standard Software Requirements Specifications document template, create one now. Please see the Resources section below for some links to templates I found on the internet.
- · Step 2
Meet with the subject matter experts / clients to gather the requirements.
- · Step 3
Define the functions of the software.
- · Step 4
Create use cases for the major sub processes. For example, if you are designing an order entry system. Use cases would consist of creating a new order, modifying an existing order, customer order search, etc.
- · Step 5
Define the user interface.
- · Step 6
Define any other interfaces such as hardware interfaces or other software system interfaces.
- · Step 7
Define the process flow.
- · Step 8
Determine any specific business rules.
- · Step 9
Define the performance specification.
- · Step 10
Create any diagrams needed to illustrate process flow or elaborate on key requirements.
- · Step 11
Compile the SRS document and have all necessary parties review or sign off on it.
As a conclusion, the goal is not to create a great specification, but to create a great software or system.