IEEE Software Requirements Specification Template
IEEE Software Requirements Specification Template
Specification
for
<Project Title>
Version 1.0
Prepared by
Content
REVISIONS................................................................................................................................................................III
1 INTRODUCTION................................................................................................................................................1
1.1 DOCUMENT PURPOSE.................................................................................................................................1
1.2 PRODUCT SCOPE........................................................................................................................................1
1.3 INTENDED AUDIENCE AND DOCUMENT OVERVIEW....................................................................................1
1.4 DEFINITIONS, ACRONYMS AND ABBREVIATIONS........................................................................................1
1.5 DOCUMENT CONVENTIONS.........................................................................................................................1
1.6 REFERENCES AND ACKNOWLEDGMENTS...................................................................................................2
2 OVERALL DESCRIPTION...............................................................................................................................3
2.1 PRODUCT PERSPECTIVE.............................................................................................................................3
2.2 PRODUCT FUNCTIONALITY..........................................................................................................................3
2.3 USERS AND CHARACTERISTICS..................................................................................................................3
2.4 OPERATING ENVIRONMENT.........................................................................................................................3
2.5 DESIGN AND IMPLEMENTATION CONSTRAINTS..........................................................................................4
2.6 USER DOCUMENTATION..............................................................................................................................4
2.7 ASSUMPTIONS AND DEPENDENCIES...........................................................................................................4
3 SPECIFIC REQUIREMENTS...........................................................................................................................5
3.1 EXTERNAL INTERFACE REQUIREMENTS.....................................................................................................5
3.2 FUNCTIONAL REQUIREMENTS.....................................................................................................................6
3.3 BEHAVIOUR REQUIREMENTS......................................................................................................................6
4 OTHER NON-FUNCTIONAL REQUIREMENTS..........................................................................................7
4.1 PERFORMANCE REQUIREMENTS................................................................................................................7
4.2 SAFETY AND SECURITY REQUIREMENTS...................................................................................................7
4.3 SOFTWARE QUALITY ATTRIBUTES..............................................................................................................7
5 OTHER REQUIREMENTS................................................................................................................................8
APPENDIX A – DATA DICTIONARY.......................................................................................................................9
APPENDIX B - GROUP LOG..................................................................................................................................10
Software Requirements Specification for <Project> Page iii
Revisions
Version Primary Author(s) Description of Version Date Completed
Draft Type Full Name Information about the revision. This table does 00/00/00
and not need to be filled in whenever a document is
Number touched, only when the version is being upgraded.
<In this template you will find text bounded by the “<>” symbols. This text appears in italics
and is intended to guide you through the template and provide explanations regarding the
different sections in this document. There are two types of comments in this document.
These comments that are in black are intended specifically for that course. These comments
that are in blue are more general and apply to any SRS. Please, make sure to delete all of
the comments before submitting the document.
The explanations provided below, do not cover all of the material, but merely, the general
nature of the information you would usually find in SRS documents. It is based on the IEEE
requirements and was adapted specifically for the needs of Software Engineering
3K04/3M04 courses. Most of the sections in this template are required sections, i.e. you
must include them in your version of the document. Failure to do so will result in marks
deductions. Optional sections will be explicitly marked as optional.
Software Requirements Specification for <Project> Page 1
1 Introduction
<TO DO: Please provide a brief introduction to your project and a brief overview of what the reader
will find in this section.>
The readers can read core features and services that are provided by the I-trade system in
Chapter 3 (Specific Requirements) of SRS.
Readers that are interested in knowing about the non-technical aspects of the system must visit
Chapter 4 (Other non functional requirements) which includes all of the information about the
performance, security, safety and other attribute of the system that might be important for the
users.
Term Definition
1.5 D
Image Processing It is a method to perform some operations on an image, in o
order to get an enhanced image or to extract some useful c
information from it. u
Object Detection It is a technique that allows us to identify and locate objects m
in an image. e
A technique to know whether the uploaded mobile pictures n
Object Verification
are of I-phone or not.
Image Filtration Filtering an image is a technique for modifying and
t
enhancing an image.
Mobile Rating Based on the condition of mobile that is judged through the
uploaded pictures through image processing the mobile is
rated out of 10.
Software Requirements A document that completely describes all of the functions
Specification of a proposed system and the constraints under which it
must operate. For example, this document.
Stakeholder Any person with an interest in the project.
User Reviewer or Author.
Conventions
These are the following document conventions our document is following.
Formatting Conventions:
We are using the Arial font with a font size of 12 form the font family.
Styling conventions:
The writing style that we are using in this document is Italic. More over the headings and the sub-
headings are in the bold text.
Glossary:
TO DO: Use the standard IEEE citation guide for this section. An example citation guide is posted
for you on the website.>
Software Requirements Specification for <Project> Page 3
2 Overall Description
2.1 Product Perspective
The product I-Trade is a system that fully focuses on the buying, selling, purchasing and even
repairing or mending of the users I-phone. As compared with other systems such as OLX, E-bay
that focuses on every product belonging to different categories but our system fully focuses on the
trading of I-phone mobile devices only.
The I-trade product database might store the following information.
User’s details.
New mobiles information.
Old mobiles information.
Repairing Orders details.
Repairing orders status.
1. User Registration.
Registration form only appears once on the screen for the new user.
User register him/her self on the system.
After registration user becomes an authenticated user.
Software Requirements Specification for <Project> Page 4
2. User Login.
User can login into the system through entering their email and password.
User can also login through gmail and facebook.
3. I-phone Repairing.
User can ask for I-phone maintenance work.
User will enter all the required information.
Also mention address.
8. Upgrade I-phone.
User shall upgrade their I-phone.
User shall sell their old I-phone.
User shall purchase new I-phone by paying the additional amount.
9. Update Profile.
User shall update their profile.
Users that are interested in buying new I-phones will interact with the (Check new mobiles and
prices, Buy new I-phones) functionalities. Those users who are willing to upgrade their I-phones
might interact with (Upload I-phone Pictures, Upgrade I-phone, Market price calculation)
Software Requirements Specification for <Project> Page 5
functionalities. User that interact with the system for repairing services might interact with (I-phone
Repairing) services of this system.
3 Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
<Describe the logical characteristics of each interface between the software product and the users.
This may include sample screen images, any GUI standards or product family style guides that are
to be followed, screen layout constraints, standard buttons and functions (e.g., Cancel) that will
appear on every screen, error message display standards, and so on. Define the software
components for which a user interface is needed.
TO DO: The least you can do for this section is to describe in words the different User Interfaces
and the different screens that will be available to the user. Those who will be able to provide
optional Graphical User Interface screenshots, will be rewarded by extra marks.>
As I-trade system is a web based system and it does not need any complex hardware other than
laptops, pc’s, mobile phones, tablets and an internet connection.
I-trade system is a web based system and is also deployed on the server so we will require a
server side scripting language. For this purpose, we are using PHP. As the system is also using
Image processing techniques so we are also using Python. To store all of the important information
we are using MYSQLI database.
<Describe the requirements associated with any communications functions required by this
product, including e-mail, web browser, network server communications protocols, electronic
forms, and so on. Define any pertinent message formatting. Identify any communication standards
that will be used, such as FTP or HTTP. Specify any communication security or encryption issues,
data transfer rates, and synchronization mechanisms.
TO DO: Do not go into too much detail, but provide 1-2 paragraphs were you will outline the major
communication standards. For example, if you decide to use encryption there is no need to specify
the exact encryption standards, but rather, specify the fact that the data will be encrypted and
name what standards you consider using. >
Software Requirements Specification for <Project> Page 7
<A use case defines a goal-oriented set of interactions between external actors and the system
under consideration. Since sometimes we will not be able to specify completely the behaviour of
Software Requirements Specification for <Project> Page 9
the system by just State Diagrams, we use use-cases to complete what we have already started in
section 3.3.1.
TO DO: Provide a use case diagram which will encapsulate the entire system and all possible
actors. Do not include detailed use case descriptions (these will be needed when you will be
working on the Test Plan), but make sure to include a short description of what every use-case is,
who are the actors in your diagram. For more information please refer to your UML guide and the
MiniThermostat SRS example file.>
Software Requirements Specification for <Project> Page 10
TODO: Use subsections (e.g., 4.3.1 Reliability, 4.3.2 Portability, etc…) provide requirements
related to the different software quality attributes. Base the information you include in these
subsections on the material you have learned in the class. Make sure, that you do not just write
“This software shall be maintainable…” Indicate how you plan to achieve it, & etc…Do not forget to
include such attributes as the design for change. Please note that you need to include at least 2
quality attributes, but it is the mere minimum and it will not receive the full marks.>
5 Other Requirements
<This section is Optional. Define any other requirements not covered elsewhere in the SRS. This
might include database requirements, internationalization requirements, legal requirements, reuse
objectives for the project, and so on. Add any new sections that are pertinent to the project.>
Software Requirements Specification for <Project> Page 11
<Data dictionary is used to track all the different variables, states and functional requirements that
you described in your document. Make sure to include the complete list of all constants, state
Software Requirements Specification for <Project> Page 12
variables (and their possible states), inputs and outputs in a table. In the table, include the
description of these items as well as all related operations and requirements.>
Software Requirements Specification for <Project> Page 13