Online Voting System

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 31
At a glance
Powered by AI
The document discusses developing an online voting system for IUCO (Iringa University College) using web technologies. It aims to digitize the voting process for elections at the university.

The purpose of the project is to develop an online voting system that will allow registered students at IUCO to login and cast their votes electronically for different candidates in university elections.

The technologies that will be used to develop the system include PHP, MySQL, HTML, and other web technologies. PHP will be used for server-side scripting, MySQL will be used to store voter and election data in a database, and HTML will be used for frontend interfaces.

COPYRIGHT

All rights reserved. No parts of this work may be reproduced or stored in any retrieval system, or transmitted in any form by any means electronic, mechanical, photocopying, recording or otherwise without the prior permission by the researcher or in writing from the Tumaini University, Iringa College (TUICO) on my behalf.

DECLARATION
This is to certify that work, which is being presented in the project entitled IUCO ONLINE VOTING SYSTEM submitted by undersigned students of final year BSCIT in partial fulfillment for award of degree of Bachelor of Science in Information Technology is a record of my own work carried out by me under guidance and supervision of Mr. Josephat Oling, Lecturer, Department of Computer Information Technology.

This work has not submitted elsewhere for award of any other degree.

STUDENT NAME JAMAL KHAN

SIGNATURE .......................

SUPERVISOR NAME MR.OLING

SIGNATURE ....................................

ii

ACKNOWLEDGEMENT
The satisfaction that accompanies the successful completion of any task would be incomplete without the mention of people whose ceaseless cooperation made it possible, whose constant guidance and encouragement crown all efforts with success. I am grateful to my project supervisor Mr. Josephat Oroma Oling for the guidance, inspiration and constructive suggestions that helpful me in the preparation of this project. My sincere thanks go to my pretty wife to be (Neema Mality) who was there to support me in both ways (socially, economically and academically) during the development of my project. I also thank our colleagues who have helped in successful completion of the project.

iii

LIST OF ABBREVIATIONS AND ACRONYMS


PHP UoI GUI PK FK SQL PHP Hypertext Preprocessor University of Iringa Graphical user interface Primary Key Foreign Key Structural Query Language

iv

Contents
COPYRIGHT ................................................................................................................................... i DECLARATION ............................................................................................................................ ii ACKNOWLEDGEMENT ............................................................................................................. iii LIST OF ABBREVIATIONS AND ACRONYMS ...................................................................... iv CHAPTER ONE: INTRODUCTION ............................................................................................. 1 1.1. IUCO online voting system ................................................................................................. 1 1.2. Scope .................................................................................................................................... 1 1.3. Technologies to be used ....................................................................................................... 1 1.4. Overview .............................................................................................................................. 2 1.5. Project Objectives ................................................................................................................ 2 1.6. Purpose of the project .......................................................................................................... 3 CHAPTER TWO: FEASIBILITY STUDY................................................................................... 4 2.1. Technical feasibility ............................................................................................................. 4 2.2. Operational Feasibility ......................................................................................................... 6 2.3. Schedule feasibility .............................................................................................................. 6 CHAPTER THREE: TECHNICAL DESIGN ................................................................................ 7 3.1. Requirement collection ........................................................................................................ 7 3.1.1. Functional requirement of the system ........................................................................... 7 3.1.2. Non functional requirement .......................................................................................... 8 3.1.3. Communication interface: ............................................................................................. 9 3.1.4. Data Flow Diagram ..................................................................................................... 10 CHAPTER FOUR SYSTEM DESIGNING AND TESTING ...................................................... 12 4.1. System Architecture ........................................................................................................... 12 4.2. Detail Database Designing ................................................................................................. 13 4.2.1. Entity Relationship Diagram....................................................................................... 13 4.2.2. Class diagram-: ........................................................................................................... 14 4.3. Interface Design ................................................................................................................. 15 4.4. Security .............................................................................................................................. 15 4.4.1. Validation of user ........................................................................................................ 15 4.2.2. Database Security........................................................................................................ 15 4.5. Testing................................................................................................................................ 15 4.5.1. Module and system Testing ........................................................................................ 16 4.5.2. System Testing ............................................................................................................ 16 v

