Software Requirement Report Template
Software Requirement Report Template
Software Engineering
Project
Project short-name: project title
Software Requirements
Specification
<Date>
This report is submitted to the Department of Computer Engineering of Akdeniz University of the
Software Engineering course CSE332.
Abbreviations
IP Internet Protocol
2 of 11
Contents
1 Introduction______________________________________________________1
1.1 Purpose_____________________________________________________________1
1.2 Product Scope________________________________________________________1
1.3 References__________________________________________________________1
2 Overall Description_________________________________________________1
2.1 Product Perspective___________________________________________________1
2.2 Product Functions_____________________________________________________1
2.3 User Classes and Characteristics_________________________________________1
2.4 Operating Environment________________________________________________1
2.5 Design and Implementation Constraints___________________________________1
2.6 User Documentation__________________________________________________2
2.7 Assumptions and Dependencies_________________________________________2
3 External Interface Requirements______________________________________2
3.1 User Interfaces_______________________________________________________2
3.2 Hardware Interfaces___________________________________________________2
3.3 Software Interfaces___________________________________________________2
3.4 Communications Interfaces_____________________________________________2
4 System Features___________________________________________________2
4.1 System Feature 1_____________________________________________________2
4.1.1 Description and Priority______________________________________________________2
4.1.2 Stimulus/Response Sequences________________________________________________2
4.1.3 Functional Requirements_____________________________________________________3
4.2 System Feature 2 (and so on)____________________________________________3
5 Use Cases________________________________________________________3
5.1 Creating an new account_______________________________________________3
5.2 Deleting an account___________________________________________________3
6 Nonfunctional System Requirements__________________________________4
6.1 Performance Requirements_____________________________________________4
6.2 Safety Requirements__________________________________________________4
6.3 Security Requirements_________________________________________________4
6.4 Software Quality Attributes_____________________________________________4
6.5 Business Rules________________________________________________________4
7 Other Requirements________________________________________________4
8 Proposed System__________________________________________________5
8.1 Overview____________________________________________________________5
8.2 Functional Requirements_______________________________________________5
8.3 Non-functional Requirements___________________________________________5
8.4 Pseudo Requirements_________________________________________________6
8.5 System Models_______________________________________________________6
8.5.1 Scenarios_________________________________________________________________6
8.5.1.1. Patient and Doctor Member of the System___________________________________6
8.5.2 Use-Case Model____________________________________________________________6
8.5.3 Object and Class Model______________________________________________________6
8.5.4 Dynamic Models___________________________________________________________7
8.5.5 User Interface_____________________________________________________________7
8.5.6 Test_____________________________________________________________________7
9 References_______________________________________________________7
10 Appendix A: Glossary_______________________________________________7
2 of 11
1 Introduction
1.1 Purpose
<Identify the product whose software requirements are specified in this document, including the
revision or release number. Describe the scope of the product that is covered by this SRS, particularly
if this SRS describes only part of the system or a single subsystem.>
The purpose of this document is to give a detailed description of the requirements for the “Resfebe”
game. It will illustrate the purpose and complete declaration for the development of the software. It
will also explain system constraints, interface and interactions. This document is primarily intended to
be proposed to a customer for its approval and a reference for developing the first version of the
system for the development team.
The “Resfebe” is a mobile application which helps people to combines the illustrated pictures with
individual letters to depict words and/or phrases. The application will be free to download from either
a mobile phone application store or similar services.
Players will provide their info for the registration. An administrator will use the web-portal in order to
administer the system and monitor player activities.
Furthermore, the software needs Internet connection to fetch and display results. All system
information is maintained in a database, which is located on a web-server. The software also interacts
with the mobile phones ……… software which is required to be an already installed application on the
user’s mobile phone. By using the mobile application, users can view …... The application also has the
capability of representing both summary and detailed information about the top scorers.
1.3 References
<List any other documents or Web addresses to which this SRS refers. These may include user
interface style guides, contracts, standards, system requirements specifications, use case documents,
or a vision and scope document. Provide enough information so that the reader could access a copy of
each reference, including title, author, version number, date, and source or location.>
2 Overall Description
2.1 Product Perspective
<Describe the context and origin of the product being specified in this SRS. For example, state
whether this product is a follow-on member of a product family, a replacement for certain existing
systems, or a new, self-contained product. If the SRS defines a component of a larger system, relate
the requirements of the larger system to the functionality of this software and identify interfaces
between the two. A simple diagram that shows the major components of the overall system,
subsystem interconnections, and external interfaces can be helpful.>
This system will consist of two parts: one mobile application and one web portal. The mobile
application will be used to play the game and view the top scores while the web portal will be used for
managing the information about the game and the system as a whole.
The mobile application will need to communicate to the server to download xxxxx and register the
score. …
Since this is a data-centric product it will need somewhere to store the data. For that, a database will
be used. Both the mobile application and web portal will communicate with the database, however in
slightly different ways. The mobile application will only use the database to get data while the web
portal will also add and modify data. All of the database communication will go over the Internet.
The mobile application has some restrictions about the resource allocation. To avoid problems with
overloading the operating system the application is only allowed to use 20 megabytes of memory
while running the application. The maximum amount of hard drive space is also 20 megabytes.
1 of 11
2.2 Product Functions
<Summarize the major functions the product must perform or must let the user perform. Details will
be provided in Section 3, so only a high level summary (such as a bullet list) is needed here. Organize
the functions to make them understandable to any reader of the SRS. A picture of the major groups of
related requirements and how they relate, such as a top level data flow diagram or object class
diagram, is often effective.>
With the mobile application, the users will be able to search for games. The result will be based on the
criteria the user inputs. There are several search criteria and it will be possible for the administrator of
the system to manage the options for those criteria that have that.
The result of the search will be viewed in a list view, depending on what criteria included in the
search. The list view will have one list item for each game matching the search criteria and show a
small part of the game information so the user can identify the game. The users will be able to either
select a game to play or get information top player scores, or view the information of a specific game.
The web portal will provide functionality to manage the system and the game information. It will also
provide information about the system, for example show when there is a new update.
There are three types of users that interact with the system: users of the mobile application, data
providers and administrators. Each of these three types of users has different use of the system so
each of them has their own requirements.
The mobile application users can only use the application to perform xxx. This means that the user
have to be able to xxx, choose xxxx from that search and then xxxx. In order for the users to get a
relevant search result there are multiple criteria the users can specify and all results matches all of
those.
With the mobile application, the users will be able to search for games. The result will be based on the
criteria the user inputs. There are several search criteria and it will be possible for the administrator of
the system to manage the options for those criteria that have that.
The result of the search will be viewed in a list view, depending on what criteria included in the
search. The list view will have one list item for each game matching the search criteria and show a
small part of the game information so the user can identify the game. The users will be able to either
select a game to play or get information top player scores, or view the information of a specific game.
The web portal will provide functionality to manage the system and the game information. It will also
provide information about the system, for example show when there is a new update.
2 of 11
design conventions or programming standards (for example, if the customer’s organization will be
responsible for maintaining the delivered software).>
The Internet connection is also a constraint for the application. Since the application fetches data from
the database over the Internet, it is crucial that there is an Internet connection for the application to
function.
Both the web portal and the mobile application will be constrained by the capacity of the database.
Since the database is shared between both application it may be forced to queue incoming requests
and therefor increase the time it takes to fetch data.
One assumption about the product is that it will always be used on mobile phones that have enough
performance. If the phone does not have enough hardware resources available for the application, for
example the users might have allocated them with other applications, there may be scenarios where
the application does not work as intended or even at all.
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.
The “P” icon shows where the user can click to navigate to his/her profile page.
Figures.
3 of 11
3.3 Software Interfaces
<Describe the connections between this product and other specific software components (name and
version), including databases, operating systems, tools, libraries, and integrated commercial
components. Identify the data items or messages coming into the system and going out and describe
the purpose of each. Describe the services needed and the nature of communications. Refer to
documents that describe detailed application programming interface protocols. Identify data that will
be shared across software components. If the data sharing mechanism must be implemented in a
specific way (for example, use of a global data area in a multitasking operating system), specify this
as an implementation constraint.>
<Each requirement should be uniquely identified with a sequence number or a meaningful tag of some
kind.>
D: FR1
TITLE: Download mobile application
DESC: A user should be able to download the mobile application through either an application store or
similar service on the mobile phone. The application should be free to download.
RAT: In order for a user to download the mobile application.
DEP: None
ID: FR2
TITLE: Download and notify users of new releases
DESC: When a new/updated version or release of the software is released, the user should check for
these manually. The download of the new release should be done through the mobile phone in the
same way as downloading the mobile application.
RAT: In order for a user to download a new/updated release.
DEP: FR1
ID: FR3
4 of 11
TITLE: User registration - Mobile application
DESC: Given that a user has downloaded the mobile application, then the user should be able to
register through the mobile application. The user must provide user-name, password and e-mail
address. The user can choose to provide a regularly used phone number.
RAT: In order for a user to register on the mobile application.
DEP: FR1
ID: FR4
TITLE: User log-in - Mobile application
DESC: Given that a user has registered, then the user should be able to log in to the mobile
application. The log-in information will be stored on the phone and in the future the user should be
logged in automatically.
RAT: In order for a user to register on the mobile application.
DEP: FR1, FR3
ID: FR5
TITLE: Retrieve password
DESC: Given that a user has registered, then the user should be able to retrieve his/her password by
e-mail.
RAT: In order for a user to retrieve his/her password. DEP: FR1
ID: FR6
TITLE: Mobile application - Search
DESC: Given that a user is logged in to the mobile application, then the first page that is shown
should be the search page. The user should be able to search for a xxxx, according to several search
options. The search options are xxx, xxxx, xxxxx and xxxx. There should also be a free-text search
option. A user should be able to select multiple search options in one search.
RAT: In order for a user to search for a xxxxx.
DEP: FR4
ID: FR7
TITLE: Mobile application - Profile page
DESC: On the mobile application, a user should have a profile page. On the profile page a user can
edit his/her information, which includes the password, e-mail address and phone number. A user
should also be able to choose what language the mobile application should be set to. The different
language choices are Turkish and English.
RAT: In order for a user to have a profile page on the mobile application.
DEP: FR1
5 Use Cases
5.1 Creating an new account
The purpose of this use case is to describe the procedure of creating an account in the system
Pre-conditions:
None
5 of 11
Post-conditions:
• An account is created for the user
Basic Flow:
1. The user is in the homepage
2. The user clicks on “new account” link and is taken to the account creation page
3. The user enters all their information and clicks “create” button
4. If the username already exits, an error message appears alerting the user and asking the user to
choose another username. If the username does not exist, a confirmation appears letting the user
know that the account has been created
ID: NF1
TAG: Response Time < ID: FR6 TITLE: Mobile application - Search >
GIST: The fastness of the search
SCALE: The response time of a search
METER: Measurements obtained from 1000 searches during testing.
MUST: No more than 2 seconds 100% of the time.
WISH: No more than 1 second 100% of the time.
ID: NF2
TAG: Response Time for < ID: FR4 TITLE: User log-in - Mobile application >
GIST: The fastness of the search
SCALE: The response time of a search
METER: Measurements obtained from 1000 searches during testing.
MUST: No more than 2 seconds 100% of the time.
WISH: No more than 1 second 100% of the time.
6 of 11
6.2 Safety Requirements
<Specify those requirements that are concerned with possible loss, damage, or harm that could result
from the use of the product. Define any safeguards or actions that must be taken, as well as actions
that must be prevented. Refer to any external policies or regulations that state safety issues that
affect the product’s design or use. Define any safety certifications that must be satisfied.>
7 Other Requirements
<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.>
8 References
For the references you can use programs like Zotero (https://www.zotero.org/)
Object-Oriented Software Engineering, Using UML, Patterns, and Java, 2nd Edition, by Bernd
Bruegge and Allen H. Dutoit, Prentice-Hall, 2004, ISBN: 0-13-047110-0.
9 Appendix A: Glossary
<Define all the terms necessary to properly interpret the SRS, including acronyms and abbreviations.
You may wish to build a separate glossary that spans multiple projects or the entire organization, and
just include terms specific to a single project in each SRS.>
7 of 11