SRS

The production of the requirements stage of the software development process is Software Requirements Specifications (SRS) (also called a requirements document).
SRS is a formal report, which acts as a representation of software that enables the customers to review whether it (SRS) is according to their requirements. Also, it comprises user requirements for a system as well as detailed specifications of the system requirements.

In other words, The software requirement specification (SRS) is developed based on the agreement between customer and supplier. SRS helps to reduce the time and effort to develop software. To develop the software system we should clearly understand the Software requirements. To achieve this we need to continuously communicate with clients to gather all related information and requirements.

Characteristics of good SRS

A good SRS document should have the following characteristics:
  • Correctness: User review is used to provide the accuracy of requirements stated in the SRS. SRS is said to be perfect if it covers all the needs that are truly expected from the system.
  • Structured: A well-structured SRS document is easy to understand and modify.
  • Complete: software system will perform each and every functions as per the SRS
  • Unambiguous: which means not confusing, every requirement will be specified in the SRS which will have only one meaning.
  • Verifiable: this will do the cross verifying of the SRS which is understood by software.
  • Consistent:  Requirements at all levels must be consistent with each other .any conflict between requirements within the SRS must be identified and resolved.
  • Modifiable: if necessary changes can be made which doesn’t affect the consistency and also the completeness.
  • Traceable: origin of the requirement should be clear that the future assist verification and also validates.

Requirement Quality

Example of bad requirement

Example of good requirement

Complete

A professor user will log into the system by providing his username, password, and other relevant information

A professor user will log into the system by providing his username, password and department code

Consistent and unambiguous

A student will have either undergraduate courses or post-graduate courses but not both. Some courses will be open to both under-graduate and post-graduate

A student will have either under-graduate or post graduates but not both

Testable

Each page of the system will load in an acceptable time-frame

Register student and enroll courses pages of the system will load within 5 seconds

Uniquely identified

1- Students will be able to enroll to undergraduate courses1- Students will be able to enroll to post-graduate courses

  1. Course Enrolment
  2. Students will be able to enroll to undergraduate courses
  3. Students will be able to enroll to post-graduate courses

 

Traceable

Maintain student information-mapped to  req.ID?

Maintain student information-Mapped to  req ID 4.1

  

Advantages of good SRS Document

  • An SRS establishes the basis for agreement between the customer and the supplier on what the software product will perform.
  • An SRS provides a reference for validation of the final product/software.
  • A high-quality SRS is a prerequisite to high-quality product/software.
  • A high-quality SRS reduces the development cost.

Problems without an SRS Document

  • It would be difficult to develop the system according to customer needs, without having an SRS document
  • Software developers will not know whether they are developing the product according to the customer need.
  • Software Engineers find it difficult to understand the functionality of the software, during the maintenance phase.
  • User document writer will face many difficulties writing the “users manual” without understanding the SRS documents.

No comments:

Post a Comment