0% found this document useful (0 votes)
11 views62 pages

Team 6 AD

The document is a project report for an Online Voting System developed by students at Malla Reddy College of Engineering and Technology as part of their Bachelor of Technology in Computer Science and Engineering (Cyber Security). It outlines the project's objectives to enhance accessibility, efficiency, and security in the voting process through the use of advanced technology, addressing limitations of traditional voting methods. The report includes sections on system analysis, functional requirements, and acknowledgments, emphasizing the importance of security measures and voter verification in maintaining the integrity of elections.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views62 pages

Team 6 AD

The document is a project report for an Online Voting System developed by students at Malla Reddy College of Engineering and Technology as part of their Bachelor of Technology in Computer Science and Engineering (Cyber Security). It outlines the project's objectives to enhance accessibility, efficiency, and security in the voting process through the use of advanced technology, addressing limitations of traditional voting methods. The report includes sections on system analysis, functional requirements, and acknowledgments, emphasizing the importance of security measures and voter verification in maintaining the integrity of elections.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 62

ONLINE VOTING SYSTEM

An Application Development – 1 (Project) Report Submitted


In partial fulfillment of the requirement for the award of the degree
of

Bachelor of Technology
in
Computer Science and Engineering (Cyber security)
by

V SHIVANI 22N35A6207
MD ABRAAR HUSSAIN 21N31A6245
K PRANAY BABU 21N31A6238

Under the Guidance of

Ms V Suneetha
Associate Professor
Department of Emerging
Technologies
MRCET (Autonomous Institution, UGC Govt. of India)

DEPARTMENT OF COMPUTER SCIENCE AND


ENGINEERING
(EMERGING TECHNOLOGIES)
MALLA REDDY COLLEGE OF ENGINEERING AND TECHNOLOGY
(Autonomous Institution – UGC, Govt. of India)
(Affiliated to JNTU, Hyderabad, Approved by AICTE, Accredited by NBA & NAAC – ‘A’ Grade, ISO 9001:2015 Certified)
Maisammaguda (v), Near Dullapally, Via: Kompally, Hyderabad – 500 100, Telangana State,
India 2023-2024
DECLARATION

I hereby declare that the project entitled “Online Voting System” submitted to Malla
Reddy College of Engineering and Technology, affiliated to Jawaharlal Nehru Technological
University Hyderabad (JNTUH) as part of III Year B.Tech – I Semester and for the partial
fulfillment of the requirement for the award of Bachelor of Technology in Computer Science
and Engineering (Cyber Security) is a result of original research work done by us.

It is further declared that the project report or any part thereof has not been previously
submitted to any University or Institute for the award of degree or diploma.

V SHIVANI (22N35A6207)
MD ABRAAR HUSSAIN
(21N31A6245) K PRANAY BABU
(21N31A6238)
CERTIFICATE

This is to certify that this is the bonafide record of the project titled “Online Voting
System” submitted by V SHIVANI bearing 22N35A6207 of B.Tech III Year – I Semester in
the partial fulfillment of the requirements for the degree of Bachelor of Technology in Computer
Science and Engineering (Cyber Security), Dept. of CSE (Emerging Technologies) during the
year 2023-2024. The results embodied in this project report have not been submitted to any other
university or institute for the award of any degree or diploma.

Ms V Suneetha Dr. M V Kamal


Associate Professor Professor
Head of the Department

EXTERNAL EXAMINER
ACKNOWLEDGEMENTS

I feel myself honored and privileged to place my warm salutation to my college “Malla Reddy
College of Engineering and Technology (Autonomous Institution – UGC Govt. of India) and my
Principal Dr. S Srinivasa Rao, Professor who gave me the opportunity to do the Application
Development -1 (Project) during my III Year B.Tech and profound the technical skills.

I express my heartiest thanks to our Director Dr. V S K Reddy, Professor for encouraging me in
every aspect of my project and helping me realize my full potential.

I am also thankful to our Head of the Department Dr. M V Kamal, Professor for providing training
and guidance, excellent infrastructure and a nice atmosphere for completing this project
successfully.

I would like to express my sincere gratitude and indebtedness to my project supervisor Mrs V
Suneetha, Associate Professor for his valuable suggestions and interest throughout the course of
this project.

I convey my heartfelt thanks to our Project Coordinator Dr. P Dileep, Professor for allowing for
their regular guidance and constant encouragement during my dissertation work.

I would like to thank all my supporting staff of the Department of CSE (Emerging
Technologies) and even all other department who have been helpful directly and in-directly in
making our project a success.

Finally, I would like to take this opportunity to thank my family for their support and blessings
for completion of my project that gave me the strength to do my project.

V SHIVANI (22N35A6207)
MD ABRAAR HUSSAIN (21N31A6245)
K PRANAY BABU (2N31A6217)
ABSTRACT
An online voting system is a modernized approach to the traditional method of voting,

leveraging the power of the internet to make the voting process more convenient and accessible.

Instead of physically visiting a polling station, voters can use their computers or smartphones to

cast their ballots from anywhere with an internet connection.

One of the primary advantages of an online voting system is its convenience. Voters can participate

in elections or important decisions without the need to travel to a specific location. This

accessibility is especially beneficial for individuals who may face mobility challenges, live in

remote areas, or have busy schedules that make it difficult to allocate time for in-person voting.

Security is a paramount concern in any voting system, and online voting systems employ advanced

encryption and authentication measures to ensure the integrity of the electoral process. This

includes secure login procedures and encrypted transmission of votes to safeguard against

unauthorized access or tampering.

The implementation of robust security measures is essential for building trust in the online voting

system and maintaining the integrity of election outcomes .Accuracy in counting votes is another

