Program X
version 1.0
VERSIOHISTORIA
08.12.21 2/15
Program X Software Requirements Specification Version 1.0
CONTENTS TABLE
1. INTRODUCTION........................................................................................................................5
2. GENERAL DESCRIPTION........................................................................................................7
4. FUNCTIONS...............................................................................................................................10
5. INTERFACES............................................................................................................................12
6. OTHER REQUIREMENTS......................................................................................................13
08.12.21 3/15
Program X Software Requirements Specification Version 1.0
7. DESIGN CONSTRAINS............................................................................................................14
7.1 STANDARDS.................................................................................................................. 14
7.2 HARDWARE CONSTRAINS...............................................................................................14
7.3 SOFTWARE CONSTRAINS................................................................................................ 14
7.4 OTHER CONSTRAINS...................................................................................................... 14
08.12.21 4/15
Program X Software Requirements Specification Version 1.0
1. INTRODUCTION
Does the SRS cover the all the functionalities of the product or just a part of it? Is
the user interface specified in this document or in the instruction manual [reference
to the manual].
Example: ASCII-table can be either 7-bits (ISO 10646) or 8-bits (ISO 8859-1).
1.4 References
Special documents used in this document to build up the system if necessary
(name, version, date, and location). Possible documents can be Feasibility study,
client requirements, etc.
Example:
1.5 Overview
Brief description of the structure of the document. Few words from every chapter.
Example:
08.12.21 5/15
Program X Software Requirements Specification Version 1.0
Chapter 1. contains the scope of the document, defines the product and terms used.
Chapter 2. gives brief descriptions of all the fuction that the product has.
Chapter 4. defines the fuctions of the program. From each function there is
description, inputs, outputs and possible actions.
08.12.21 6/15
Program X Software Requirements Specification Version 1.0
2. GENERAL DESCRIPTION
Descriptions in this chapter should be in general level. All major aspects given in
brief.
If data flow diagrams (or some other diagrams) are used in requirements
specification the highest level diagram (context diagram) should be placed here.
Functions and characteristics can then be easily explained with the diagram.
If there are some special features in the program they should be mentioned here.
Like if there is no printing options in the program, program can only be used with
mouse or size of the screen in the product is very small, etc.
Readers in haste read only chapters 1. and 2. then they decide if the document is
worth reading.
08.12.21 7/15
Program X Software Requirements Specification Version 1.0
Contents of information and relations of data can be illustrated here with class or
use case diagram. Diagram illutrates the system in conceptual level, in other words
it is not the implementation but a picture of how the program interacts with real
world. Diagram is also explained here (merely the relations between data). Detail
descriptions of the contents of information are presented in the subchapters.
In this chapter there is a brief description from every data element (entity), the
relations between data elements are carefully specified and attributes declared
related to data element relations. Every data element (entity) and its functionalities
are presented in their own subchapters like in 3.1.1.
In this chapter it is worth mentioning if all the data is located in a hard drive or in
main memory. Special notations used in contents of information should be
specified here also for random reader.
If needed, the handling of data and rules of calculating the data should be specified
here along with update criteria and rules. Like this:
“Lenght of the project is calculated with form EndingDate - StartingDate”.
“Login for the applicant is generated with this program and this is the only
program allowed to change it”.
08.12.21 8/15
Program X Software Requirements Specification Version 1.0
Examples:
Program is only used daily from 0900 to 1600.
Program is used in 10min intervals.
Program is run every day at 2305.
3.3 Capacity
Capacity or data handling capability. What is the maximun load that the system
can handle. Example: “There are maximun of 3000 cards in the system”.
Special requirements that are needed to prevent the system from crashing.
08.12.21 9/15
Program X Software Requirements Specification Version 1.0
4. FUNCTIONS
It is possible to specify here things like changing the window size, moving the
window, default buttons, etc.. Language of the program should be specified here
(documents, user interface, code comments, etc.)
If the user interface is specified here then the main focus should be in screens,
windows, graphics, commands, keys, reports, etc.. How is scrolling controlled,
help for the user, error messages and actions after them, printing to screen and to
external device.
User interface screens don’t need to be implemented with graphical tools they can
be in plain text form.
Program functions should be examined thorough and one by one so that each
function is presented in its own subchapter. This keeps the document readable,
makes references easier and gives the customer a change to check that all the
fuctions are specified.
4.2.1 Function X (each at its own subchapter)
Functions can be often presented in hierarchical order. In these subchapters each
function is specified separately. For example, place for 2nd level data flow
diagram is here. Functions can then be easily explained by referring to the
diagram.
When specifying the functions nothing is left out. Specification is complete and
structurally written. Usage of examples is recommended. Functions can be
specified like this:
function description
purpose
inputs (what, from, how much, unit, values allowed, etc.)
08.12.21 10/15
Program X Software Requirements Specification Version 1.0
08.12.21 11/15
Program X Software Requirements Specification Version 1.0
5. INTERFACES
If the system is connected directly to some program then the exact version of that
program should be mentioned here.
08.12.21 12/15
Program X Software Requirements Specification Version 1.0
6. OTHER REQUIREMENTS
Response times can be specified like this: ”95% of the events go under 1 sec, max
time is 5 secs”.
In some realtime systems the response times can specified so that the time must
not be under the minimum value given. Example: fastest response time must be 0.2
sec and the longest 20 secs.
Is it possible for project personnel to accidently delete some files? How is security
taken care of? Backups?
6.3 Maintainability
Important chapter if there is no separate manual for maintaining the program. How
easy is the program to maintain? Is it easy to change the user interface, database,
communications protocol, etc.).
6.4 Transferability/portability
Is this concidered in any way?.
Are there any other systems that the program is compatible with (operating
systems, windowing environments, etc.)?
08.12.21 13/15
Program X Software Requirements Specification Version 1.0
7. DESIGN CONSTRAINS
7.1 Standards
Are there any standars, rules, recommendations, directives, instructions, etc. that
apply to the program (documentation, coding, etc.).
Hardware requirements can be specified in some cases with the operating system:
Program works in Windows 98 or Windows NT 5.0, then the harware constrains
come from the OS.
08.12.21 14/15
Program X Software Requirements Specification Version 1.0
Ideas that have been under concideration during the project. Things that will not be
implemented in this project because of lack of time, money, interest, resources,
etc.
08.12.21 15/15