Download as odt, pdf, or txt
Download as odt, pdf, or txt
You are on page 1of 11

Software Requirements

Specification
for

Online Voting System

Version 1.0 (Initial Version

Prepared by- Anish Raj

Information Technology, SOE (CUSAT)

15th September, 2023

Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for Online Voting System Page ii

Table of Contents
Table of Contents...........................................................................................................................ii

1. Introduction..............................................................................................................................1
1.1 Purpose................................................................................................................................................1
1.2 Document Conventions.......................................................................................................................1
1.3 Intended Audience and Reading Suggestions.....................................................................................1
1.4 Product Scope......................................................................................................................................1
1.5 References...........................................................................................................................................1

2. Overall Description..................................................................................................................2
2.1 Product Perspective.............................................................................................................................2
2.2 Product Functions................................................................................................................................2
2.3 User Classes and Characteristics.........................................................................................................2
2.4 Operating Environment.......................................................................................................................3
2.5 Design and Implementation Constraints.............................................................................................4
2.6 User Documentation............................................................................................................................4
2.7 Assumptions and Dependencies..........................................................................................................5

3. External Interface Requirements...........................................................................................6


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

4. Functional Requirements........................................................................................................6
4.1 User Registration and Authentication.................................................................................................6
4.2 Voting Process.....................................................................................................................................7
4.3 Results and Reporting.........................................................................................................................7
4.4 Secutiry Measures...............................................................................................................................8

5. Nonfunctional Requirements..................................................................................................8
5.1 Performance Requirements.................................................................................................................8
5.2 Safety Requirements...........................................................................................................................8
5.3 Security Requirements........................................................................................................................8
5.4 Software Quality Attributes.................................................................................................................8
5.5 Business Rules....................................................................................................................................9

6. Appendix : Glossary.................................................................................................................9
Software Requirements Specification for Online Voting System Page 1

1. Introduction

1.1 Purpose
The ‘Online Voting System’ is a web based voting platform for conducting elections online. The
user must sign in/login using their respective credentials and they will be logged in into the system
only after entering the correct credentials. Thereafter, the voter can cast their vote securely and
logout of the system. Hence, this project based on Online Voting System could be used for
conducting secure and fair elections online.

1.2 Document Conventions


This document uses the IEEE format of the SRS. The following conventions are used:
• DB – Database
• ER – Entity Relationship
• DFD – Data Flow Diagram
• OVS – Online Voting System

1.3 Intended Audience and Reading Suggestions


The intended audience of this document is the potential end user. The document may also serve
as a reference guide to the developers of the system.

1.4 Product Scope


The system will maintain the database of all the eligible voters and candidates. It will manage all
the account details of the voters such as voter name, date of birth, their department, semester,
register number and password of the voter. The voters cast their votes using the web interface
provided. These votes are accepted by the system on the server.

1.5 References
https://voters.eci.gov.in/
https://www.w3schools.com/
Fundamentals of Database Systems by Ramez Elmarsi and Shamkant B.Navathe
Software Requirements Specification for Online Voting System Page 2

2. Overall Description

2.1 Product Perspective


The Online Voting System (OVS), described in this document, is a brand-new software designed
specifically for use in colleges. It's not an upgrade or replacement for any existing systems.
Instead, it's an innovative solution aimed at modernizing and improving how voting is done within a
college.

2.2 Product Functions


The Online Voting System for college-level use is designed to modernize and streamline the voting
process within a college community. It enables user registration, secure voting, candidate
management, and real-time result tabulation while ensuring data security and transparency. The
system aims to provide a user-friendly and accessible platform for conducting elections and polls in
an efficient and accountable manner.

2.3 User Classes and Characteristics


1. Administrators:
 Role: College staff or election coordinators responsible for managing and
overseeing the electoral process.
 Characteristics:
 Have administrative privileges to configure and manage elections.
 Can add or remove candidates, set election parameters, and generate
reports.
 Require a higher level of technical expertise to operate the system
effectively.

2. Voters:
 Role: College students, faculty, and staff eligible to participate in elections.
 Characteristics:
 Registered users who can log in to cast their votes.
 May have varying levels of technical expertise, so the system should be
user-friendly.
 Primarily interact with the system during election periods.

3. Candidates:
 Role: Individuals running for positions in college elections.
 Characteristics:
 Register as candidates, submit nomination materials, and campaign within
the system.
 Need to track their campaign progress and receive election results.
 May have varying levels of technical expertise.

4. Technical Support Personnel:


 Role: IT staff or support teams responsible for assisting users with technical issues.
 Characteristics:
 Offer help and guidance to users facing login, access, or technical problems.
Software Requirements Specification for Online Voting System Page 3

 Need technical expertise to troubleshoot and resolve system-related issues.

5. Auditors and Oversight Bodies:


 Role: Independent bodies or individuals responsible for ensuring the transparency
and fairness of elections.
 Characteristics:
 May require read-only access to audit system activities and verify the
integrity of the voting process.
 May have a legal or compliance background.

6. System Developers and Maintainers:


 Role: Developers and IT professionals responsible for building, maintaining, and
updating the OVS.
 Characteristics:
 Possess advanced technical skills and knowledge of PHP, web
development, and database management.
 Focus on system architecture, security, and performance optimization.

7. College Officials:
 Role: Senior college administrators or decision-makers who may require access to
high-level election reports.
 Characteristics:
 Typically view aggregated reports and outcomes of elections.
 Need a broad overview of the electoral process

2.4 Operating Environment


The Online Voting System (OVS), developed using HTMP,CSS,JAVASCRIPT, PHP and XAMPP
(Apache, MySQL, PHP) server, operates within the following environment:

1. Hardware Platform:
 Standard x86/x86_64 compatible hardware.
 Sufficient computational resources (CPU, RAM, and storage) to support the web
server and database requirements.
 Network connectivity to allow users to access the system over the internet.

2. Operating System and Versions:


 Windows, Linux, or macOS are suitable operating systems for hosting the XAMPP
server.
 Recommended OS versions: Windows 10 or later, Ubuntu 20.04 LTS or later,
macOS 10.15 or later.

3. Web Server:
 XAMPP (or equivalent) with Apache HTTP Server for serving web pages.
 Apache version 2.4.x is commonly used.

4. Database Server:
 MySQL (part of XAMPP) for data storage and retrieval.
 MySQL version 5.7 or later is recommended.
Software Requirements Specification for Online Voting System Page 4

5. PHP:
 PHP scripting language for server-side logic.
 PHP version 7.x or later is recommended.

2.5 Design and Implementation Constraints


1. Security Regulations:
 Compliance with relevant security regulations, data protection laws, and college
policies is paramount.
 Developers must ensure that the OVS adheres to these regulations, which may
impact data storage, encryption, and access control.

2. Hardware Limitations:
 Developers must consider the hardware limitations of the target server
infrastructure. Adequate CPU, RAM, and storage resources are required to support
the OVS, particularly as the user base and data volume grow.

3. Software Components:
 The use of specific software components, such as the XAMPP server stack and
PHP, may be mandated.
 Developers need to work within the constraints of these technologies and ensure
compatibility with specified versions.

4. Database Selection:
 The OVS relies on MySQL as the database management system within the XAMPP
stack.
 Developers are constrained to use MySQL for data storage and retrieval.

2.6 User Documentation


1. User Manual:
• A comprehensive guide that provides that provides detailed instructions on using the
online voting system.
• Format: PDF,HTML,or printed document.

2. Tutorials:
• Step-by-step tutorials or walkthroughs to help users understand the voting process.
• Format: Video tutorials or Written guidelines.

3. FAQ (frequently asked questions):


• A list of common user queries with concise answers.
• Format: Web page or document

4. Terms of service and Privacy Policy:


• Legal documents outlining the terms and privacy practices related to using the voting
system.
• Format: PDF or Web pages.
Software Requirements Specification for Online Voting System Page 5

2.7 Assumptions and Dependencies


Assumptions:

• Internet Access: Users are assumed to have reliable internet access to participate in online
voting.

• Device Availability: Users are expected to have access to devices such as computers,
smartphones, or tablets to cast their votes.

• User Authentication: Assumption that the authentication process (e.g., username and
password) is secure and reliable.

• User Eligibility: Users are assumed to be eligible voters based on predefined criteria (e.g.,
enrolled students or faculty).

• Data Privacy: Assumption that user data is handled with strict privacy measures and
complies with relevant data protection laws.

• Security Measures: Assumption that appropriate security measures are in place to prevent
unauthorized access, tampering, or fraud.

• Technical Support: Availability of technical support in case users encounter issues or


require assistance during the voting process.

• User Education: Assumption that users will receive adequate information and training on
how to use the online voting system.

Dependencies:

• Technical Infrastructure: The online voting system depends on a robust technical


infrastructure, including servers, databases, and network resources.

• Security Protocols: Dependence on robust security protocols, including encryption,


firewalls, and intrusion detection systems, to protect user data and the integrity of the voting
process.

• Software Development: The development and maintenance of the online voting software
depend on skilled software developers and regular updates to address vulnerabilities and
improve functionality.

• User Registration: Integration with a user registration system to verify user eligibility and
manage user accounts.

• Legal and Regulatory Compliance: Compliance with legal and regulatory requirements
related to elections and data privacy is essential.

• Internet Service Providers: Reliability of internet service providers to ensure uninterrupted


access for users.
Software Requirements Specification for Online Voting System Page 6

3. External Interface Requirements

3.1 User Interfaces


• The system must provide a user interface for all types of users (Admin and Voter) that is
available through all Web browsers. The user interface for voter must be different for
Election Mode and Normal Interactive Mode.

3.2 Hardware Interfaces


 There are no hardware interfaces to this software system. The only interfaces are
through a computer system.

3.3 Software Interfaces


 The use of specific software components, such as the XAMPP server stack and PHP,
may be mandated. Developers need to work within the constraints of these
technologies and ensure compatibility with specified versions.
 The poll server runs on http server that is enabled to handle server pages. It uses a
relational database to keep track of the polls, which it connects through standard
database connectivity interfaces.

4. Functional Requirements

4.1 User Registration and Authentication

1.1 User Registration

- Description: Allow students and Candidates to create accounts.


- Inputs: Name, email, student/Candidates ID, password.
- Processing: Verify user information and store it securely.
- Outputs: Confirmation alert on the successful registration
- User Actions: Users can sign up using a registration form.
- Priority: High.

1.2 User Authentication

- Description: Verify the identity of users during login.


- Inputs: Email and password.
- Processing: Authenticate user credentials.
- Outputs: Grant access upon successful authentication.
- User Actions: Users can log in using their credentials.
- Dependencies: User Registration.
Software Requirements Specification for Online Voting System Page 7

4.2 Voting Process

2.1 Candidate Nomination

- Description: Allow eligible candidates to submit nominations.


- Inputs: Candidate information, manifesto, eligibility criteria.
- Processing: Verify candidate eligibility and nomination.
- Outputs: List of eligible candidates.
- User Actions: Eligible candidates submit nominations.
- Dependencies: User Authentication.
- Priority: Medium

2.3 Voting

- Description: Allow registered users to cast their votes.


- Inputs: Selected candidates for position.
- Processing: Record user votes securely.
- Outputs: Confirmation of successful vote.
- User Actions: Users select candidates and submit their votes.
- Dependencies: User Authentication.
- Priority: High

4.3 Results and Reporting

3.1 Vote Counting

- Description: Count votes for each candidate.


- Inputs: Recorded votes.
- Processing: Calculate and validate results.
- Outputs: Election results for position.
- User Actions: Automated process.
- Dependencies: Voting.
- Priority: High

3.2 Result Publication

- Description: Publish election results to users.


- Inputs: Election results.
- Processing: Display results securely.
- Outputs: Publicly accessible results.
- User Actions: Users can view election results.
- Dependencies: Vote Counting.
- Priority: High

4.4 Administration and Security

4.1 Admin Dashboard

- Description: Provide an admin dashboard for system management.


- Inputs: Administrative credentials.
- Processing: Grant access to authorized administrators.
- Outputs: Access to system management tools.
- User Actions: Admins log in to the admin dashboard.
- Priority: High
Software Requirements Specification for Online Voting System Page 8

4.2 Security Measures

- Description: Implement security measures to protect the system.


- Inputs: Security protocols and encryption.
- Processing: Monitor system for security threats.
- Outputs: Security logs and alerts.
- User Actions: Automated security processes.
- Dependencies: Admin Dashboard.
- Priority: High.

5. Nonfunctional Requirements

5.1 Performance Requirements


The online voting system requires minimum hardware and software requirements. We need
following performance to run our system properly:
• 500MZh Pentium II or higher
• 512 MB of RAM
• 800 * 600 minimum resolution

The software’s performance will be as smooth as possible, with special attention given to the
following aspects:
• Accuracy
• Reliability
• Simple to use
• Methodological approach to work
• No redundancy
• Immediate storing of information
• Immediate retrieval of information

5.2 Safety Requirements


Data handling is an important part of our system. We use one central database to store our
system’s data. If any power failure, virus attack or data crash occurs, it may lead to losing all data
of the database. Therefore we recommend taking the backup of the database after doing any
updating and also the use of a separate power supply and installing and updating virus guard to
the database machine is also recommended.

5.3 Security Requirements


When a user performs an activity, the online voting system will:
• authenticate admin who logs into the system.
• authorize to execute the activities followed for the admin.
• only authorized admin have access to the administrator features.
Software Requirements Specification for Online Voting System Page 9

5.4 Software Quality Attributes


• Usability: The user of the system are members and the administrator who maintain the
system. The users can pick up how to use the system very easily.
• Availability: The system will be available and online.
• Security: The user will be authenticated before allowing the access to web app. Also, users
have limited features to prevent them from changing the database.
• Portability: As the system is a web-app, it should work on any platform with a web browser.
• Maintainability: The system should be maintained easily.
• Test ability: The system should be tested for various inputs.

5.5 Business Rules


Access to administrator functions should be restricted to the registered candidates

6. Appendix : Glossary
• HTML - The Hypertext Markup Language, or HTML is the standard markup language for
documents designed to be displayed in a web browser.

• CSS - Cascading Style Sheets is a style sheet language used for describing the
presentation of a document written in a markup language such as HTML.

• JavaScript - JavaScript is a cross-platform, object-oriented programming language used by


developers to make web pages more interactive.

• PHP - it is a server-side scripting language embedded in HTML in its simplest form.

• MySQL - MySQL is an open-source relational database management system.

• SQL - SQL is a domain-specific language used in programming and designed for managing
the data held in a relational database management system.

• ER Diagram - Entity Relationship Diagram is a diagram that displays the relationship of


entity sets stored in a database.

• DFD - It graphically shows the structure of the database and relations between database
objects.

You might also like