What does SRS stand for requirements?

  • SRS specifies the functional and non-functional requirements of the software to be developed whereas BRS in software engineering is a formal document describing the requirement provided by the client
  • SRS is created by the System architect whereas BRS software is usually created by the business analyst.
  • SRS stands for System Requirement Specification whereas BRS stands for Business Requirement Specification.
  • SRS is derived from the BRS whereas BRS is derived from client interaction and requirements.

Before we begin you must know – The difference between a Requirement and a Specification


Requirements

Specifications
They outline “what” the software must do They outline “how” the software will be created
They outline the software from the end-user , business and stakeholder perspective. They outline the software from the technical team perspective.

There are a plethora of terms and terminology for various documents

Specification Documents like –

  • SRS – System Requirement Specifications
  • FRS – Functional Requirement Specifications
  • BRS – Business Requirement Specification
  • CRS- Compatibility Requirements Specifications
  • PRS – Performance Requirements Specifications
  • RRS- Reliability Requirements Specifications
  • CRS-Configurations Requirements Specification

Requirement Documents like –

  • BRD – Business Requirement Document
  • SRD – System Requirement Document

Points To Ponder

  • In many places these documents are not separate and are used interchangeably.
  • Specifications and requirements roughly communicate the same information, but to two completely different audiences.
  • For a given project which documents of above are created, depends on the “nature” of the project and the organizational “processes”

In this tutorial we will discuss the Difference between BRS and SRS in software testing:

What does SRS stand for requirements?

Difference between SRS and BRS

BRS (Business Requirement Specification) SRS (System Requirement Specification)
It describes at very high level the functional specifications of the software It describes at a high level , the functional and technical specification of the software
It is a formal document describing about the requirement provided by client (written, verbal) It specifies the functional and non-functional requirements of the software to be developed
Usually its created by the Business Analyst who interacts with clients Usually its created by the System Architect who is an technical expert .

Though in smaller companies the BA will create SRS as well.

Some companies do not create SRS altogether. Their BRS is detailed enough to be used as SRS as well.

It is derived from client interaction and requirements It is derived from the BRS

What is a System Requirements Specification (SRS)?

A System Requirements Specification (SRS) (also known as a Software Requirements Specification) is a document or set of documentation that describes the features and behavior of a system or software application. It includes a variety of elements (see below) that attempts to define the intended functionality required by the customer to satisfy their different users.

What does SRS stand for requirements?

In addition to specifying how the system should behave, the specification also defines at a high-level the main business processes that will be supported, what simplifying assumptions have been made and what key performance parameters will need to be met by the system.

Main Elements

Depending on the methodology employed (agile vs waterfall) the level of formality and detail in the SRS will vary, but in general an SRS should include a description of the functional requirements, system requirements, technical requirements, constraints, assumptions and acceptance criteria. Each of these is described in more detail below:

  • Business Drivers
  • Business Model
  • Functional and System Requirements
  • Business and System Use Cases
  • Technical Requirements
  • System Qualities
  • Constraints and Assumptions
  • Acceptance Criteria

Business Drivers

This section describes the reasons why the customer is looking to build the system. The rationale for the new system is important as it will guide the decisions made by the business analysts, system architects and developers. Another compelling reason for documenting the business rationale behind the system is that the customer may change personnel during the project. Documentation which clearly identifies the business reasons for the system will help sustain support for a project if the original sponsor moves on.

What does SRS stand for requirements?

The drivers may include both problems (reasons why the current systems/processes are not sufficient) and opportunities (new business models that the system will make available). Usually a combination of problems and opportunities are needed to provide motivation for a new system.

Business Model

This section describes the underlying business model of the customer that the system will need to support. This includes such items as the organizational context, current-state and future-state diagrams, business context, key business functions and process flow diagrams. This section is usually created during the functional analysis phase.

Functional and System Requirements

This section usually consists of a hierarchical organization of requirements, with the business/functional requirements at the highest-level and the detailed system requirements listed as their child items.