4.6. Training .............................................................................................................................. 16 CHAPTER FIVE: PROBLEMS, RECOMMENDATIONS AND CONCLUSION .................... 17 5.1. Problems faced ................................................................................................................... 17 5.1.1 Time ............................................................................................................................. 17 5.1.2 Shortage of electricity .................................................................................................. 17 5.2. Recommendations .............................................................................................................. 17 5.3. Conclusion ......................................................................................................................... 17 APPENDIX A: USER MANUAL ................................................................................................ 19 A.1. Requirement of Tools: ...................................................................................................... 19 A.2. How to use the application: ............................................................................................... 19 APPENDIX B: SYSTEM INTERFACES .................................................................................... 20 B.1 The home page ................................................................................................................... 20 B.2 The login page .................................................................................................................... 21 B.3 The voting page .................................................................................................................. 22 B.4 Official Ballot page ............................................................................................................ 23 B.5 Thanks for voting page ....................................................................................................... 23 B.6 voting once page................................................................................................................. 24 APENDIX C: REFERENCES ...................................................................................................... 25

vi

CHAPTER ONE: INTRODUCTION


1.1. IUCO online voting system
In traditional elections, a voter usually goes to the voting stations. After direct person-person verification with some IDs, the voter is allowed to vote. The voter is then given a ballot which allows a single vote. Once the ballot is used, it cannot be used again. However, this ballot must also be anonymous. The ballot must identify the voter as being permitted to vote, but not reveal their actual identity, and the voter must also be given assurances of this. Traditional polling methods trust a lot of parties during the election. The current methods require an attacker interact directly with the voting process to disrupt it. There is a greater chance of getting caught as there will be physical evidence in the traditional polling. But in ONLINE VOTING SYSTEM voters can use their right to vote online without any difficulty. Voters must be the registered students only. All the entries are checked by the DATABASE which has already had all information about the voter. If all the entries are correct then a USER ID and PASSWORD is given to the voter, by using that ID and PASSWORD voters can use them to vote.

1.2. Scope
There is a DATABASE which is maintained by the Student Organization Commission for election in which all the names of the voters with complete information is stored. So, the system will be conducted in Tumaini Universitys intranet or to the link given in the universitys website.

1.3. Technologies to be used


This project is a Web application; it is developed in PHP having Database Design (My SQL) Form Design (HTML 4.0) Coding (PHP) Testing (XAMPP SERVER) Reporting Tool (Data Report).

1.4. Overview
The project maintains two levels of users: Administrator Level Voter Level Maintaining voters Identification. Providing online voting management. Providing Updating of voters information. Provide voter information to Student Organization Commission for election. Student Organization Commission for election maintains the complete information of voter. Voters can give their vote to any candidate they wish to vote for.

Main facilities available in this project are:-

1.5. Project Objectives


The following are the objectives of the project; The objective of Online voting system is to help the organization in automating the whole manual processing of the existing system. The main objective of the system is to make the accurate & efficient decisions in different tasks at different time at different situations. The existing system is manual so members of the unit generally face a lot of embarrassing situations many times. Now they need to automate the whole process so as to make it more easy and accurate. System should support multi-user environment. System should be fully automated. System should provide concrete security features like creating users and assigning privileges to users of the system. System should be capable to keep track of all the detailed descriptions of the client and the whole details of services offered by the client organization. Various outputs (reports) should be available online any time. System should be able to handle extremely large volumes of data (i.e. large database support). 2

1.6. Purpose of the project


The purposes of this project are; Easy to Operate: - The system should be easy to operate and should be such that it can be developed within a short period of time and fit in the limited budget of the user. Immediate storage of information: - In manual system there are many problems to store the largest amount of information. Immediate retrieval of information: - The main objective of proposed system is to provide for a quick and efficient retrieval of information. No Redundancy: - In the proposed system utmost care would be that no information is repeated anywhere, in storage or otherwise. This would assure economic use of storage space and consistency in the data stored. Reliability: - The reliability of the proposed system will be high due to the above stated reasons. The reason for the increased reliability of the system is that now there would be proper storage of information. Accuracy: - The level of accuracy in the proposed system will be higher. All operation would be done correctly and it ensures that whatever information is coming from the center is accurate.

CHAPTER TWO: FEASIBILITY STUDY


