Open In App

How to write a good SRS for your Project

What is SRS?

A software requirements specification (SRS) is a description of a software system to be developed. It lays out functional and non-functional requirements and may include a set of use cases that describe user interactions that the software must provide.



The output of requirement engineering is the requirement specification document (SRD). it can be considered as a contract between the development team and the customer which can be also used to resolve any disagreement that may arise in future.

it is the specification for the particular software product , program or set of programs that perform certain function. it serves a number of purposes depending upon who is writing it. the srs document must be written in two phase:



First SRS should be written by the customer and second SRS should be written by the developer. first srs is used to define an expectations of the user and second srs is written for different purpose and serves as a contract document between customer and developer.

Why SRS?

In order to fully understand one’s project, it is very important that they come up with an SRS listing out their requirements, how are they going to meet them and how will they complete the project. It helps the team to save upon their time as they are able to comprehend how are going to go about the project. Doing this also enables the team to find out about the limitations and risks early on.

The following is a sample SRS that I wrote for one of my projects.

SRS’s characteristics include:

Project Plan:  MeetUrMate

1. Introduction

This document lays out a project plan for the development of the “MeetUrMate” open source repository system by Anurag Mishra.

The intended readers of this document are current and future developers working on “MeetUrMate” and the sponsors of the project. The plan will include, but is not restricted to, a summary of the system functionality, the scope of the project from the perspective of the “MeetUrMate” team (me and my mentors), scheduling and delivery estimates, project risks, and how those risks will be mitigated, the process by which I will develop the project, and metrics and measurements that will be recorded throughout the project.

2. Overview

In today’s world, owning to the heavy workload on the employees, they are having a huge amount of stress in their lives. Even with the presence of so many gadgets in and around them, they are not able to relieve their stress. I aim to develop an application that would enable them to share the thing of their liking and meet the person who has the same passion as theirs. For eg. If someone wants to share their art, they can share it through the platform, if someone wants to sing any song, they can record it and share the same. They can also share videos (with some funny commentary in the background), share mysteries that other people can solve, post any question. Through my platform, I’ll enable them to meet people who share common interests and passions, chat with them, and have some fun.

2.1 Customers

Everyone. Anyone can use this application ranging from a child to an old-age person.

2.2 Functionality

P.S.  Italic points features can be inculcated later.

2.3 Platform

It will be launched both as a Web-based application and a Mobile app for Android.

2.4 Development Responsibility

I, Anurag Mishra, would be developing the software and I am responsible for the creation of the Database and all the other related kinds of stuff.

3. Goals and Scopes

4. Deliverables

I’ll deliver the following during the course of development:

5. Risk Management

5.1 Risk Identification

Following will be the risk involved in my project:

1) People are already using Facebook to find friends. So, what would be the real cause that would motivate them to join my application?

5.2 Risk Mitigation

Even though most of the users would already be using Facebook, our platform would still offer them many things that are not there on Facebook. For eg.

  1. They don’t meet people who share common interests and passions as much. Our application would enable them to meet people (apart from usual friends) who share common interests and passions on a more frequent basis.
  2. Users of FB cannot share songs on the go that they have sung whereas on our app they can do that on the go.
  3. People can post mysteries/cases and other people can solve them. Moreover, people will get points in case they solve the mysteries or on the basis of the popularity of their posts.
  4. More importantly, people need not register for my application, instead, they can log in using their already existing accounts of Google/Facebook.

Thus, I think that there is a considerable amount of difference between Facebook/Instagram/Twitter and my application and it would attract many people.

6. Scheduling and Estimates

Milestone Description Release Date Release
      Iteration
M1 Application view and Design October 5, 2015 R1
  (Front-end development)    
M2 Database for my application October 17, 2015 R1
  (Back-end)    
M3 Integrating views and designs November 12, 2015 R1
  (Integrating front-end and    
  back-end)    
M4 Testing for initial release November 20, 20015 R2
M5 Issue tracker, user reviews, December 1, 2015 R2
  web design integration    
M6 Final release December 23, 2015 R2

7. Technical Process 

Following would be the languages I would use to develop my application within the stipulated time period:

Front-end development: Jquery, HTML, CSS, PHP.

Back-end development: PHP, MySQL.

For Android app: Java on Android SDK.

The blog is contributed by Anurag Mishra.

 An SRS (Software Requirements Specification) is a document that outlines the requirements for a software project. A well-written SRS is essential for a successful software development project. Here are some tips for writing a good SRS for your project:

Overall, a good SRS is clear, concise, and comprehensive. It should provide a detailed and accurate description of the software project, its features, and its requirements. By following these tips, you can create an SRS that will help ensure the success of your software development project.
 


Article Tags :