Professional Documents
Culture Documents
Failure projects are those ones that do not meet the original time,
cost and quality requirements criteria. The common cause of
software project failure: absence of well-defined requirements. This
document defines the normative content of the software
requirements specification (SRS). Organization of the information
items in the document such as the order and section structure may
be selected in accordance with the project's documentation policies.
1. PURPOSE
Delineate the purpose of the software to be specified.
Partial example: The goal of this project is to provide a mobile application for
Restaurant Clients and a web-portal for Restaurant Owners and Companys
administrators.
2. SCOPE
Describe the scope of the software under consideration by:
3. PRODUCT PERSPECTIVE
Define the system's relationship to other related products. If the product is
an element of a larger system, then relate the requirements of that larger
system to the functionality of the product covered by the SRS. If the product
is an element of a larger system, then identify the interfaces between the
product covered by the SRS and the larger system of which the product is an
element.
1. System interfaces;
2. User interfaces;
3. Hardware interfaces;
4. Software interfaces;
5. Communications interfaces;
6. Site adaptation requirements.
Partial example: The mobile application requires both Internet and GPS
connection to fetch and display results. All system information is maintained
in a database, which is located on a web-server. The mobile application
interacts with the GPS-Navigator software, which is required to be already
installed on the users mobile phone.
Figure 1. Block diagram. Source: cse.chalmers.se
Partial example: A first-time user of the mobile application should see the
log-in page when he/she opens the application, see Figure 2. If the user has
not registered, he/she should be able to do that on the log-in page. If the
user is not a first-time user, he/she should be able to see the search page
directly when the application is opened, see Figure 3. Here, the user chooses
the type of search he/she wants to conduct.
Every user should have a profile page where they can edit their e-mail
address, phone number and password, see Figure 4. Also, the user can set
the mobile application to his/her preferred language.
1. Specification number;
2. Version number;
For each interface specify:
3.7. OPERATIONS
Specify the normal and special operations required by the user such as:
4. PRODUCT FUNCTIONS
Provide a summary of the major functions that the software will perform. For
example, an SRS for an accounting program may use this part to address
customer account maintenance, customer statement, and invoice
preparation without mentioning the vast amount of detail that each of those
functions requires.
Sometimes the function summary that is necessary for this part can be taken
directly from the section of the higher-level specification (if one exists) that
allocates particular functions to the software product.
1. The product functions should be organized in a way that makes the list
of functions understandable to the acquirer or to anyone else reading the
document for the first time;
2. Textual or graphical methods can be used to show the different
functions and their relationships. Such a diagram is not intended to show a
design of a product, but simply shows the logical relationships among
variables.
5. USER CHARACTERISTICS
Describe those general characteristics of the intended groups of users of the
product including characteristics that may influence usability, such as
educational level, experience, disabilities, and technical expertise. This
description should not state specific requirements, but rather should state
the reasons why certain specific requirements are later specified in specific
requirements. Where appropriate, the user characteristics of the SyRS and
SRS should be consistent.
6. LIMITATIONS
Provide a general description of any other items that will limit the supplier's
options, including:
1. Regulatory policies;
2. Hardware limitations (e.g., signal timing requirements);
3. Interfaces to other applications;
4. Parallel operation;
5. Audit functions;
6. Control functions;
7. Higher-order language requirements;
8. Signal handshake protocols (e.g., XON-XOFF, ACK-NACK);
9. Quality requirements (e.g., reliability);
10. Criticality of the application;
11. Safety and security considerations;
12. Physical/mental considerations
8. APPORTIONING OF REQUIREMENTS
Apportion the software requirements to software elements. For requirements
that will require implementation over multiple software elements, or when
allocation to a software element is initially undefined, this should be so
stated. A cross reference table by function and software element should be
used to summarize the apportionments.
9. SPECIFIC REQUIREMENTS
Specify all of the software requirements to a level of detail sufficient to
enable designers to design a software system to satisfy those requirements.
1. Name of item;
2. Description of purpose;
3. Source of input or destination of output;
4. Valid range, accuracy, and/or tolerance;
5. Units of measure;
6. Relationships to other inputs/outputs;
7. Screen formats/organization;
8. Window formats/organization;
9. Data formats;
10. Command formats;
11. End messages.
11. FUNCTIONS
Define the fundamental actions that have to take place in the software in
accepting and processing the inputs and in processing and generating the
outputs, including:
Partial example:
There are three types of users that interact with the system: users of the
mobile application (User Class 1- User), restaurant owners (User Class 2 -
Restaurant Owner) and administrators (User Class 3 - Administrator). Each of
these three types of users has different use of the system so each of them
has their own requirements.
Partial example:
Quality requirement 6
ID: QR6
TITLE: The response time of a search.
DESCRIPTION: The response time of a search is the overall time beginning
with the initial user action (click on the search button) on the mobile device,
the request going to server, the response received from the server, and
finally the response processing by the mobile application.
METER: Measurements obtained from 1000 searches during testing (iOS 9,
Android 5.0).
MUST: No more than 2 seconds during 100% of the searches during testing.
WISH: No more than 1 second during 100% of the searches during testing.
18. VERIFICATION
Provide the verification approaches and methods planned to qualify the
software. The information items for verification are recommended to be
given in a parallel manner with the information items in subclause 10 to 17.