The Institute of Electrical and Electronics Engineers, Inc.
345 East 47th Street, New York, NY 10017-2394, USA
Copyright © 1998 by the Institute of Electrical and Electronics Engineers, Inc.
All rights reserved. Published 1998. Printed in the United States of America.
ISBN 0-7381-0332-2
No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without the prior
written permission of the publisher.
IEEE Std 830-1998
(Revision of
IEEE Std 830-1993)
IEEE Recommended Practice for
Software Requirements
SpeciÞcations
Sponsor
Software Engineering Standards Committee
of the
IEEE Computer Society
Approved 25 June 1998
IEEE-SA Standards Board
Abstract:
The content and qualities of a good software requirements specification (SRS) are de-
scribed and several sample SRS outlines are presented. This recommended practice is aimed at
specifying requirements of software to be developed but also can be applied to assist in the selec-
tion of in-house and commercial software products. Guidelines for compliance with IEEE/EIA
12207.1-1997 are also provided.
Keywords:
contract, customer, prototyping, software requirements specification, supplier, system
requirements specifications
IEEE Standards
documents are developed within the IEEE Societies and the Standards Coordinat-
ing Committees of the IEEE Standards Association (IEEE-SA) Standards Board. Members of the
committees serve voluntarily and without compensation. They are not necessarily members of the
Institute. The standards developed within IEEE represent a consensus of the broad expertise on the
subject within the Institute as well as those activities outside of IEEE that have expressed an inter-
est in participating in the development of the standard.
Use of an IEEE Standard is wholly voluntary. The existence of an IEEE Standard does not imply
that there are no other ways to produce, test, measure, purchase, market, or provide other goods and
services related to the scope of the IEEE Standard. Furthermore, the viewpoint expressed at the
time a standard is approved and issued is subject to change brought about through developments in
the state of the art and comments received from users of the standard. Every IEEE Standard is sub-
jected to review at least every Þve years for revision or reafÞrmation. When a document is more
than Þve years old and has not been reafÞrmed, it is reasonable to conclude that its contents,
although still of some value, do not wholly reßect the present state of the art. Users are cautioned to
check to determine that they have the latest edition of any IEEE Standard.
Comments for revision of IEEE Standards are welcome from any interested party, regardless of
membership afÞliation with IEEE. Suggestions for changes in documents should be in the form of a
proposed change of text, together with appropriate supporting comments.
Interpretations: Occasionally questions may arise regarding the meaning of portions of standards as
they relate to speciÞc applications. When the need for interpretations is brought to the attention of
IEEE, the Institute will initiate action to prepare appropriate responses. Since IEEE Standards rep-
resent a consensus of all concerned interests, it is important to ensure that any interpretation has
also received the concurrence of a balance of interests. For this reason, IEEE and the members of its
societies and Standards Coordinating Committees are not able to provide an instant response to
interpretation requests except in those cases where the matter has previously received formal
consideration.
Comments on standards and requests for interpretations should be addressed to:
Secretary, IEEE-SA Standards Board
445 Hoes Lane
P.O. Box 1331
Piscataway, NJ 08855-1331
USA
Authorization to photocopy portions of any individual standard for internal or personal use is
granted by the Institute of Electrical and Electronics Engineers, Inc., provided that the appropriate
fee is paid to Copyright Clearance Center. To arrange for payment of licensing fee, please contact
Copyright Clearance Center, Customer Service, 222 Rosewood Drive, Danvers, MA 01923 USA;
(978) 750-8400. Permission to photocopy portions of any individual standard for educational class-
room use can also be obtained through the Copyright Clearance Center.
Note: Attention is called to the possibility that implementation of this standard may
require use of subject matter covered by patent rights. By publication of this standard,
no position is taken with respect to the existence or validity of any patent rights in
connection therewith. The IEEE shall not be responsible for identifying patents for
which a license may be required by an IEEE standard or for conducting inquiries into
the legal validity or scope of those patents that are brought to its attention.
Copyright © 1998 IEEE. All rights reserved.
iii
Introduction
(This introduction is not a part of IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements SpeciÞ-
cations.)
This recommended practice describes recommended approaches for the speciÞcation of software require-
ments. It is based on a model in which the result of the software requirements speciÞcation process is an
unambiguous and complete speciÞcation document. It should help
a) Software customers to accurately describe what they wish to obtain;
b) Software suppliers to understand exactly what the customer wants;
c) Individuals to accomplish the following goals:
1) Develop a standard software requirements speciÞcation (SRS) outline for their own organiza-
tions;
2) DeÞne the format and content of their speciÞc software requirements speciÞcations;
3) Develop additional local supporting items such as an SRS quality checklist, or an SRS writerÕs
handbook.
To the customers, suppliers, and other individuals, a good SRS should provide several speciÞc beneÞts, such
as the following:
Ñ
Establish the basis for agreement between the customers and the suppliers on what the software
product is to do.
The complete description of the functions to be performed by the software speciÞed
in the SRS will assist the potential users to determine if the software speciÞed meets their needs or
how the software must be modiÞed to meet their needs.
Ñ
Reduce the development effort.
The preparation of the SRS forces the various concerned groups in
the customerÕs organization to consider rigorously all of the requirements before design begins and
reduces later redesign, recoding, and retesting. Careful review of the requirements in the SRS can
reveal omissions, misunderstandings, and inconsistencies early in the development cycle when these
problems are easier to correct.
Ñ
Provide a basis for estimating costs and schedules.
The description of the product to be developed as
given in the SRS is a realistic basis for estimating project costs and can be used to obtain approval for
bids or price estimates.
Ñ
Provide a baseline for validation and veriÞcation.
Organizations can develop their validation and
veriÞcation 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.
Ñ
Facilitate transfer.
The SRS makes it easier to transfer the software product to new users or new
machines. Customers thus Þnd it easier to transfer the software to other parts of their organization,
and suppliers Þnd it easier to transfer it to new customers.
Ñ
Serve 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 Þnished product. The SRS may
need to be altered, but it does provide a foundation for continued production evaluation.
The readers of this document are referred to Annex B for guidelines for using this recommended practice to
meet the requirements of IEEE/EIA 12207.1-1997, IEEE/EIA GuideÑIndustry Implementation of ISO/IEC
12207: 1995, Standard for Information TechnologyÑSoftware life cycle processesÑLife cycle data.
iv
Copyright © 1998 IEEE. All rights reserved.
Participants
This recommended practice was prepared by the Life Cycle Data Harmonization Working Group of the Soft-
ware Engineering Standards Committee of the IEEE Computer Society. At the time this recommended prac-
tice was approved, the working group consisted of the following members:
Leonard L. Tripp,
Chair
The following persons were on the balloting committee:
Edward Byrne
Paul R. Croll
Perry DeWeese
Robin Fralick
Marilyn Ginsberg-Finner
John Harauz
Mark Henley
Dennis Lawrence
David Maibor
Ray Milovanovic
James Moore
Timothy Niesen
Dennis Rilling
Terry Rout
Richard Schmidt
Norman F. Schneidewind
David Schultz
Basil Sherlund
Peter Voldner
Ronald Wade
Syed Ali
Theodore K. Atchinson
Mikhail Auguston
Robert E. Barry
Leo Beltracchi
H. Ronald Berlack
Richard E. Biehl
Michael A. Blackledge
Sandro Bologna
Juris Borzovs
Kathleen L. Briggs
M. Scott Buck
Michael Caldwell
James E. Cardow
Enrico A. Carrara
Lawrence Catchpole
Keith Chan
Antonio M. Cicu
Theo Clarke
Sylvain Clermont
Rosemary Coleman
Virgil Lee Cooper
W. W. Geoff Cozens
Paul R. Croll
Gregory T. Daich
Geoffrey Darnton
Taz Daughtrey
Bostjan K. Derganc
Perry R. DeWeese
James Do
Evelyn S. Dow
Carl Einar Dragstedt
Sherman Eagles
Christof Ebert
Leo Egan
Richard E. Fairley
John W. Fendrich
Jay Forster
Kirby Fortenberry
Eva Freund
Richard C. Fries
Roger U. Fujii
Adel N. Ghannam
Marilyn Ginsberg-Finner
John Garth Glynn
Julio Gonzalez-Sanz
L. M. Gunther
David A. Gustafson
Jon D. Hagar
John Harauz
Robert T. Harley
Herbert Hecht
William Heßey
Manfred Hein
Mark Heinrich
Mark Henley
Debra Herrmann
John W. Horch
Jerry Huller
Peter L. Hung
George Jackelen
Frank V. Jorgensen
William S. Junk
George X. Kambic
Richard Karcich
Ron S. Kenett
Judith S. Kerner
Robert J. Kierzyk
Dwayne L. Knirk
Shaye Koenig
Thomas M. Kurihara
John B. Lane
J. Dennis Lawrence
Fang Ching Lim
William M. Lively
James J. Longbucco
Dieter Look
John Lord
Stan Magee
David Maibor
Harold Mains
Robert A. Martin
Tomoo Matsubara
Mike McAndrew
Patrick D. McCray
Christopher McMacken
Jerome W. Mersky
Bret Michael
Alan Miller
Celia H. Modell
James W. Moore
Pavol Navrat
Myrna L. Olson
Indradeb P. Pal
Alex Polack
Peter T. Poon
Lawrence S. Przybylski
Kenneth R. Ptack
Annette D. Reilly
Dennis Rilling
Andrew P. Sage
Helmut Sandmayr
Stephen R. Schach
Hans Schaefer
Norman Schneidewind
David J. Schultz
Lisa A. Selmon
Robert W. Shillato
David M. Siefert
Carl A. Singer
James M. Sivak
Richard S. Sky
Nancy M. Smith
Melford E. Smyre
Harry M. Sneed
Alfred R. Sorkowitz
Donald W. Sova
Luca Spotorno
Julia Stesney
Fred J. Strauss
Christine Brown Strysik
Toru Takeshita
Richard H. Thayer
Booker Thomas
Patricia Trellue
Theodore J. Urbanowicz
Glenn D. Venables
Udo Voges
David D. Walden
Dolores Wallace
William M. Walsh
John W. Walz
Camille SWhite-Partain
Scott A. Whitmire
P. A. Wolfgang
Paul R. Work
Natalie C. Yopconka
Janusz Zalewski
Geraldine Zimmerman
Peter F. Zoll
Copyright © 1998 IEEE. All rights reserved.
v
When the IEEE-SA Standards Board approved this recommended practice on 25 June 1998, it had the fol-
lowing membership:
Richard J. Holleman,
Chair
Donald N. Heirman,
Vice Chair
Judith Gorman,
Secretary
*Member Emeritus
Valerie E. Zelenty
IEEE Standards Project Editor
Satish K. Aggarwal
Clyde R. Camp
James T. Carlo
Gary R. Engmann
Harold E. Epstein
Jay Forster*
Thomas F. Garrity
Ruben D. Garzon
James H. Gurney
Jim D. Isaak
Lowell G. Johnson
Robert Kennelly
E. G. ÒAlÓ Kiener
Joseph L. KoepÞnger*
Stephen R. Lambert
Jim Logothetis
Donald C. Loughry
L. Bruce McClung
Louis-Fran•ois Pau
Ronald C. Petersen
Gerald H. Peterson
John B. Posey
Gary S. Robinson
Hans E. Weinrich
Donald W. Zipse