SRS (Template) Sample

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 13

Software Requirements Specifications

<Project Title>

Project Code:

Internal Advisor:

External Advisor:

Project Manager:

Project Team:

Submission Date:

_____________________
Project Manager’s
SignatureDocument
<Project code> Software Requirements Specifications <Version x>

Document Information
Category Information

Customer FAST-NU
Project <Project Title>
Document Requirement Specifications
Document Version 1.0
Identifier PGBH01-2003-RS
Status Draft
Author(s) <Names of all the authors of this document>
Approver(s) PM
Issue Date Sept. 15, 2003
Document Location
1. Advisor
Distribution 2. PM
3. Project Office

Definition of Terms, Acronyms and Abbreviations

This section should provide the definitions of all terms, acronyms, and abbreviations required to interpret
the terms used in the document properly.

Term Description
ASP Active Server Pages
RS Requirements Specifications

Sept. 15, 2003 Page 2 of 2


13
<Project code> Software Requirements Specifications <Version x>

Sept. 15, 2003 Page 3 of 3


13
<Project code> Software Requirements Specifications <Version x>

Sept. 15, 2003 Page 4 of 4


13
<Project code> Software Requirements Specifications

Table of Contents

1. INTRODUCTION..........................................................................................................................5
1.1 Purpose of Document.........................................................................................................................5
1.2 Project Overview..................................................................................................................................5
1.3 Scope.....................................................................................................................................................5

2. OVERALL SYSTEM DESCRIPTION.......................................................................................5


2.1 User characteristics.............................................................................................................................5
2.2 Operating environment.......................................................................................................................5
2.3 System constraints..............................................................................................................................5

3. EXTERNAL INTERFACE REQUIREMENTS.........................................................................6


3.1 Hardware Interfaces............................................................................................................................6
3.2 Software Interfaces..............................................................................................................................6
3.3 Communications Interfaces................................................................................................................6

4. FUNCTIONAL REQUIREMENTS.............................................................................................6
5. NON-FUNCTIONAL REQUIREMENTS..................................................................................6
5.1 Performance Requirements...............................................................................................................6
5.2 Safety Requirements...........................................................................................................................6
5.3 Security Requirements........................................................................................................................6
5.4 User Documentation............................................................................................................................7

6. ASSUMPTIONS AND DEPENDENCIES.................................................................................7


7. REFERENCES...................................................................................................................................7
8. Appendices...................................................................................................................................7

Sept. 15, 2003 Page 5 of 13


<Project code> Software Requirements Specifications

Section 1

1. Introduction

1.1 Purpose of Document


This document provides an overview of the Online Voting System application. The
application deals with the scenario in which election commission may have to conduct online
voting for its members. It describes both functional and performance requirements, and identifies
the feature attributes of this product. Serve as a means to clearly outline the project features.The
intended audience for the SRS includes the users, developers and testers documentation writers.
It also serves the purpose of making the functionality clear to end users.

1.2 Project Overview


Manual voting system has been deployed for many years in our country. However in many parts
of our country people cannot attend the voting because of several reasons. To illustrate,
sometimes people may not be in their own registration region and due to this fact they cannot
fulfill their voting duties. Especially needed in order to get youth to vote. It would also help in
rural areas where people may need a car to drive to the nearest polling station kilometers away.
There are also many people who intend to vote, but are just plain to busy that day to go out to the
polling station In order to solve these problems there is a need of online election voting system in
addition to manual voting system. After registering to system, the voters will use their votes at
any field areas by using the system if they prefer online voting. Voting over the internet could be
done from anywhere. This web based application helps the organization to register voters,
register candidates, conduct an election, moderate an election and decide the results.
1.3 Scope
The software produced will be an online voting system. This software is being developed for use
by everyone with a simple and self explanatory GUI. This software that can be used by people to
vote in an election while a group of authorities collect votes and output final results
 The software will be used by citizens to cast their vote online, it will also
calculate the voting percentage and may be used by candidates for online
campaigning. It will be used for the registration of voter and for filling
nomination forms of the candidates.
 The main objective of this software is to increase the overall voting %. It
will be used at the time of elections. Through this software people get
their voter-id card easily and each voter will get a unique id no. to caste
their valuable vote.
 It will maintain the database of all the eligible citizens and candidates.

Sept. 15, 2003 Page 6 of 13


<Project code> Software Requirements Specifications

 It will manage all the account details of the voters such as citizen name,
date of birth, their constituency area, region, state, login id and password
of the voter and also of the candidate from one central location.

2. Overall System Description


