Software requirements specification
A software requirements specification
(SRS) is a comprehensive description
of the intended purpose and
environment for software under
development. The SRS fully describes
what the software will do and how it
will be expected to perform.
Contd…
An SRS minimizes the time and effort required by
developers to achieve desired goals and also
minimizes the development cost.
A good SRS defines how an application will interact
with system hardware, other programs and human
users in a wide variety of real-world situations.
Parameters such as operating speed, response time,
availability, portability, maintainability, footprint,
security and speed of recovery from adverse events
are evaluated
The Software Requirements
Specification
After review of the customer’s System
Spec.
After educated analysis
Preliminary design
A technical, software “approach”
Results in permission to detail-design and
code
From the customer’s perspective
How smart people are going to solve the
problem that was stated in the System Spec.
A “contract”, more or less
Is it doable?
Technically
On time
Under budget
Types of Requirements
Functional requirements
Performance requirements
Speed, accuracy, frequency, throughput
External interface requirements
Design constraints
Requirements are usually about “what”, this is a “how”.
Quality attributes
i.e. reliability, portability, maintainability, supportability
Risk Assessment
Technical Risks
hardware
software
interfaces
build vs. buy
Schedule Risks
budget
calendar
personnel – level of expertise required