What does SRS stand for requirements?

Generally, the requirements are written as statements such as "System needs the ability to do x" with supporting detail and information included as necessary.

Business and System Use Cases

This section usually consists of a UML use case diagram that illustrates the main external entities that will be interacting with the system together with the different use cases (objectives) that they will need to carry out. For each use-case there will be formal definition of the steps that need to be carried out to perform the business objective, together with any necessary pre-conditions and post-conditions.

What does SRS stand for requirements?

The business use cases are usually derived from the functional requirements and the system use cases are usually derived from the system requirements.

The use cases steps can also be represented as a flowchart diagram:

What does SRS stand for requirements?

Technical Requirements

This section is used to list any of the "non-functional" requirements that essentially embody the technical environment that the product needs to operate in, and include the technical constraints that it needs to operate under. These technical requirements are critical in determining how the higher-level functional requirements will get decomposed into the more specific system requirements.

System Qualities

This section is used to describe the "non-functional" requirements that define the "quality" of the system. These items are often known as the "-ilities" because most of them end in "ility". They included such items as: reliability, availability, serviceability, security, scalability, maintainability.

What does SRS stand for requirements?

Unlike the functional requirements (which are usually narrative in form), the system qualities usually consist of tables of specific metrics that the system must meet to be accepted.

Constraints and Assumptions

This section will outline any design constraints that have been imposed on the design of the system by the customer, thereby removing certain options from being considered by the developers. Also, this section will contain any assumptions that have been made by the requirements engineering team when gathering and analyzing the requirements. If any of the assumptions are found to be false, the system requirements specification would need to be re-evaluated to make sure that the documented requirements are still valid.

Acceptance Criteria

This section will describe the criteria by which the customer will "sign-off" on the final system. Depending on the methodology, this may happen at the end of the testing and quality assurance phase, or in an agile methodology, at the end of each iteration.

The criteria will usually refer to the need to complete all user acceptance tests and the rectification of all defects/bugs that meet a pre-determined priority or severity threshold.

Alternatives

In agile methodologies such as extreme programming or scrum formal, static documentation such as a software requirements specification (SRS) are usually eschewed in favor of a more lightweight documentation of the requirements, namely by means of user stories and acceptance tests.

What does SRS stand for requirements?

This approach requires that the customer is easily accessible to provide clarification on the requirements during development and also assumes that the team members responsible for writing the user stories with the customer will be the developers building the system. A more formal approach may be needed if the customer is inaccessible and/or a separate team of business analysts will be developing the requirements.

In Rapid Application Development (RAD) methodologies such as DSDM or Unified Process (RUP, AUP) the requirements specification is often kept at a higher-level with much of the detailed requirements embodied in prototypes and mockups of the planned system. These prototypes are a more visual way to represent the requirements and help the customer more easily comprehend what is planned (and therefore provide more timely feedback).

How do you write requirements in SRS?

How to Write a Software Requirement Specification Document.
Create an Outline. The first step in the process is to create an outline for SRS document. ... .
Define the Purpose. ... .
Give an Overview. ... .
Describe Functional and Non-functional Requirements. ... .
Add Supplemental Details. ... .
Get Approval. ... .
Explicit. ... .
Measurable..

What is SRS explain with example?

A Software Requirements Specification (SRS) is a document that describes the nature of a project, software or application. In simple words, SRS document is a manual of a project provided it is prepared before you kick-start a project/application. ... 1.2 DOCUMENT CONVENTIONS..

What is performance requirements in SRS?

Performance requirements define how well the software system accomplishes certain functions under specific conditions. Examples include the software's speed of response, throughput, execution time, and storage capacity. The service levels comprising performance requirements are often based on supporting end-user tasks.

Who will prepare SRS document?

The SRS document is created by a team of System Analysts (SA), a technical expert. 8. It defines, at a very high level, which includes the functional conditions of the application. It specifies at a high level where the functional and technical requirements of the application are included.