crucial aspect of any voting system.

Online voting systems use advanced algorithms to accurately tally the submitted votes, minimizing

the risk of errors associated with manual counting. This not only streamlines the overall voting

process but also contributes to the timely announcement of election results.

i
Furthermore, online voting systems often provide features such as voter verification and receipt

confirmation. These features empower voters to verify that their votes have been accurately

recorded and counted. Additionally, the system generates an electronic trail, enhancing

transparency and accountability in the electoral process.

ii
LIST OF CONTENTS

S.No Contents Page


No
CHAPTER 1 Introduction
1.1 Introduction 1-2
1.2 Motive of the project 2-3
1.3 Problem Definition 3-4
1.4 Scope 4-6
CHAPTER 2 System Analysis
2.1 Existing System and Proposed System 7
2.2 Function Requirement (Hardware and Software) 8
CHAPTER 3 Software Environment
3.1 Software 9-12
3.2 Modules used in the Project 13
CHAPTER 4 System Design and UML Diagram
4.1 Dataflow Diagrams 14
4.2 Architecture Diagrams 15
4.3 UML Diagrams 16-17
CHAPTER 5 Software Development Life Cycle
5.1 Phases of SDLC 18-21
CHAPTER 6 Implementation
6.1 Sample Code 22-37
CHAPTER 7 Testing
7.1 Introduction 38-40
7.2 Sample Test cases 41-44
CHAPTER 8 Output Screen
8.1 Screenshots 45-48
CHAPTER 9 Conclusion and Future Scope 49-50
CHAPTER 10 References
10.1 Websites 51
10.2 Books 51
10.3 Research Paper 51-52

iii
LIST OF FIGURES

S.No Figure Title Page No


1 Data Flow Diagram 14
2 System Architecture 15
3 Use Case Diagram 16
4 Sequence Diagram 17
5 Phases Of SDLC 18
6 Index 22-24
7 Check Login 25-27
8 Main page 45
9 Registration page 45
10 Student page 46
11 Voting management system 47
12 Poll result 48

iv
LIST OF TABLES

S.No Table Name Page No


1 Software Requirements 8
2 Hardware Requirements 8
3 Test Cases 38-44

v
CHAPTER 1
INTRODUCTION

1.1 Introduction

1.1.1 The advent of the digital era has ushered in transformative changes across various facets

of human life, and the realm of democratic participation is no exception. The traditional

method of casting votes in physical polling stations is undergoing a paradigm shift with the

introduction of online voting systems. These systems represent a revolutionary stride

toward enhancing the accessibility, efficiency, and security of the electoral process.

1.1.2 At its core, an online voting system is a technological platform that enables individuals

to exercise their right to vote using the internet, eliminating the need for physical

presence at a designated polling location. This shift from the conventional in-person voting

model to a digital interface seeks to overcome geographical constraints and logistical

challenges, making the act of voting more inclusive and convenient for a diverse

populace.

1.1.3 The key advantage of online voting lies in its inherent convenience. By leveraging the

ubiquity of digital devices, such as computers and smartphones, voters can participate in

elections from virtually anywhere. This accessibility addresses longstanding barriers that

individuals may face, including mobility issues, remote residency, or scheduling conflicts.

As societies evolve in the digital age, the convenience offered by online voting aligns

with the broader trend of integrating technology to simplify complex processes.

1.1.4 Security is a paramount concern in the implementation of online voting systems, and

1
designers of these platforms prioritize the development of robust mechanisms to safeguard

2
the integrity of the electoral process. Advanced encryption protocols, secure login

procedures, and tamper-resistant systems are integral components that ensure the

confidentiality and authenticity of each vote. By instilling trust in the security measures

deployed, online voting systems aim to fortify the democratic underpinnings of free and

fair elections.

1.1.5 Moreover, the accuracy of the vote-counting process is significantly bolstered through the

implementation of sophisticated algorithms within online voting systems. Automated

tallying minimizes the risk of human error associated with manual counting, thereby

expediting the announcement of election results. Additionally, these systems often

incorporate features like voter verification and receipt confirmation, empowering voters to

independently verify that their choices have been accurately recorded and counted.

1.1.6 In essence, the emergence of online voting systems marks a pivotal moment in the

evolution of democratic practices. By harnessing the potential of technology, these systems

aspire to create a more accessible, secure, and efficient electoral landscape, fostering a

deeper and more widespread engagement in the democratic process. As societies

navigate the digital frontier, the integration of online voting stands as a testament to the

ongoing commitment to adapt democratic institutions to the evolving needs and

expectations of a technologically advanced citizenry

1.2 Motive of the project

The motive behind implementing the online voting system project is rooted in a commitment to

democratize and modernize the electoral process. The project seeks to enhance civic

participation by leveraging technology to make voting more accessible and convenient for a

diverse populace.

3
By eliminating geographical barriers and streamlining the voting procedure, the aim is to

encourage higher voter turnout and foster a more inclusive democratic environment.

Moreover, the project is motivated by a dedication to fortify the security and accuracy of the

electoral process. Through the implementation of advanced encryption, secure authentication, and

automated vote-counting algorithms, the goal is to ensure the integrity of elections. By embracing

technological advancements, the project endeavors to mitigate the risks associated with manual

processes and instill confidence in voters that their choices are accurately recorded and counted.

Ultimately, the motive of the online voting system project is to usher in a more efficient, secure,

and transparent electoral landscape, aligning democratic practices with the expectations and needs

of a technologically advanced society.

1.3 Problem Definition

The problem addressed by the online voting system project lies in the limitations and

inefficiencies inherent in traditional, in-person voting methods. Conventional voting systems

