are here: Freetutes.com
Analysis and Design
Request Clarification / Software Requirement Specification (SRS)
Software Requirement Specification (SRS) is the beginning point of the software
development activity. Software requirement is one such area to which little importance
was attached in the early days of software development, as the emphasis was on
coding and design. The main assumption was that the developers understood the
problem clearly when it was explained to them, generally informally.
As system grew more complex, it became evident that the goals of the entire
system could not be easily comprehended. Therefore, the need for a more rigorous
requirement analysis phase arose. Now, for large systems, requirements analysis
is perhaps the most difficult and intractable activity; it is also very error
prone. Many software engineers believe that the software engineering discipline
is the weakest in this critical area. Some of the difficulties is the scope of
this phase. The software project is initiated by clients needs. These needs are
in the minds of various people in the client organization.
The requirement analyst has to identify the requirements by talking to these
people and understanding their needs. In situations where the software is to automate
a currently manual process, many of the needs can be understood by observing the
current practice. But no such methods exists for such systems for which manual
processes do not exist (example; software for a missile control system) or for
a "new features", which are frequently added when automating an existing
Thus, identifying requirements necessarily involves specifying what some people
have in their minds (or what will come to their minds when they visualize it).
As the information in their minds is by very nature not formally stated or organized,
the input to the software requirement specification phase is inherently informal
and imprecise, and is likely to be incomplete. When inputs from multiple people
are to be gathered, as is more often the case, these inputs are likely to be inconsistent
as well. The software requirement specification phase translates the ideas in
the minds of the client (the input), into a set of formal documents (the output
of the requirement phase). Thus, the output of the phase is a set of formally
specified requirements, which hopefully are complete and consistent.
Software Requirement (or) Role of Software Requirement Specification
IEEE (Institute of Electrical and Electronics Engineers) defines as,
A condition of capability needed by a user to solve a problem or achieve an
A condition or capability that must be met or possessed by a system to satisfy
a contract, standard, specification or other formally imposed document.
Note that in software requirements we are dealing with the requirements of
the proposed system, that is, capabilities that system, which is yet to be developed,
should have. It is because we are dealing with specifying a system that does not
exist in any form that the problem of requirements becomes complicated. Regardless
of how the requirements phase proceeds, the Software Requirement Specification
(SRS) is a document that completely describes what the proposed software should
do without describing how the system will do it?.
Page | Contents
| Next Page >>