Depending on the results of the initial investigation the survey is now expanded to a more detailed feasibility study. FEASIBILITY STUDY is a test of system proposal according to its workability, impact of the organization, ability to meet needs and effective use of the resources. It focuses on these major questions: 1. What are the users demonstrable needs and how does a candidate system meet them? 2. What resources are available for given candidate system? 3. What are the likely impacts of the candidate system on the organization? 4. Whether it is worth to solve the problem? During feasibility analysis for this project, following primary areas of interest are to be considered. Investigation and generating ideas about a new system does this. Steps in feasibility analysis Seven steps involved in the feasibility analysis are: Prepare system flowcharts. Enumerate potential proposed system. Define and identify characteristics of proposed system. Determine and evaluate performance and cost effective of each proposed system. Weight system performance and cost data. Select the best-proposed system. Prepare and report final project directive to management.

2.1. Technical feasibility


A study of resource availability that may affect the ability to achieve an acceptable system. This evaluation determines whether the technology needed for the proposed system is available or not. Can the work for the project be done with current equipment existing software technology & available personal? Can the system be upgraded if developed? If new technology is needed then what can be developed?

This is concerned with specifying equipment and software that will successfully satisfy the user requirement. The technical needs of the system may include:

Front-end and back-end selection An important issue for the development of a project is the selection of suitable front-end and backend. When we decided to develop the project we went through an extensive study to determine the most suitable platform that suits the needs of the organization as well as helps in development of the project. The aspects of our study included the following factors. Front-end selection: 1. It must have a GUI that assists employees that are not from IT background. 2. Scalability and extensibility. 3. Flexibility. 4. Robustness. 5. According to the organization requirement and the culture. 6. Must provide excellent reporting features with good printing support. 7. Platform independent. 8. Easy to debug and maintain. 9. Event driven programming facility. 10. Front end must support some popular back end like Ms Access. According to the above stated features I selected PHP as the front-end for developing my project. Back-end Selection: 1. Multiple user support. 2. Efficient data handling. 3. Provide inherent features for security. 4. Efficient data retrieval and maintenance. 5. Stored procedures. 6. Popularity. 7. Operating System compatible. 5

8. Easy to install. 9. Various drivers must be available. 10. Easy to implant with the Front-end. According to above stated features I selected MY SQL as the back-end. The technical feasibility is frequently the most difficult area encountered at this stage. It is essential that the process of analysis and definition be conducted in parallel with an assessment to technical feasibility. It centers on the existing computer system and to what extent it can support the proposed system.

2.2. Operational Feasibility


It is mainly related to human organizations and political aspects. The points to be Considered are: What changes will be brought with the system? What university structures are disturbed? What new skills will be required? Do the existing students have these Skills? If not, can they be trained in due course of time? The system is operationally feasible as it very easy for the End users to operate it. It only needs basic information about Windows platform.

2.3. Schedule feasibility


Time evaluation is the most important consideration in the development of project. The time schedule required for the developed of this project is very important since more development time effect machine time, cost and cause delay in the development of other systems. A reliable Online voting system can be developed in the considerable amount of time

CHAPTER THREE: TECHNICAL DESIGN


3.1. Requirement collection
ONLINE VOTING SYSTEM is a voting system by which any voter can use his\her voting rights to vote from anywhere in the world. ONLINE VOTING SYSTEM contains-:

Voters information in database. Voters Names with ID. Voters vote in a database. Calculation of total number of votes.

Various operational works that are done in the system are:

Recording information of the Voter in Voter database. Checking of information filled by voter. Discard the false information.

3.1.1. Functional requirement of the system 3.1.1.1 Input to the system The system provides interfaces with the following; a. The system enables students to login themselves to the system before starting choosing a candidate whom they wish to vote for. b. The system provides a home interface where users (i.e. even not registered) can view updates going on different positions of candidates in the election. c. The system provides a voting interface where users can see the candidate for president, vice-presidents and Faculty representatives according to their faculties. d. The system needs the students to confirm the selected candidate before making a vote on a wrong candidate. e. The system rejects students from cheating by not allowing them to vote twice.

3.1.1.2 Output from the system a. The system has the ability to give out updates on what is going on election and also to provide total votes in terms of numbers and percentage bar. 7