often impose geographical and logistical constraints on individuals, requiring them to

physically travel to designated polling stations within specific time frames. This can result in

disenfranchisement for those facing mobility challenges, residing in remote areas, or

experiencing time constraints due to work or other commitments. The inherent

inconvenience of these traditional methods contributes to lower voter turnout, undermining

the foundational principles of a representative democracy.

4
Additionally, the manual processes involved in traditional voting systems, such as paper-based

ballots and manual vote counting, are susceptible to human errors and inefficiencies. The

reliance on physical records can lead to delays in announcing election results, raising concerns

about the transparency and accuracy of the electoral process. Instances of miscounted or lost

ballots further erode confidence in the democratic system.

The problem further extends to security concerns. Traditional voting methods may be

vulnerable to tampering, fraud, or external interference. Ensuring the confidentiality and

integrity of votes becomes a significant challenge in an environment where physical records

can be susceptible to mishandling or manipulation.

The online voting system project seeks to address these multifaceted challenges by leveraging

technology to create a more accessible, efficient, and secure voting process. By allowing voters

to cast their ballots remotely through digital platforms, the project aims to overcome

geographical barriers and enhance participation. The adoption of secure authentication,

encryption, and automated vote-counting algorithms addresses concerns related to accuracy

and security, reinforcing the trustworthiness of the electoral process. In essence, the problem

at hand is the need for a modernized and technologically-driven approach to voting that ensures

inclusivity, efficiency, and the safeguarding of democratic principles.

1.4 Scope

The scope of the online voting system project is expansive, encompassing various dimensions

that contribute to the enhancement of the electoral process. At its core, the project seeks to

5
revolutionize the way citizens participate in the democratic process by leveraging technology

to create a more accessible, efficient, and secure voting experience.

The primary scope lies in increasing accessibility. The project aims to break down

geographical barriers by allowing voters to cast their ballots from any location with an internet

connection. This inclusivity is particularly crucial for individuals facing challenges such as

physical disabilities, living in remote areas, or having limited access to transportation. By

providing a digital platform for voting, the project widens the scope of civic participation,

fostering a more representative democracy.

Efficiency is another key aspect of the project's scope. The automation of various aspects,

including voter registration, authentication, and vote counting, streamlines the entire

electoral process. This efficiency not only accelerates the announcement of election results

but also minimizes the likelihood of errors associated with manual procedures. The project

envisions a dynamic and responsive democratic system where technology contributes to a more

timely and reliable electoral outcome.

Security is paramount within the scope of the project. Robust measures, such as advanced

encryption, secure login procedures, and tamper-resistant systems, are implemented to protect

the integrity and confidentiality of votes. By addressing concerns related to potential

tampering, fraud, or external interference, the project ensures the highest standards of security

in the digital voting environment.

6
The project also incorporates features that empower voters. Through mechanisms like voter

verification and receipt confirmation, individuals gain the ability to independently verify that

their votes have been accurately recorded and counted. This transparency enhances trust in the

electoral process, reinforcing the democratic principles of fairness and representation.

7
CHAPTER 2
SYSTEM ANALYSIS

2.1 Existing System

The existing voting system typically relies on in-person voting at designated polling stations using

paper-based ballots. This traditional method poses challenges such as limited accessibility,

potential inefficiencies in manual processes, and security concerns. The transition to an online

voting system aims to overcome these limitations by leveraging technology to provide a more

accessible, efficient, and secure platform for citizens to cast their votes remotely for that person in

database.

Proposed System

The proposed online voting system aims to revolutionize the electoral process by allowing citizens

to cast their votes securely and conveniently through digital platforms. Leveraging advanced

technology, the system enhances accessibility, automates procedures for efficiency, and

implements robust security measures. This modernized approach seeks to address the limitations

of traditional voting methods, providing a streamlined and inclusive voting experience for citizens.

8
2.2 Functional requirements

Software Requirements

COMPONENT SPECIFICATION

OPERATING SYSTEM Windows 10, Linux

DATABASE Mysql, mysql connector

LANGUAGE PHP JAVA SCRIPT CSS

LIBRARIES JDK SDK

WEB BROWSER Chrome, Edge, Firefox

Table 1: Software Requirements

Hardware Requirements

COMPONENT SPECIFICATION

PROCESSOR Multicore CPU (Intel Core i5 or better)

with 1.6GHz

RAM At least 8GB of RAM

DISK SPACE Minimum 750 MB

Table 2: Hardware Requirements

9
CHAPTER 3

SOFTWARE ENVIRONMENT

3.1 SOFTWARE

INTRODUCTION TO PHP

PHP, or Hypertext Preprocessor, stands as one of the most widely used and influential server-side

scripting languages for web development. Born out of the need for dynamic and interactive

websites, PHP has evolved into a versatile and powerful tool that underpins a substantial

portinof the internet's dynamic content.

PHP was created by Rasmus Lerdorf in 1994 and has since undergone numerous enhancements,

reaching its current status as an open-source scripting language. The "Preprocessor" in its name

implies its primary purpose: processing code before sending it to the web browser. Unlike static

HTML, PHP allows developers to embed dynamic content directly within their web pages,

facilitating the creation of interactive and data-driven websites.

One of PHP's defining features is its server-side execution, meaning the code is processed on the

server rather than the user's browser. This enables developers to perform a myriad of server-related

tasks, such as interacting with databases, handling form submissions, and managing user sessions.

The server executes the PHP code, generating HTML or other output that is then sent to the client's

browser, providing a seamless and dynamic user experience.

PHP seamlessly integrates with various databases, with MySQL being a commonly paired choice.

This integration enables developers to create dynamic web applications that can store, retrieve,