The ONEV is a web-based system so fundamental features related with web-based
technologies such as client-server and database properties determine the software
requirements of that project. This section of SRS should describe the general factors that
affect the product and its requirements. This section does not state specific requirements.
Provides a background requirements, include such items as product perspective, product
functions, user characteristics, constraints, assumptions and dependencies, and operating
environment.

2.1 User characteristics


Users are considered to be technically novices. The minimum requirement of being able to
use a computer is expected.
 The user has to click against the favorable candidate on the GUI.
 Every user should be comfortable of working with computer and net browsing..
 Every user must have basic knowledge of English too
 User should be aware of general voting rules of his countrt

2.2 Operating environment


 The web application operates on any client web browser like IE, Firefox and
Netscape, Google
 Php framework
 MySQL server database

Describe the environment in which the software will operate, including the hardware platform, operating
system and other software components or applications with which it must coexist.

2.3 System constraints

Constraints and limitations on the online voting system. Constraints may include the following:
 Software constraints:
o Working internet connection
o User ID and password is used for identification
o There is no facility for guests
 Hardware constraints:
o This system is working for single server.
o Limited to HTTP/HTTPS.
 Cultural constraints:
Sept. 15, 2003 Page 7 of 13
<Project code> Software Requirements Specifications

o GUI is only English.


 Legal constraints:
o Each state can have unique election and proposals, needing many different
administrative interfaces.
o All voting is done in one day.
 Environmental constraints:
o Voting is carried out from many consoles on the internet.
o Many interfaces exist including Windows Explorer, Netscape, and Mozilla
browsers.
 User constraints:
o User should have basic knowledge of computer.
o User should know English

3. External Interface Requirements


This section is intended to specify any requirements that ensure that the new system will connect properly to
external components. Place a context diagram showing the external interfaces at a high level of abstraction.

3.1 Hardware Interfaces


Client side
Processor Ram Free Disk
Space
Web Browser (any) Pentium II at 500 MHz 256 MB 100 MB
Server side
Web Application Pentium III at 1 GHz 256 MB 120 MB
Server (any)

Describe the characteristics of each interface between the software and hardware components of the system.
This description might include the supported device types, the nature of the data and control interactions
between the software and the hardware.

3.2 Software Interfaces


The user interacts with the system using a set of web based forms. It uses a relational
database to keep track of the polls, which it connects through standard database connectivity
interfaces.
Client on Internet: Web Browser, Operating System (any)

Development End: XML, Php, Html, DB, OS (Window 7), Web Server.

Describe the connections between this system and other external software components (identified by name and
version), including databases, operating systems, tools, libraries, and integrated commercial components.

Sept. 15, 2003 Page 8 of 13


<Project code> Software Requirements Specifications

Identify and describe the purpose of the data items or messages exchanged among the software components.
Describe the services needed and the nature of the inter-component communications. Identify data that will be
shared across software components.

3.3 Communications Interfaces


Client on Internet will be using HTTP/HTTPS protocol.

Describe the requirements associated with any communication functions the system will use, including e-mail,
web browser, network communications standards or protocols, electronic forms, and so on. Define any pertinent
message formatting. Specify communication security or encryption issues, data transfer rates, and
synchronization mechanisms.

4. Functional Requirements
Behavior constitutes the functionality of a system and there is often a tight correspondence between particular
requirements and particular functions of the solution system. The following represents a partial list of functional
requirements for the Online Voting System:

1. The users are categorized as voters(all members) and candidates


2. The server end software (client) must be able to end multiple users at a time
3. Online registration for the voter ID card which will be verified by the field officers.
4. Those already having a voter id card can register for the online voting system they
will use their voter id as their user name.
5. Once registered, the user will be able to use the login information to access the
information related to the election, the candidates and the results declared.
6. The election commission will be able to use the site to let the candidates register for
their nomination on the site and their officers will validate it
7. Candidates can run their election campaign through forums and chat-room.
8. A detailed profile of all the candidates, constituency wise will be maintained so that
voters can always know about the candidates of their area.
9. Candidates will be able to modify selected portions of their profile after registration
for nomination like the promises they make about the things to do after winning the
election, their previous works, their experiences and a comprehensive about me, etc.
10. A candidate is allowed to withdraw from the election anytime during the voting
process.
11. Once a candidate withdraws, the voters will not be allowed to vote for the candidate
anymore.
12. Once registered when ever polling is done in any area that areas' people will be able
to vote for their favorite candidates.
13. It will devise a mechanism that ensures duplicates voting (online & offline) is not
happening.
14. Once the election process is over no more voting is possible.
15. Show the current statistics as well on the web site about how many votes which
candidates have
16. The final results which will immediately be flashed on the site.

