You are on page 1of 6

Lesson 2.

Software Requirement Specifications

Introduction
This is the second lesson of the course module: Programming group
Project. This second lesson will provide basic concepts related to
software requirement specification (SRS). It is required at the end of the
lesson student should be able to design and write software requirement
specifications. Lesson 02 will provide the basic definition of SRS and what
contents are to be included in a SRS.

Learning Outcomes
After completing this lesson you would be able to,
 Define the term Software Requirement Specification
 Define the term System requirement Specification
 Describe the advantages of using SRS

First, we will talk about what SRS is.

2.1 Software Requirement Specification (SRS)

Requirements specification is the process of writing down the user and


software requirements in a requirements document. Ideally, the user
and system requirements should be clear, unambiguous, easy to

1
understand, complete, and consistent. Typically, SRS is a document
including a purpose, overall description of the project and specific
requirements; describing the probable system capabilities that will meet
the various customer’s wants and needs; taking into account how the
future system will function and accomplish users’ goals, etc.…

A typical SRS includes:

 A purpose

 An overall description

 Specific requirements

The best SRS documents define how the software will interact when
embedded in hardware — or when connected to other software. Good
SRS documents also account for real-life users.

It’s true that "software requirements specification" & "system


requirements specification" are used interchangeably as the acronym
"SRS." Aren’t you confused when hearing this acronym? Doesn’t it
disorientate you? Do you know the difference between them? Let’s
define:

Software requirements specification (SRS) includes in-depth


descriptions of the system/software developed while a system

2
requirements specification just collects information regarding the
system/software requirements. Let’s dig a little deeper!

Every software has specific goals and serves particular purposes. Each
goal and purpose translates a process or several processes that the
software aims to solve or to automate. To deliver the right software
product, we should define well the software from the beginning.

System requirement specification frameworks software development, it


documents every operation and dictates how software should behave, it
can be as detailed as what a button should do and should be as complete
and correct as possible. The purpose of a specification document is to
describe the behavior as well as the different functionalities of an
application or software in a specific environment. Hence, in summary,
we can say;

Software requirements specification (SRS) includes in-depth


descriptions of the software that will be developed.

A system requirements specification (SRS) collects information on the


requirements for a system.

“Software” and “system” are sometimes used interchangeably as SRS.


But, a software requirement specification provides greater detail than a
system requirements specification.

3
2.2 Why should SRS be included in the software development process?

You might have learned the software development processes under the
course module Software Engineering. Let us see why the development
of SRS is important throughout this process.

First of all, customers or product owners together with requirement


analyst work on writing system requirements to define the objectives of
the software as well as the scope of intervention of the team that
develops the application or the software. A thorough description of the
software helps the development team to implement and build the
software. We then use the software system requirements specification
to validate and check the software product to ensure that it has the
required features. Development should start from a specification. If
somehow the delivered software doesn’t meet the requirements, the
specification serves as a reference and development team works to meet
all the described requirements.

Writing technical specifications for software is then an important starting


point for any software development project. It involves not only the
development team (especially requirement analyst) but also the owners
and/or users of the software. It helps the software development team

4
during the design and implementation of the product. Making sure that
the specifications are complete and clear which means that they do not
lead to ambiguity prevents designers from spending lots of time
correcting, redefining and re-implementing the software.

Additionally, the development of an application is an evolving process; it


will not always involve the same persons. Writing software requirements
specifications aims to document the behavior of the software making it
easier to hand over the development from a team to another. This is why
it is essential to know how to write a requirement specification.

A good specification makes the software product easier to update. Any


change in the software requires to update the project requirement
specification inviting every party involved in the process to rethink the
changes to be made.

In summary, we can say that the following benefits can be gained by


using SRS before the real development begins.

 A software requirements specification is the basis for your entire


project. It lays the framework that every team involved in
development will follow.

 It’s used to provide critical information to multiple teams


— development, quality assurance, operations, and maintenance.
This keeps everyone on the same page.

5
 Using the SRS helps to ensure requirements are fulfilled. And it can
also help you make decisions about your product’s lifecycle — for
instance when to retire a feature.

 Writing an SRS can also minimize overall development time and


costs. Embedded development teams especially benefit from using
an SRS.

Summary

From this lesson you learned about what is a software requirement


specification, how does it differ from system requirement specification
and what benefit will you get by having it in your software development
process. In the next lesson, we discuss how to write a SRS.

You might also like