10
and manipulate data in real-time. As a result, PHP has become a fundamental component in the

development of content management systems (CMS) like WordPress and Joomla, as well as e-

commerce platforms such as Magento.

The syntax of PHP is relatively straightforward, drawing inspiration from languages like C and

Perl. Its ease of learning and readability has contributed to its widespread adoption, attracting both

beginners and experienced developers alike. PHP's extensive documentation and a vibrant

community further enhance its accessibility, providing a wealth of resources for developers at all

skill levels.

Another key strength of PHP is its cross-platform compatibility. It can run on various operating

systems, including Linux, Windows, and macOS, making it a versatile choice for developers

working in different environments. Additionally, PHP can be seamlessly integrated with web

servers like Apache and Nginx, further contributing to its flexibility and scalability.

In recent years, PHP has undergone significant updates with the release of PHP 7 and

subsequent versions. These updates brought improvements in performance, security, and the

introduction of modern language features. PHP 8, the latest major release, introduced Just-In-

Time (JIT) compilation, further enhancing its execution speed and efficiency.

In conclusion, PHP has played a pivotal role in the evolution of web development, providing a

dynamic and versatile platform for creating interactive and feature-rich websites. Its server-side

scripting capabilities, database integration, and user-friendly syntax have contributed to its

11
enduring popularity among developers worldwide. As the internet continues to evolve, PHP

remains a foundational element in the creation of dynamic and engaging web experiences.

BACK-END TECHNOLOGY

MySQL Introduction:

There are many database management systems currently available, some commercial and some

free. Some of them: Oracle, Microsoft Access, MySQL and PostgreSQL. These database

systems are powerful, feature-rich software, capable of organizing and searching millions of records

at very high speeds. 11 Understanding Databases, Records, and Primary Keys Every Database is

composed of one or more tables. These Tables, which structure data into rows and columns,

Impose organization on the data.

Types of SQL:

Data Definition Language (DDL): DDL Consists of statements that define the structure and

relationships of a database and its table. These Statements are used to Create, drop and modify

databases and tables.

Data Manipulation Language (DML): DML statements are related to altering and extracting

data from a database. These statements are used to add records to, update records in, and delete

records from, a database; perform queries; retrieve table records matching one or more user

specified criteria; and join tables together using their common fields.

Data Control Language (DCL): DCL statements are sued to define access levels and security

privileges for a database. You would use these statements to grant or deny user privileges, assign

roles, change passwords, view permissions, and create rulesets to protect access to data. The

Syntax of SQL is quite intuitive. every SQL statement begins with an “action word” like DELETE,

INSERT, ALTER etc. It ends with a semicolon. whitespace, tabs, carriage returns are ignored.

12
PHP MYSQL Connector:

The PHP MySQL connector is a crucial component that facilitates seamless communication

between PHP scripts and MySQL databases, forming a powerful combination for developing

dynamic and data-driven web applications. MySQL is a popular relational database management

system, and PHP, as a server-side scripting language, is adept at handling server-side tasks. The

connector acts as a bridge, enabling PHP scripts to interact with MySQL databases, retrieve or

modify data, and perform various database operations.

This connector typically comes in the form of an extension or driver that allows PHP to connect

to MySQL databases using specific functions and methods. One of the most commonly used

connectors is the MySQL (MySQL Improved) extension, which offers enhanced features and

security compared to its predecessor, MySQL.

Through the PHP MySQL connector, developers can execute SQL queries, manage database

connections, and fetch results, empowering them to build robust applications with efficient data

handling capabilities. This integration is foundational in content management systems, e-

commerce platforms, and various web applications where the storage and retrieval of dynamic data

are paramount. The connector's versatility and ease of use contribute to its widespread adoption in

the development community, making it an integral part of the web development stack for

creating interactive and data-centric websites.

13
3.2 MODULE OF THE PROJECT

• Module-1: Registration Module.

• Module-2: Login Module.

• Module-3: Admin Module.

• Module-4: Database Module.

• Module-5: Candidate Module.

• Module-6: Voting Interface Module.

• Module-7: Polling Module.

14
CHAPTER 4
SYSTEM DESIGN

4.1 Data Flow Diagram

Fig 1: Data Flow Diagram

15
4.2 Architecture Diagram

Fig 2: System Architecture

16
4.3 Use Case Diagram

Fig 3: Use Case Diagram

17
4.4 Sequence Diagram

Fig 4: Sequence Diagram

18
CHAPTER 5

SOFTWARE DEVELOPMENT LIFE CYCLE

The software development life cycle is a process that development teams use to create awesome

software that's top-notch in terms of quality, cost-effectiveness, and time efficiency. The main goal

is to minimize risks and make sure the software meets the customer's expectations both during and

after production.

This process is about creating a detailed plan to guide the development of the product and then

breaking down the development process into smaller modules that can be assigned, completed,

and measured to make the whole thing more manageable.

Here are some specific benefits of using SDLC for the product team:

 Increased visibility of the development process for all stakeholders involved.

 More efficient estimation, planning, and scheduling

 Improved risk management and cost estimation

 A systematic approach to delivering software that meets customer expectations and

improves satisfaction.

5.1 PHASES OF SDLC:

Fig 5: SDLC

19
1. Planning & Analysis

The first phase of the SDLC is the project planning stage where you are gathering business

requirements from your client or stakeholders. This phase is when you evaluate the feasibility of

creating the product, revenue potential, the cost of production, the needs of the end-users, etc.

2. Define Requirements

This phase is critical for converting the information gathered during the planning and analysis

phase into clear requirements for the development team. This process guides the development of

several important documents: a software requirement specification (SRS), a Use Case document,

and a Requirement Traceability Matrix document.