3.1.1.3 Requirements processed by the system The system responds with message windows including dialogue for various operations that the user must be dealing with it.

3.1.2. Non functional requirement a. Secure access of confidential data (users details). SSL can be used.

b. 24 X 7 availability. c. Better component design to get better performance at peak time. d. Flexible service based architecture will be highly desirable for future extension.

e. The system is able to operate in Windows NT operating system and later version. (Operating environment). f. The system provides a consistent user interface, menus and commands across all parts of the application to assist new users in getting up to speed. This is particularly important where public authorities have areas of high-staff turnover (Usability). g. The system provides means to secure data/information whenever any disaster happens (Back up/Recovery).

3.1.3. Communication interface:

HTML Client

Client side

Application server

Database server

The above diagram shows the connectivity between the client side, application server and database server. The client or customer can access the HTML server or client software. These are connected to the Xampp Server (XAMPP) by a TCP/IP which is a communication protocol used to connect the teachers or parents to the internet. This XAMPP Server now directly communicates with the database made in MYSQL. All the queries or data will be retrieved from the database.

3.1.4. Data Flow Diagram 3.1.4.1 Data Flow Diagram Level-0

User Or Administrator

System

Output

The above diagram is a 0-level DFD that only shows the flow of data between the various and the system. In online voting system the Administrator is the controller of the system and all the decisions are made by him. The Administrator can handle the entire voter and their details, voting details etc. and view details of them and he can update those details.

10

3.1.4.2 Data Flow Diagram Level-1

Login Process

Voter Registration Process

Voter information checking process

Voting Process

Final Report

The above shown diagram is a 1-level Data Flow Diagram for the online voting system. According to this DFD various process are done after login process. The Administrator can register voter. The Administrator can register the voters and voter can use their voting rights to vote for any candidate they wish to vote for. The voter can view the final report after giving vote.

11

CHAPTER FOUR SYSTEM DESIGNING AND TESTING


4.1. System Architecture
The system is designed using multi tier architecture i.e. three tier model as shown in figure below.

The three tier model involves three layers which are: Presentation layer This layer, which communicates with the application layer through a client API, performs data layout and formatting actions. The Classification Module includes C, COM, and Java client APIs. In addition, applications can interact with the system by using the SOAP protocol. For example, the Classification Module might be included as a Web reference in any .NET application. In most cases, you develop your own presentation layer that fits in with the rest of your application suite.

Application layer This layer, which is the core of the system, provides various services, such as language analysis, instance pooling of knowledge bases, and management of the distribution of

12

tasks across computers. It is accessed through client APIs that are provided for writing client code that communicates with the system.

Data layer This layer is responsible for storing configuration information. The system stores its data in a dedicated data server, which is installed with the Classification Module core components.

4.2. Detail Database Designing


4.2.1. Entity Relationship Diagram

Admin.

Registration

Fail

VOTER

id Login
VOTING

Pass

Voting Report

Report View 13

Fig - E-R Diagram The entity relationship diagram shows the relationship between the various users and their attributes. There is a relationship between the election commission and voter.

The VOTER has different attributes to store their data to data base are follows: Name-Name contain first name, middle name, last name. Registration number that act as username Faculty Year of study Password

4.2.2. Class diagram-: The following entities have been realized with the system. The database called onlinevoting with the following entities and fields;

14

4.3. Interface Design


The interface is the presentation layer placed on the client side. A number of technologies can be used to construct interfaces a bit fast. In this project, PHP is used which consists of many components. Reasons for using PHP as the tool to develop interfaces involve the following; 1. It is customizable. It assists in a cheap manner to create objects and commands, and modify keyboard shortcuts. 2. It is open source and therefore even its technical support can be easily obtained.

4.4. Security
IUCO online voting makes use of various security means such as validation and authentication as can be described here below. 4.4.1. Validation of user System users in this case students and administrator(s) are given usernames and passwords on which they can use to get access of the system according to their authorizations. This is made possible as each user input is checked first before allowing the user to get access. Also only authorized users can be directed to the appropriate pages on which they have access to.

4.2.2. Database Security Apart from the pages security, the database itself provides system authorization which is flexible allowing some or all database privileges (for example, the privilege to create a data or delete data insert data to the database, modify data) to specific users or groups of users and passwords are encrypted.