Sept. 15, 2003 Page 9 of 13


<Project code> Software Requirements Specifications

17. Election commission can stop the election anytime, delete members and remove
candidates
18. The system must provide voters with accurate data
19. Reports of current/live votes must be provided
20. The system should make use of tools available for users on the internet
21. It must follow government requirements
22. Ease of GUI use that can be accessed via web browser
23. The system must follow technical development standards supported on known
operating systems such as windows, Linux, and UNIX, in addition to future operating
systems versions
24. Backup data restore capabilities should be granted
25. The system must supply standard reports for decision making
26. Changes to the database must be maintained
27. The system should allow voting administrators to make updates/ notification to the
voter information database
28. The system must verify users ID and password
29. The system must provide standard error checking
30. The system must provide data integrity checks to ensure data remains consistent and
updated

This section should contain a textual description of the requirements related to the customer’s business. This
should contain a list of all the business events related to the business process.

5. Non-functional Requirements

5.1 Performance Requirements

 The system would require a fast and reliable internet connection to be accessed.
 Better component design to get better performance at peak time. Thus any constraints in
the resources available like amount of Physical Memory and Network Bandwidth will
impact the performance.
 The system shall provide access to the database with no more than little second latency.
 The system in this mode is expected to serve maximum of up to i.e. 50000 voters

The performance characteristics of the system that are required by the business should be outlined in this
section. Performance characteristics include the speed, precision, capacity, safety, and reliability of the
software. These characteristics define the performance of the project.

5.2 Safety Requirements


 System must perform consistently in terms of handling multiple users
 Recording the user options also allowing them to change without any errors correctly at
a later stage

Sept. 15, 2003 Page 10 of 13


<Project code> Software Requirements Specifications

 To prevent data loss in case of system failure, the result of votes that are polled till then have
to be saved in database.
Specify the requirements that are concerned with possible loss, damage, or harm that could result from the use
of the system. Define any safeguards or actions that must be taken, as well as potentially dangerous actions
that must be prevented. Identify any safety certifications, policies, or regulations to which the system must
conform.

5.3 Security Requirements


 The channels that will be decided for communication between the server-end and user-
end of the software shall be secure channels.
 Secure access of confidential data. All the passwords that are generated or accepted must be
stored in database
 The voting system should include controls to prevent attempts to replace code
 The system should not be subject to any manipulation including even a single vote
manipulation
 The system should provide accurate time and date settings
 The system should not allow improper actions by voters and election officials
Specify any requirements regarding security, integrity, or privacy issues that affect the use of the system and
protection of the data used or created by the system. Define all user authentication or authorization requirements, if
any. Identify any security or privacy policies or certifications the system must satisfy.

5.4 User Documentation


All source code should be sufficiently documented using Microsoft's standard XML
comment tags. The summary tag is particularly important on every class, method
and property. Logic within methods should be thoroughly commented. Since the system
is too easy to use , online documentation for end-user is almost not necessary

List the user documentation components that will be delivered along with the software, such as user manuals,
online help, and tutorials.

6. Assumptions and Dependencies


Assumptions:
1. Members will keep their login information safe and remember it.
2. Once candidates withdraw from an election they will not reenter the election.
3. assume that all the clients running this software are not blocked by firewalls, proxies

Dependencies:
1. Internet dependence
2. Browser dependent
Sept. 15, 2003 Page 11 of 13
<Project code> Software Requirements Specifications

Describe the environment, in which the system will be developed and used, the anticipated users
of the system and the known constraints, assumptions and dependencies.

List any assumed factors that could affect the stated requirements. These factors are not system constraints, but
areas where future changes might drive changes in the requirements. The project could be affected if these
assumptions are incorrect, are not shared, or changed.

Also, identify any dependencies the project has on external factors. For example, if you expect to integrate into
the system some components that are being developed by another project, you are dependent upon that project
to supply the correctly operating components on schedule.

7. References
This section should provide a complete list of all documents referenced at specific point in time. Each document
should be identified by title, report number (if applicable), date, and publishing organization. Specify the
sources from which the references can be obtained. (This section is like the bibliography in a published book).

Ref. No. Document Title Date of Release/ Publication Document Source


PGBH01- Project Proposal Oct 20, 2003 <Give the path of your
2003- Project repository/Folder>
Proposal

8. Appendices
This section should include supporting detail that would be too distracting to include in the main body of the
document.

Sept. 15, 2003 Page 12 of 13


<Project code> Software Requirements Specifications

Sept. 15, 2003 Page 13 of 13

You might also like