3. Design

The design phase is where you put pen to paper—so to speak. The original plan and vision are

elaborated into a software design document (SDD) that includes the system design,

programming language, templates, platform to use, and application security measures. This is

also where you can flowchart how the software responds to user actions.

4. Development

The actual development phase is where the development team members divide the project into

software modules and turn the software requirement into code that makes the product.

5. Testing

Before getting the software product out the door to the production environment, it’s important to

have your quality assurance team perform validation testing to make sure it is functioning properly

and does what it’s meant to do. The testing process can also help hash out any major user

experience issues and security issues. The types of testing to do in this phase:

20
Performance testing, Functional testing, Security testing, Unit-testing, Usability testing,

Acceptance testing

6. Deployment

During the deployment phase, your final product is delivered to your intended user. You can

automate this process and schedule your deployment depending on the type. For example, if you

are only deploying a feature update, you can do so with a small number of users (canary

release). If you are creating brand-new software, you can learn more about the different

stages of the

software release life cycle (SRLC).

7. Maintenance

The maintenance phase is the final stage of the SDLC if you’re following the waterfall structure

of the software development process. However, the industry is moving towards a more agile

software development approach where maintenance is only a stage for further improvement.

There are various software development life cycle models defined and designed which are

followed during the software development process. These models are also referred as Software

Development Process Models". Each process model follows a Series of steps unique to its type

to ensure success in the process of software development.

Following are the most important and popular SDLC models followed in the industry −

 Waterfall Model: It is the fundamental model of the software development life cycle. This

is a very simple model. The waterfall model is not in practice anymore, but it is the basis

for all other SDLC models. Because of its simple structure, the waterfall model is easier to

use and provides a tangible output. In the waterfall model, once a phase seems to be

21
completed, it cannot be changed, and due to this less flexible nature, the waterfall model

is not in practice anymore.

 Iterative Model: In the iterative model, each cycle results in a semi-developed but

deployable version; with each cycle, some requirements are added to the software, and the

final cycle results in the software with the complete requirement specification.

 Spiral Model: The spiral model is one of the most crucial SDLC models that provides

support for risk handling. It has various spirals in its diagrammatic representation; the

number of spirals depends upon the type of project. Each loop in the spiral structure

indicates the Phases of the Spiral model.

 V-Model: The V-shaped model is executed in a sequential manner in V-shape. Each

stage or phase of this model is integrated with a testing phase. After every development

phase, a testing phase is associated with it, and the next phase will start once the previous

phase is completed, i.e., development & testing. It is also known as the verification or

validation model.

 Big Bang Model: The Big Bang model in SDLC is a term used to describe an informal

and unstructured approach to software development, where there is no specific planning,

documentation, or well-defined phases.

22
CHAPTER 6
IMPLEMENTATION

Implementation is the stage where the theoretical design is turned into a working system. The most

crucial stage in achieving a new successful system and in giving confidence on the new system for

the users that it will work efficiently and effectively .The system can be implemented only after

thorough testing is done and if it is found to work according to the specification .It involves careful

planning, investigation of the current system and its constraints on implementation, design of

methods to achieve the changeover and an evaluation of change over methods a part from planning.

Two major tasks of preparing the implementation are education and training of the users and

testing of the system. The more complex the system being implemented, the more involved will

be the systems analysis and design effort required just for implementation. The implementation

phase comprises of several activities. The required hardware and software acquisition is carried

out. The system may require some software to be developed. For this, programs are written and

tested. The user then changes over to his new fully tested system and the old system is

discontinued.

6.1 SAMPLE CODE:

index:

<html><head>

<link href="css/user_styles.css" rel="stylesheet" type="text/css" />

<script language="JavaScript" src="js/user.js">

</script>

</head>

23
<body bgcolor="#e6e6e6";>

<center><b><font color = "brown" size="6">Simple PHP Polling

System</font></b></center><br><br>

<div id="page">

<div id="header">

<h1>Student Login </h1>

<div class="news"><marquee behavior="right">New polls are up and running. But they will not

be up forever! Just Login and then go to Current Polls to vote for your favourate candidates.

</marquee></div>

</div>

<div id="container">

<table width="300" border="0" align="center" cellpadding="0" cellspacing="1"

bgcolor="#FFFFFF">

<tr>

<form name="form1" method="post" action="checklogin.php" onSubmit="return

loginValidate(this)">

<td>

<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="tan">

<tr>

<td width="78">Username/Email</td>

<td width="6">:</td>

<td width="294"><input name="myusername" type="text" id="myusername"></td>

24
</tr>

<tr>

<td>Password</td>

<td>:</td>

<td><input name="mypassword" type="password" id="mypassword"></td>

</tr>

<tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

<td><input type="submit" name="Submit" value="Login"></td>

</tr>

</table>

</td>

</form>

</tr>

</table>

<center>

<br>Not yet registered? <a href="registeracc.php"><b>Register Here</b></a>

</center>

</div>

<div id="footer">

<div class="bottom_addr">&copy; 2012 Simple PHP Polling System. All Rights

Reserved</div>

25
</div>

</div>

</body></html>

Check Login:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Simple PHP Polling System Access Denied</title>

<link href="css/user_styles.css" rel="stylesheet" type="text/css" />

</head>

<body bgcolor="tan">

<center><a href ="https://sourceforge.net/projects/pollingsystem/"><img src = "images/logo"

alt="site logo"></a></center><br>

<center><b><font color = "brown" size="6">Simple PHP Polling

System</font></b></center><br><br>

<body>

<div id="page">

<div id="header">

<h1>Invalid Credentials Provided </h1>

<p align="center">&nbsp;</p>

</div>

26
<div id="container">

