Lesson 2-IEEE-SRS PDF
Lesson 2-IEEE-SRS PDF
Lecture 2
About Requirements
Should:
• Identify the product to be produced by name
• Brief explanation what the product will and, if necessary, will
not do
• Describe the application of the software being specified,
including relevant benefits, objectives, and goals
• Be consistent with similar statements in higher-
level specifications if they exist
1.4 - References
Should:
• Provide a complete list of all documents referenced elsewhere
in the SRS
• Identify each document by title, report number (if applicable),
date, and publishing organization – using the APA standard
• Specify the sources from which the references can be
obtained
1.5 - Overview
Should:
• Describe what the rest of the SRS contains
• Explain how the SRS is organized
• Tell the reader what will be found in Sections 2 and 3 of the
SRS and how they are laid out – perhaps even the intended
audience for each of the sections … you are trying to tell
the audience what and how to read the rest of the SRS
Section 2 – Overall Description
NOTE: There are many different ways of laying out Section 3 – but in all
of the
different organizations, these subsections need to be present
3.1 - External Interfaces
This section should contain a detailed description of all inputs
into and outputs from the software.
It should complement the interface descriptions from
Section 2 (in
Section 2.1) and be broken out into the same subsections
For each input or output specified you should specify
The input / output name
You will refer to this input / output by name in Section
3.2
Description of purpose
Source of input or destination of output
Where does it come from or where is it going to ?
Relationships to other inputs / outputs
The format of the input / output
Whether that be screen format, window format, data
format or command format
3.2 - Functions
This is the section of the SRS where all of the software’s
requirements are specified !
This section contains the software’s functional requirements
This section describes the fundamental actions that must take
place in the software in processing the inputs and generating outputs
Requirements are specified as the shall statements (“The system
shall…”)
In specifying the requirements remember to include
• validity checks on the inputs
• exact sequence of operations
• responses to abnormal situations
• effect of parameters
• relationships of outputs to inputs
It may be appropriate to break the functional requirements into
sub-functions (or sub-processes)
Based on logical subsystems of the software, or modes of
operation of the software, etc.
3.3 - Performance Requirements
This sections lists the static and dynamic numerical
requirements placed on the software or on the
human interaction with the software
Examples of static:
number of users
amount of information
Examples of dynamic:
numbers of transactions to be processed within certain
time periods for normal and peak workload conditions
All requirements given in this section should be stated
in measurable terms.
For example:
95% of the transactions shall be processed in less than 1
second.
3.4 - Logical Databas Requirements
• The requirements for any information that is to be placed in a
• database should be specified here
• Remember that a database is really any collection or
organization of data
• The requirements for the database need to include:
• The data entities used in the software and any relationships
they have to one another
• The frequency of use of the data
• What subsystems or mode of operation will be
accessing and manipulating the data ?
• The data retention requirements
• How long does the data need to stay around (exist) ?
3.5 - Design Constraints