Software Requirement Specification
Software Requirement Specification
Document
6/15/2007
kranthi
WRITING SOFTWARE REQUIREMENTS SPECIFICATIONS
Table of Contents
1. GENERAL DESCRIPTION
For technical writers who haven't had the experience of designing software requirements
specifications (SRS, also known as software functional specifications or system specifications)
templates or even writing SRS, they might assume that being given the opportunity to do so is either
a reward or punishment for something they did (or failed to do) on a previous project. Actually,
writing SRS is an ideal project for technical writers to be involved with because they lay out the
foundation for the development of a new product and for the types of user documentation and
media that will be required later in the project development life cycle. It also doesn't hurt that you'd
be playing a visible role in contributing to the success of the project.
This document is intended for Technical writers and associates who would like to work with SRS of a
project. This document will describe what an SRS is and why it is so important, shows how and why
technical writers should be involved with them, and discuss the critical elements for writing an SRS.
Although this document does not attempt to address all aspects of developing SRSs, it aims to help
you determine the scope for such a project, to provide some guidelines for writing SRSs, and to
provide additional resources. Hopefully with this information I will jump to the actual part of the
document. Yes “the SRS”!
3. REFERENCES
http://www.microtoolsinc.com/Howsrs.php
http://satc.gsfc.nasa.gov/support/STC_APR97/write/writert.html
https://www.cs.tcd.ie/~sweetmag/what.php
4. INRODUCTION
5. GOALS OF SRS
6. BENEFITS OF SRS
Provides a baseline for validation and verification. Organizations can develop their validation
and Verification plans much more productively from a good SRS. As a part of the
development contract, the SRS provides a baseline against which compliance can be
measured.
Facilitates transfer. The SRS makes it easier to transfer the software product to new users or
new machines. Customers thus find it easier to transfer the software to other parts of their
organization, and suppliers find it easier to transfer it to new customers.
Serves as a basis for enhancement. Because the SRS discusses the product but not the
project that developed it, the SRS serves as a basis for later enhancement of the finished
product. The SRS may need to be altered, but it does provide a foundation for continued
production evaluation. [NOTE: This is often a major pitfall – when the SRS is not continually
updated with changes]
You probably will be a member of the SRS team (if not, ask to be), which means SRS development
will be a collaborative effort for a particular project. In these cases, company will have developed
SRSs before, so you should have examples (and, likely, the company's SRS template) to use. But, let's
assume you'll be starting from scratch. Several standards organizations (including the IEEE) have
identified nine topics that must be addressed when designing and writing an SRS:
Interfaces
Functional Capabilities
Performance Levels
Data Structures/Elements
Safety
Reliability
Security/Privacy
Quality
Constraints and Limitations
8. SRS OUTLINE
The above Table shows what a basic SRS outline might look like. This example is an adaptation and
extension of the IEEE Standard 830-1998:
A sample of a basic SRS outline
1. Introduction
1.1 Purpose
1.2 Document conventions
1.3 Intended audience
1.4 Additional information
WRITING SOFTWARE REQUIREMENTS SPECIFICATIONS
Unfortunately, much of the time, systems architects and programmers write SRSs with little (if any)
help from the technical communications organization. Having technical writers involved throughout
the entire SRS development process can offer several benefits:
WRITING SOFTWARE REQUIREMENTS SPECIFICATIONS
Technical writers are skilled information gatherers, ideal for eliciting and articulating
customer requirements. The presence of a technical writer on the requirements-gathering
team helps balance the type and amount of information extracted from customers, which
can help to improve the SRS.
Technical writers can better assess and plan documentation projects and better meet
customer document needs. Working on SRSs provides technical writers with an opportunity
for learning about customer needs early in the product development process.
Technical writers know how to determine the questions that are of concern to the user or
customer regarding ease of use and usability. Technical writers can then take that
knowledge and apply it not only to the specification and documentation development, but
also to user interface development, to help ensure the UI (User Interface) models the
customer requirements.
Technical writers involved early and often in the process, can become an information
resource throughout the process, rather than an information gatherer at the end of the
process.
In short, a requirements-gathering team consisting solely of programmers, product marketers,
systems analysts/architects, and a project manager runs the risk of creating a specification that may
be too heavily loaded with technology-focused or marketing-focused issues. The presence of a
technical writer on the team helps place at the core of the project those user or customer
requirements that provide more of an overall balance to the design of the SRS, product, and
documentation.
10. CONCLUSION
There's so much more we could say about requirements and specifications. Hopefully, this
information will help you to get started when you are called upon or step up to help the
development team. Writing top-quality requirements specifications begins with a complete
definition of customer requirements. I conclude my document by saying technical writing
professionals well-trained in requirements gathering, template design, and natural language use are
in the best position to create and add value to such critical project documentation.