<?php

ini_set ("display_errors", "1");

error_reporting(E_ALL);

ob_start();

session_start();

require('connection.php');

// Defining your login details into variables

$myusername=$_POST['myusername'];

$mypassword=$_POST['mypassword'];

$encrypted_mypassword=md5($mypassword); //MD5 Hash for security

// MySQL injection protections

$myusername = stripslashes($myusername);

echo $mypassword = stripslashes($mypassword);

//$myusername = mysqli_real_escape_string($myusername);

//$mypassword = mysqli_real_escape_string($mypassword);

$sql=mysqli_query($con, "SELECT * FROM tbmembers WHERE email='$myusername' and

password='$encrypted_mypassword'");

27
// Checking table row

$count=mysqli_num_rows($sql);

// If username and password is a match, the count will be 1

if($count==1){

// If everything checks out, you will now be forwarded to student.php

$user = mysqli_fetch_assoc($sql);

$_SESSION['member_id'] = $user['member_id'];

header("location:student.php");

//If the username or password is wrong, you will receive this message below.

else {

echo "Wrong Username or Password<br><br>Return to <a href=\"index.php\">login</a>";

ob_end_flush();

?>

</div>

<div id="footer">

<div class="bottom_addr">&copy; 2012 Simple PHP Polling System. All Rights

Reserved</div>

</div>

28
</div>

</body>

</html>

Training the dataset:

<?php

ini_set('display_errors',1);

error_reporting(E_ALL);

extract($_REQUEST);

require_once('connection.php');

$q="SELECT * FROM tbmembers WHERE email='$email'";

$result=mysqli_query($con,$q);

if(mysqli_num_rows($result)){

echo"email already Registerd Please Try Another";

}else{

echo"";

?>

Vote:

<?php

require('connection.php');

29
session_start();

//If your session isn't valid, it returns you to the login screen for protection

if(empty($_SESSION['member_id'])){

header("location:access-denied.php");

?>

<?php

// retrieving positions sql query

$positions=mysqli_query($con, "SELECT * FROM tbPositions");

?>

<?php

// retrieval sql query

// check if Submit is set in

POST if

(isset($_POST['Submit']))

// get position value

$position = addslashes( $_POST['position'] ); //prevents types of SQL injection

// retrieve based on position

$result = mysqli_query($con,"SELECT * FROM tbCandidates WHERE

candidate_position='$position'");

// redirect back to vote


30
//header("Location: vote.php");

else

// do something

?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Simple PHP Polling System:Voting Page</title>

<link href="css/user_styles.css" rel="stylesheet" type="text/css" />

<script language="JavaScript" src="js/user.js">

</script>

<script type="text/javascript">

function getVote(int)

if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera,

Safari xmlhttp=new XMLHttpRequest();

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

31
}

if(confirm("Your vote is for "+int))

var pos=document.getElementById("str").value;

var id=document.getElementById("hidden").value;

xmlhttp.open("GET","save.php?vote="+int+"&user_id="+id+"&position="+pos,true);

xmlhttp.send();

xmlhttp.onreadystatechange =function()

if(xmlhttp.readyState ==4 && xmlhttp.status==200)

// alert("dfdfd");

document.getElementById("error").innerHTML=xmlhttp.responseText;

else

alert("Choose another candidate ");

32
}

function getPosition(String)

if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera,

Safari xmlhttp=new XMLHttpRequest();

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

xmlhttp.open("GET","vote.php?position="+String,true);

xmlhttp.send();

</script>

<script type="text/javascript">

$(document).ready(function(){

var j = jQuery.noConflict();

j(document).ready(function()

33
j(".refresh").everyTime(1000,function(i){

j.ajax({

url: "admin/refresh.php",

cache: false,

success: function(html){

j(".refresh").html(html);

})

})

});

j('.refresh').css({color:"green"});

});

</script>

</head>

<body bgcolor="tan">

<center>

<b><font color = "brown" size="6">Simple PHP Polling System</font></b></center><br><br>

<body>

<div id="page">

<div id="header">

<h1>CURRENT POLLS</h1>

34
<a href="student.php">Home</a> | <a href="vote.php">Current Polls</a> | <a href="manage-

profile.php">Manage My Profile</a> | <a href="changepass.php">Change Password</a>| <a

href="logout.php">Logout</a>

</div>

<div class="refresh">

</div>

<div id="container">

<table width="420" align="center">

<form name="fmNames" id="fmNames" method="post" action="vote.php" onSubmit="return

positionValidate(this)">

<tr>

<td>Choose Position</td>

<td><SELECT NAME="position" id="position" onclick="getPosition(this.value)">

<OPTION VALUE="select">select

<?php

//loop through all table rows

while ($row=mysqli_fetch_array($positions)){

echo "<OPTION VALUE=$row[position_name]>$row[position_name]";

//mysql_free_result($positions_retrieved);

//mysql_close($link);

?>

</SELECT></td>

35
<td><input type="hidden" id="hidden" value="<?php echo $_SESSION['member_id']; ?>"

/></td>

<td><input type="hidden" id="str" value="<?php echo $_REQUEST['position']; ?>" /></td>

<td><input type="submit" name="Submit" value="See Candidates" /></td>

</tr>

<tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

</form>

</table>

<table width="270" align="center">

<form>

<tr>

<th>Candidates:</th>

</tr>

<?php

//loop through all table rows

//if (mysql_num_rows($result)>0){

if (isset($_POST['Submit']))

while ($row=mysqli_fetch_array($result)){

36
echo "<tr>";

echo "<td>" . $row['candidate_name']."</td>";

echo "<td><input type='radio' name='vote' value='$row[candidate_name]'

onclick='getVote(this.value)' /></td>";

echo "</tr>";

mysqli_free_result($result);

mysqli_close($con);

//}

else

// do nothing

?>

<tr>

<h3>NB: Click a circle under a respective candidate to cast your vote. You can't vote more

than once in a respective position. This process can not be undone so think wisely before casting

your vote.</h3>

<td>&nbsp;</td>

</tr>

</form>

</table>

<center><span id="error"></span></center>

</div>

37
<div id="footer">

<div class="bottom_addr">&copy; 2012 Simple PHP Polling System. All Rights

Reserved</div>

</div>

</div>

</body>

</html>

38
CHAPTER 7

TESTING

7.1 Introduction:

Testing is a process of executing a program with the intent of finding an error. Testing is a

crucial element of software quality assurance and presents ultimate review of specification,

design, and coding. System Testing is an important phase. Testing represents an interesting

anomaly for the software. Thus, a series of testing are performed for the proposed system before the

system is ready for user acceptance testing. A good test case is one that has a high probability of

finding an as undiscovered error. A successful test is one that uncovers an as undiscovered error.

Testing Objectives:

1. Testing is a process of executing a program with the intent of finding an error

2. A good test case is one that has a probability of finding a yet undiscovered error

3. A successful test is one that uncovers an undiscovered error Testing Principles:

• All tests should be traceable to end user requirements.

• Tests should be planned long before testing begins.

• Testing should begin on a small scale and progress towards testing in large.

• Exhaustive testing is not possible.

• To be most effective testing should be conducted by a independent third party.

The primary objective for test case design is to derive a set of tests that has the highest

livelihood for uncovering defects in software. To accomplish this objective two different

categories of test case design techniques are used. They are:

• White box testing.

• Black box testing.

39
White-box testing:

White box testing focus on the program control structure. Test cases are derived to ensure that

all statements in the program have been executed at least once during testing and that all logical

conditions have been executed.

Block-box testing:

Black box testing is designed to validate functional requirements without regard to the internal

workings of a program. Black box testing mainly focuses on the information domain of the

software, deriving test cases by partitioning input and output in a manner that provides through

test coverage. Incorrect and missing functions, interface errors, errors in data structures, error in

functional logic are the errors falling in this category.

Testing strategies:

A strategy for software testing must accommodate low-level tests that are necessary to verify

that all small source code segments have been correctly implemented as well as high-level tests

that validate major system functions against customer requirements.

Testing fundamentals:

Testing is a process of executing a program with the intent of finding error. A good test case is one

that has high probability of finding an undiscovered error. If testing is conducted successfully, it

uncovers the errors in the software. Testing cannot show the absence of defects, it can only show

that software defects are present.

Testing Information flow:

Information flow for testing flows the pattern. Two classes of input provided to test the process.

The software configuration includes a software requirements specification, a design

specification
40
and source code. Test configuration includes test plan and test cases and test tools. Tests are

conducted and all the results are evaluated. That is test results are compared with expected results.

When erroneous data are uncovered, an error is implied, and debugging commences.

Unit Testing:

Unit testing is essential for the verification of the code produced during the coding phase and hence

the goal is to test the internal logic of the modules. Using the detailed design description as a guide,

important paths are tested to uncover errors within the boundary of the modules. These tests

were carried out during the programming stage itself. All units of Vienna SQL were successfully

tested. Integration testing:

Integration testing focuses on unit tested modules and build the program structure that is dictated

by the design phase. System testing: System testing tests the integration of each module in the

system. It also tests to find discrepancies between the system and its original objective, current

specification, and system documentation. The primary concern is the compatibility of individual

modules. Entire system is working properly or not will be tested here, and specified path ODBC

connection will correct or not, and giving output or not are tested here these verifications and

validations are done by giving input values to the system and by comparing with expected

output. Top-down testing implementing here.

Acceptance Testing:

This testing is done to verify the readiness of the system for the implementation. Acceptance

testing begins when the system is complete. Its purpose is to provide the end user with the

confidence that the system is ready for use. It involves planning and execution of functional

tests, performance tests and stress tests in order to demonstrate that the implemented system satisfies

its requirements.

41
Tools to special importance during acceptance testing include:

Test coverage Analyzer – records the control paths followed for each test case. Timing Analyzer

– also called a profiler, reports the time spent in various regions of the code are areas to concentrate

on to improve system performance. Coding standards – static analyzers and standard checkers are

used to inspect code for deviations from standards and guidelines.

7.2 Test Cases:

Test cases are derived to ensure that all statements in the program have been executed at least once

during testing and that all logical conditions have been executed.

Using White-Box testing methods, the software engineer can drive test cases that

• Guarantee those logical decisions on their true and false sides

• Exercise all logical decisions on their true and false sides.

• Execute all loops at their boundaries and within their operational bounds.

• Exercise internal data structure to assure their validity. The test case specification for system

testing has to be submitted for review before system testing commences.

The Objective of Writing Test Cases in Software Testing

 To validate specific features and functions of the software.

 To guide testers through their day-to-day hands-on activity.

 To record a catalogue of steps undertaken, which can be revisited in the event of a bug

popping up.

 To provide a blueprint for future projects and testers so they don’t have to start work

from scratch.

 To help detect usability issues and design gaps early on.

42
 To help new testers and devices quickly pick up testing, even if they join in the middle of

an ongoing project.

Standard Test Case Format

 Test Case ID

 Test Scenario

 Test Steps

 Prerequisites

 Test Data

 Expected/Intended Results

 Actual Results

 Test Status – Pass/Fail

Best practices for well-written test cases

You can use the tips in this section with the list above to create an efficient but thorough workflow.

Let's start with two quick tips:

 Make test cases reusable and maintainable wherever possible. Your needs will vary

depending on the software, application, or specific features you're testing. However, you

can save time and energy by consciously creating test cases that are reusable and easy to

maintain.

 Create test cases with the end user's perspective in mind. Remember throughout the

test case writing process that you're trying to step into the user's place. Aligning your

exploratory testing methods with the user's perspective will help you create efficient and

relevant software application test cases.

43
ADMIN TEST CASE :-

44
Table 3: Test Cases

45
CHAPTER 8

OUTPUT SCREEN

Fig 6: Main Page

Registration page:

Fig 8: Registration page

46
Student page:

Fig 9: Student page

47
Voting management system:

Fig 10: Voting management system

Admin login page:

Fig 11: Admin Login

48
Poll Result:

Fig 12: poll results

49
CHAPTER 9

CONCLUSION
In conclusion, the online voting system represents a transformative leap toward

democratizing and modernizing the electoral process. This innovative approach addresses

longstanding challenges associated with traditional voting methods, offering a more accessible,

efficient, and secure means of civic participation. By leveraging technology, the online voting

system eliminates geographical barriers, providing voters the flexibility to cast their ballots

remotely. The incorporation of advanced security measures, including encryption and

authentication protocols, ensures the integrity and confidentiality of the electoral process,

mitigating risks associated with fraud or tampering.

Moreover, the online voting system enhances the accuracy and speed of the vote-counting

process through automated algorithms, streamlining the overall election procedure. Features such

as voter verification and receipt confirmation contribute to transparency, fostering trust among

voters and reinforcing the democratic principles of fairness and representation.

As societies embrace digital advancements, the online voting system emerges as a pivotal tool

for adapting electoral practices to the expectations of a tech-savvy populace. While challenges

persist, the potential for increased civic engagement, reduced logistical hurdles, and heightened

confidence in election outcomes positions the online voting system as a beacon of progress in

shaping the future of democratic governance. Its continued evolution holds promise for creating

a more inclusive, efficient, and secure electoral landscape for citizens around the globe

50
FUTURE SCOPE

1. **Increased Accessibility:** Continued advancements in technology can further enhance


accessibility, making online voting available to a broader demographic, including those with
disabilities or limited mobility.

2. **Blockchain Integration:** Exploring the integration of blockchain technology could provide


an additional layer of security and transparency, ensuring the immutability of voting records and
minimizing the risk of tampering.

3. **Biometric Authentication:** Implementing biometric authentication methods, such as


fingerprint or facial recognition, can enhance the security of voter identity verification, reducing
the potential for fraudulent activities.

4. **Mobile Voting Applications:** The development of secure and user-friendly mobile


applications can enable voters to cast their ballots conveniently from their smartphones, further
increasing participation.

5. **Remote Identity Verification:** Research into advanced remote identity verification


methods, such as secure digital IDs, could enhance the system's reliability and mitigate concerns
about unauthorized access.

6. **Real-time Results and Analytics:** Leveraging big data analytics and real-time processing
capabilities can provide instant insights into voting patterns, enabling a more dynamic
understanding of public sentiment during elections.

7. **Enhanced Cybersecurity Measures:** Ongoing improvements in cybersecurity measures will


be essential to stay ahead of evolving threats and ensure the continued integrity of the online voting
system.

8. **Global Adoption:** Encouraging international collaboration and standards for online


voting can pave the way for a globalized system, facilitating secure cross-border voting in
various elections.

9. **Public Awareness and Education:** Investing in educational campaigns can help build public
trust in online voting systems, ensuring that voters understand the technology, its benefits, and the
security measures in place.

10. **Legislation and Regulation:** Future developments should involve the establishment of
clear legal frameworks and regulations to govern online voting, addressing privacy concerns,
ensuring transparency, and maintaining the integrity of the democratic process.

51
CHAPTER 10

REFERENCES

Websites:

 www.w3schools.com

 www.geeksforgeeks.com

 www.tutorialspoint.com

 www.youtube.com

Books:
 PHP for the Web: Visual QuickStart Guide

 Modern PHP: New Features and Good Practices

Research Papers:

[1] A. Singh et al., "A new clinical spectrum for the assessment of nonalcoholic fatty

liver disease using intelligent methods", in IEEE Access, no. 8, pp. 38470-13848, 2020.

[2] L. Gaur, U. Bhatia, N. Z. Jhanjhi, G. Muhammad and M. Masud, "Medical image-based

detection of COVID-19 using Deep Convolution Neural Networks", Multimedia Systems, 2021.

Taher M Ghazal and Nasser Taleb, "Feature optimization and identification of ovarian cancer

using internet of medical things", Expert Systems, pp. e12987, 2022.

[3] G. Ghosh et al., "Secure surveillance system using chaotic image encryption technique",

in lOP Conference Series: Materials Science and Engineering, vol. 993, no. 1, pp. 012062,

2020.

52
[4] Manjit Kaur et al., "Flying ad-hoc network: Challenges an routing protocols", Journal of

Computational and Theoretical Nanoscience, vol. 17, no. 6, June 2020.

[5] R. Khaim, S. Naz, F. Abbas, N. Iqbal, M. Hamayun and R. Pakistan, "A review of security

integration technique in agile software development", Int. J. Softw. Eng, vol. 7, no. 3, pp. 49-

68, 2016.

[6] M. I. Khalil, N. Z. Jhanjhi, M. Humayun, S. Sivanesan, M. Masud and M. S. Hossain,

"Hybrid smart grid with sustainable energy effi-cient resources for smart

cities”,Sustainable Energy Technologies and Assessments, no. 46, 2021.

53

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy