Software Specification: -
Software Specification is an activity that is use to describe he thing you are trying to achieve to establish what
services are required from the system and limitation on the system operation and development. His activity is
often called Requirement Engineering. Requirement Engineering is a particularly critical stage of the software
process as error at this stage certain to happen lead to later problem in the system design and implementation.
There are four main phases in the Requirement Engineering process:
Feasibility study: user satisfaction, cost estimation.
Requirement elicitation analysis: meeting for description of development.
Requirement Specification: is the activity of translating the information gathered during the analysis
activity into a document that defines a set of requirements. 2 types of requirements may be including in his
document.
User Requirements (b) System Requirement
Requirements Validation: this activity checks the requirement for realism, consistency and completeness.
Software Requirement Specification [SRS]: -
A software requirements specification (SRS) is a document that captures complete description about how the
system is expected to perform. It is usually signed off at the end of requirements engineering phase.
The Software Requirements Specification is produced at the culmination of the analysis task. The function and
performance allocated to software as part of system engineering are refined by establishing a complete
information description, a detailed functional description, a representation of system behavior, an indication of
performance requirements and design constraints, appropriate validation criteria, and other information
pertinent to requirements.
A description of each function required to solve the problem is presented in the Functional Description.
A processing narrative is provided for each function, design constraints are stated and justified,
performance characteristics are stated, and one or more diagrams are included to graphically represent
the overall structure of the software and interplay among software functions and other system
elements.
The Behavioral Description section of the specification examines the operation of the software as a
consequence of external events and internally generated control characteristics.
Validation Criteria is probably the most important and, ironically, the most often neglected section of
the Software Requirements Specification. How do we recognize a successful implementation? What
classes of tests must be conducted to validate function, performance, and constraints? We neglect this
section because completing it demands a thorough understanding of software requirements—
something that we often do not have at this stage. Yet, specification of validation criteria acts as an
implicit review of all other requirements. It is essential that time and attention be given to this section.
Finally, the specification includes a Bibliography and Appendix. The bibliography contains references to
all documents that relate to the software. These include other software engineering documentation,
technical references, vendor literature, and standards. The appendix contains information that
supplements the specifications. Tabular data, detailed description of algorithms, charts, graphs, and
other material are presented as appendixes.
In many cases the Software Requirements Specification may be accompanied by an executable prototype
(which in some cases may replace the specification), a paper prototype or a Preliminary User͛s Manual. The
Preliminary User͛s Manual presents the software as a black box. That is, heavy emphasis is placed on user input
and the resultant output. The manual can serve as a valuable tool for uncovering problems at the
human/machine interface.
Characteristics of SRS:
Correct: Requirement must be correctly mentioned and realistic by nature.
Unambiguous: Transparent and plain SRS must be written.
Complete: To make the SRS complete I should be specified what a software designer wants to create on
software.
Consistent: If there are not conflicts in the specified requirement then SRS is said to be consistent.
Stability: The SRS must contain all the essential requirement. Each requirement must be clear and