4.5. Testing
This is the last stage of the system development. With this step, though the system was not tested online if working, but tactically the off work test was performed to identify errors as well as 15

make corrections in case of any errors before it reach to the users. The test phase is done via two means or sub stages as can be described below. 4.5.1. Module and system Testing With this, each module was tested individually making sure each module is working properly. And this in fact was always performed soon after the completion of the module.

4.5.2. System Testing After developing a number of modules, the modules were integrated and then tested to identify if there is any malfunctioning of the integrated units as well as any errors that could have been generated. This is the point where if the system have no errors to launch ready to be used as intended i.e. deploying.

4.6. Training
Upon deployment, no need of training to administrators or other system users as the system is simple and self demonstrating for everyone to make application of it. However, to use the system it requires basic computer knowledge.

16

CHAPTER FIVE: PROBLEMS, RECOMMENDATIONS AND CONCLUSION


5.1. Problems faced
I have across with some problems that affect my project; some of those problems are; 5.1.1 Time Time become one of the problem I faced because I had a less time compared to what I should do. 5.1.2 Shortage of electricity During the development of my project, electricity black out become a serious problems to the development of the project because it was happened like everyday, so because of that it hinder the development of the project.

5.2. Recommendations
The time used to develop and conduct the project is too small compare to the actual time required to accomplish the all project depending on the user needs and resource needed.It is recommended that course of IT security should be shifted to fifth semester and leave the sixth semester for accomplishing the project only. As a recommendation, a number of projects have been performed by various scholars and are not yet finished. It is recommended that they should be given to other students who wish to perform project on similar aspects and therefore develop the project from where it ends so we can at most come and have real products as the work of students as compared to the present situation.

5.3. Conclusion
This Online Voting system will manage the Voters information by which voter can login and use his voting rights. The system will incorporate all features of voting system. It provide the tools for maintaining voters vote to every faculty and it count total no. of votes of every faculty. There is a DATABASE which is maintained by the ELECTION COMMISION OF TUMAINI in which all the names of voter with complete information is stored. 17

In this users should be the registered student whos their informations are on the database and when they want to vote they has to login by their registration number and password and can vote to any candidate only single time. Voting detail store in database and the result is displayed by calculation. By online voting system percentage of voting is increases. It decreases the cost and time of voting process. It is very easy to use and it is vary less time consuming. It is very easy to debug.

18

APPENDIX A: USER MANUAL


A.1. Requirement of Tools:
This application is mounted on the Internet, to user has to make sure that the machine, which he is using, is connected to Internet through Lease Line, Telephone line or Cable. Also, Microsoft Internet Explorer 4.0 and above or Netscape Navigator 4.74 and above must be installed on the machine.

A.2. How to use the application:


To use the application the user has to give the URL into the address bar of the browser and press the Enter key. Then, user gets the homepage of the portal or the user can use hyperlink on the College main website.

19

APPENDIX B: SYSTEM INTERFACES


B.1 The home page

20

B.2 The login page

21

B.3 The voting page

22

B.4 Official Ballot page

B.5 Thanks for voting page

23

B.6 voting once page

24

APENDIX C: REFERENCES
Luke Welling and Laura Thomson. 2001. PHP and MySQL Web Development. Hevner, March, Park & Ram (2004): Design Science in Information Systems Research. MIS Quarterly, 28(1), 75-105. Pearson Custom Publishing & West Chester University, Custom Program for Computer Information Systems (CSC 110), (Pearson Custom Publishing, 2009) Glossary p. 694

John Duckett. 2004. Wiley Publishing. Beginning Web Programming with HTML, XHTML, and CSS. Rainer, R. Kelly and Cegielski, Casey G. 2009. Introduction to Information Systems 3rd Edition. Kroenke, David. 2008. Using Management Information System 2nd Edition.

Cristian Darie, Brinzarea Bogdan, Filip Chereche-Toa, Mihai Bucica. 2006. AJAX and PHP. Building Responsive Web Applications. Ewald, Laura A. 2006. Two information literacy standards address manageable comprehensive research at the master's level in organizational communication. Kentucky Library Assocation.

25

You might also like