Online Voting System Final
Online Voting System Final
Online Voting System Final
PROJECT PROFILE
Page 1
PROJECT PROFILE
Online Employment System It is a Online Voting System which deals with the Voting system where Voters, Electoral and Admin three main modules are managing the system and the process of voting is done very secure and efficiently. 2 Mr. P.H Dave Assistant Professor, Computer Engineering Department, Faculty of Technology, Dharmsinh Desai University, Nadiad, Gujarat. Windows 7 Microsoft .NET Framework 3.5 ASP.NET with C# 2008 Microsoft SQL Server 2005, Ajax JavaScript Object Oriented System Development Microsoft Visual Studio 2008 MS Expression Web 2.0 MS Visio 2007 MS Word 2003 Adobe Photoshop 7
Page 2
PROJECT PLANNING
Page 3
The electoral process has evolved over the years, the first election system where mainly enacted through the use of paper ballots. The voter would go to a polling station and cast a vote for their choose candidate for a particular role in government or society. With the growth and expansion in technology new ways where sought to handle the electoral process such as electronic voting. Electronic voting is the use of computers or computerized equipment to cast votes in an election. Any vote collection system that could be manipulated to affect the outcome of elections, could potentially pose a threat to the election as a whole. Therefore electronic voting systems can be considered safety critical .This term could be used more specifically to voting that is carried out through the internet, telephone, optical scan etc.
Page 4
There are different types of electronic voting systems which are being used globally at the current period. Due to the impact of the internet, voting has been made easier to the voters. The types of electronic voting used at the present time are stated below. 1] Punch Card Voting System A punch card is a storage medium made of thin cardboard stock that holds data as patterns of punched holes. Each of the 80 or 96 columns holds one character. The holes are punched by a keypunch machine or cards punch peripheral and are fed into the computer by a card reader. With punch card voting, voters create holes in prepared ballot cards to indicate their choice of candidate. 2] Direct Recording Electronic Voting System (DRE) Direct Recording Voting machine are computerized voting machines that are used to count votes that are cast internally on the machine. These machines require the voter to use a keyboard, pointer or touch to mark their vote on a computer terminal. The DRE voting machines take the form of an ATM shaped box; usually the terminal consists of graphic images which guide the voter through the voting process. DRE systems are often favored because they can be embedded with assistive technologies for handicapped people, which would permit them to vote without the involvement of other people. The DRE system can also be configured to provide feedback on the validity of a particular ballot so that the voter can have an opportunity to correct problems if they are noticed. 3] Telephone Voting Telephone voting allows people to call different telephone numbers to indicate preference for different options, or a voter might call the number and indicate a preference by pressing buttons in a menu system. Its main drawback is the difficulty in verifying the identity of the voter and in permitting only one vote per person. Its chief advantage is the ease in getting people to participate.
Page 5
Page 6
PLANNING
Page 7
Admin Features
Collect the Vote online Can generate the voting result Can view and send the voting result via email to the voters and electoral Add /edit / view profile of voters Add/ edit / view profile of Members Add /edit / view votes Add / edit/ view Feedback Set Themes and Set the environment of the website Admin can inform the voters for voting schedule Admin can secure(ENCRYPTED PASSWORD) log-in and log-out to his/her account Admin can show the result on home page
Other features:
Login Forgot password Register. Logout
Page 8
Voter
Voter can register, see the details of the Electoral Members, Login, can vote to any one Electoral Member, send Feedback to admin, can view the result when the result is displayed by the admin, can see the election rules online on the webpage and cam manage their profile.
Electoral Member
Electoral Member can register, can advertise on the homepage, Member can upload their members photos and sign of the party, can set the details of the party, and manage their profile
Admin
Admin can set different operation like forget password, new user Add /edit / view votes, Add/ edit / view Electoral Members Profile, Add /edit / view Voters Profile, Add / edit/ view Feedback, Set Themes and Environment of the whole Website, can set the Time and Schedule the Election Program, can Authenticate the Voters and Members
Page 9
So much Paper work Process is much time consuming Extra expense in paper work and other facility at voting process If any problem occurs during election schedule then we cannot achieve our target and we have to change schedule It is a time consuming process so computer Literary persons cant vote sometimes cause of their busy schedule Chances of mishandle or error in manual voting Cumbersome filling and retrieval due to the incomplete source of information Too much difficult to share resources with fellow centers Increase the staff in test taken place and wasting of their precious time
Page 10
SYSTEM ANALYSIS
Page 11
Photoshop 7, Microsoft Office 2003, All these resources including the Personal Computer and important tools are available in the Company Resources. Schedule Feasibility Different amount of time may be required for each stage in the project cycle, depending on the particulars of the key aspect of the project cycle seem to recur during development process. The information obtained during the requirement gathering of pre-development phase provide the impetus for the requirement analysis and the information is further used in the design phase Task Learning Technology Analysis (SRS Review, Requirement Study) Design (Object Design, Access Layer Design , UI Layer Design) Coding Testing Implementation Documentation Duration 15/12/11 to 2/1/11 26/12/11 to 30/1/11 2/2/11 to 13/2/11 16/2/11 to 20/3/11 9/3/11 to 27/3/11 30/3/11 to 30/3/11 5/1/11 to 3/4/11
Page 12
The operational feasibility is done to define the urgency of the problem and the acceptability of our solution. The following contrast between the systems proves the objectives of the operational feasibility with respect to our system.
The following the PIECES framework to perform in the operational feasibility:P: Performance
Problem: The System need to perform quick transaction according to different Criteria. And also add the new user and assigned the role and privileges according the requirements. Thus need to quickly perform the transaction
Solution: Using Ajax, we can enhance the performance of quick search so that searching time is minimized. By using Microsoft SQL Server 2005 we can enhance the performance as the Stored Procedures are precompiled so time to perform the transaction is minimized.
I: Information
Problem: The need of the system is generate various reports for all modules, and also directly sent auto generated report to the members
Nikunj Patel [CE-86] Nitan Patel [CE-87] Page 13
Solution: By using the effective coding optimization we can satisfy this request and able to sent the mail by storing the information of the respected user and also generate various reports online generated by crystal report tools so that user can see reports at any time.
E: Economy Problem: The system need to reduce cost to maintain data manually at different places. Solution: Online Voting system effectively solves the problem by storing the data in SQL Server 2005 which stores data at central location. In system we provide day to day backup facility, which is help to reduce cost and increase profit of the company. C: Control Problem: There is need to of Centralize control of the Overall System and provide security and performance optimization transaction to be done by the Admin only. Solution: In Online Voting system, each group is given the access right which will be responsible for any irrelevant information so system will be more secured. E: Efficiency Problem: The current system should be efficient in terms of maximum use of available resources including manpower, time, flow of forms, etc. Solution: In Online Voting system is more efficient by putting less effort on changing and managing the content, which will in turn affect to the maximum utilization of resources. S: Service Problem: The need to provide the view of the different voters, members, votes, feedback so in System we can easily add any other module.
Page 14
Page 15
The .NET Framework 3.5, includes more useful additions. Alongside this evolution, Microsofts flagship tool for creating .NET applications has also moved forward. The latest release, Visual Studio 2008, offers a range of improvements for creating .NET applications. Every step in this path has been aimed at providing a better and more productive environment for the people who create Windows software.
Page 16
Page 17
ASP.NET is a compiled, NET-based environment; you can author applications in any .NET compatible language, including Visual Basic .NET, C#, and JScript. Additionally, the entire .NET Framework is available to any ASP.NET application. Developers can easily access the benefits of these technologies, which include the managed common language runtime environment, type safety, inheritance, and so on.
Developers can use Web Forms or XML Web services when creating an ASP.NET application, or combine these in any way they see fit. Each is supported by the same infrastructure that allows you to use authentication schemes; cache frequently used data, or customizes your application's configuration, to name only a few possibilities.
Page 18
ASP.NET is one of the todays most popular technologies for creating Web-based applications. AJAX is becoming a dominant approach for designing those applications. These two realities imply that ASP.NET AJAX will be one of the most widely used parts of the .NET Framework 3.5. The figure below illustrates the two main components of this technology.
Page 19
The database component of Microsoft SQL Server 2005 is a Structured Query Language (SQL)based, scalable, relational database with integrated Extensible Markup Language (XML) support for Internet applications.
Maintaining relationships between data in the database. Ensuring that data is stored correctly and that the rules defining data relationships are not violated. Recovering all data to a point of known consistency in case of system failures.
Page 20
I. Softwares II. Platform Server Operating System :Windows Server Front-End Back End Web servers Technology Programming Language Designing Scripting :::Asp. Net 3.5, Html, AJAX Microsoft SQL Server 2005 IIS 6.0
III. Hardware Configuration PIV 1GHZ 2 GB MB RAM 500 GB Hard Disk 52x Max DVD-RW Mouse Keyboard
Page 21
SYSTEM DESIGN
Page 22
Voter
View
Edit
Delete 1 1
Administrator
Electoral Member
Result
* extends
extends
On Homepage
* * Logout
USECASE OF
Page 23
Registration * *
Login * *
Add Details * ** *
Edit Details
Delete Details
* * * *
* *
Voter
Participate in Voting
* extends
Result extends
On homepage
* Logout
Page 24
Registration * *
Login * *
Add Details * ** *
Edit Details
Delete Details
* * * *
* *
Voter
Participate in Voting
* extends
Result extends
On homepage
* Logout
Page 25
Login * *
Delete Details
* * * * ** * Schedule election *
* * *
System
* extends
Result extends
On homepage
* Logout
Page 26
Vote Server used -Votes polled : int -Status of vote : string +Authentication() : int +Count_Vote() : long +AskSecurityQuestion() : void * -Sending Status
* Profile -Name : string -Age : int -Address : string +Create_Profile() : bool +Update_Profile() : bool +View_Profile() : byte has Voter -LoginID : string -VoteID : string -Password : string +CastingVote() : bool +ViewResults() : void
Page 27
Registration
Login
View Profile
Cast Vote
Ackoledgement
Declare Result
View Result
Page 28
Top Package::Voter
7. Ak n
ow
le
dg
em
en
Page 29
Top Package::Voter
Top Package::Server
Voter
Server
Authentication Process
Email Client
Enter Login id
Verification
Cast Vote
Send Acknowledgement
Page 30
call on Election
Create Profile
/ no
/ Check Consitency
/ Yes
Login
/ Yes
/ Check Accessbility
/ Check validity
Cast Vote
Send Acknoledgement
View Profile
Update Profile
Declare Result
Page 31
ER DIAGRAM
Page 32
Page 33
DATA DICTIONARY
Page 34
Page 35
ADMIN TABLE
Page 36
CITIZEN TABLE
Page 37
Page 38
Page 39
Page 40
Page 41
FEEDBACK TABLE
Page 42
Page 43
Page 44
Page 45
SETTING TABLE
Page 46
SYSTEM IMPLEMENTATION
Page 47
Page 48
VOTER MODULE:
In this module, first of all voter has to register him/herself via online registration form, after that admin has to check the voter detail and authenticate that voter, voter receive the voter id and temporary password to login in the system. Voter can edit, delete and add his/her detail after login and update their profile. Even more voter can see all the information of electoral member who participate in the election process. After successfully submitted the information about the voter and completed the profile management, voters duty to vote the electoral member as per his choice. Voter also can get the result by two methods, by email and on homepage of the website. The result can review by electoral member and voting zones and by distinct data attributes. Voters login is strictly prohibited after the define timeline. After that time voters cannot login in their profiles.
Page 49
The electoral member has to register themselves after the notification given by admin. They can make profile online and update, add and delete their information. One more step here is included that electoral member can upload their profile picture as well as their party symbol too. They have to wait for the election date and electoral member themselves can vote so after the voting process they can get the result online on the homepage and in their email account too. And electoral member can advertise themselves on the homepage, via authenticated by the admin.
Page 50
ADMIN MODULE:
The main role of this system is admin; admin has the highest responsibilities, like contents management, web design management and members managements too. Admin can prepare the result of the election. And send the result to the members. The detail of the admin is defined in the scope.
Page 51
Permit users to gain access and utilize information conveyed on the website to be implemented. Enable secure form of authenticating users who would like to gain access into the voting system. Enable a secure mode of communication between the client and server. Permit the system administrator to access and manipulate system users information. Permit system administrator to dynamically add candidates to be voted for in the system. Permit voters to login to the system and vote for their chosen candidate. Restrict voters from voting more than once. Permit a limited number of graphical images on website.
Page 52
Non-Functional Requirements
The website to be created efficiently utilizing the system resources such as bandwidth, memory etc. Implement a comprehensive, adjustable and maintainable voting system. Implement a well presented and structured website, which is clearing visible to users. Ensure system development and coding is well documented for future use.
Page 53
SCREENSHOTS
Page 54
Voter profile
Page 55
Voter profile
Page 56
HOMEPAGE
Page 57
ADMIN LOGIN
Page 58
Page 59
Page 60
Page 61
Page 62
Page 63
Page 64
Page 65
Page 66
Page 67
Page 68
Page 69
Page 70
Page 71
Page 72
Page 73
Page 74
Page 75
SYSTEM TESTING
Page 76
System Testing
In order to ensure that the system works perfectly, it has to be rigorously tested. The testing procedure would be used to check all the features developed for the online voting system work efficiently, the test procedure would also be used to identify any hidden errors or deficiencies the system may possess. In order to conduct an efficient testing process on the system, a suitable testing procedure has to be utilized. In choosing an appropriate testing strategy to use, some considerations have to be reviewed in terms of the size and complexity of the system to be tested.
Test Strategies
There is a number of testing strategies that can be utilized to conduct adequate testing processes; the black box and white box testing methods are the most popular methods used to test software developed systems.
Page 77
This testing strategy which is also known as functional testing is used by a tester who has no knowledge of the internal structure of the system. The tester does not test the programming code itself but instead performs the test based on previously understood requirements. This form of testing is usually conducted by the end user, who would enter an input into the system and check for an expected output. The advantage of using black box testing is that the test can be done by the users of the system, without them needing to have prior knowledge of the systems code.
Page 78
Test Plan
In order to efficiently test the full functional capability of the online voting system, a test plan has to be created. The test plan created would break the testing processes in order to tackle any malfunctioning feature of the online voting system. The testing process would focus on testing the systems server, database server and web pages on different web browsers. This test has to be carried out to ensure that the system would be able to function on any web browser utilized by the systems users. The testing process would focus on the system login authentication features; this is an integral part of the system, because it ensures security of the system is upheld again unauthorized access. A test would be carried out to check if the password being utilized is encrypted and decrypted. The systems form validation would also have to be tested to ensure the error message to be presented to the user if the forms are not filled correctly is functioning appropriately. The system database engines which connect the application to the database system have to be tested to ensure that information being retrieved from the users are populating the database system
Page 79
Test Cases
Process Name: Testing Strategy: Test Cases Test Case TEST DATA Large no of users Expected O/P System should not get slow. Actual O/P System should not get slow. Done Yes Logging large no of users. Black Box
Check system valid response when more than 200 users logged in the system.
Test Cases Process Name: Testing Strategy: Test Cases Test Case Size of table should increase by 10 percent if it is full. TEST DATA valid Large no of records are added. Expected O/P New record must be added. Actual O/P New record must be added. Done Yes Inserting large no of records. Black Box
Page 80
Expected O/P Account is Logged out. User cant login again. Cant login. Account is Logged out.
Actual O/P Account is Logged out . User cant login again. Cant login. Account is Logged out.
Done Yes
invalid
Page 81
Process Name: Testing Strategy: Test Cases: Test Case Enter Email Id
TEST DATA valid invalid New unique User id Null in User Id Correct password Less than 6 characters
Expected O/P New User created New User not created New User created New User not created
Actual O/P New User created New User not created New User created New User not created
Done Yes
Insert Password
valid invalid
Yes
Process Name: Testing Strategy: Test Cases: Test Case Enter Email Id
Done Yes
Page 82
Page 83
Message sent Message successfully sent successfully Display alert to Add recipient Email Id Display alert to Add recipient Email Id
invalid
Enter Subject
valid
Subject mentioned Subject not mentioned Text mentioned Text not mentioned
Message sent Message successfully sent successfully Display alert to enter subject Display alert to enter subject
Yes
invalid
valid
Message sent Message successfully sent successfully Display alert to enter text in body part Display alert to enter text in body part
Yes
invalid
Page 84
FUTURE EXTENSION
Page 85
Future enhancement
A lot of work could be done to enhance the security features of the present system. The system at the moment permits voters to choose their own passwords when they are being registered by the administrator, it would be more secure to develop a password generator facility which would create a unique password for each voter at random. The passwords would then be emailed to each voter through the use of the email address provided. The system could also be enhanced by displaying the voting result through the use of 3D graphs, which would help the administrator and elections analysts in reviewing the voting results. Due to time constraints these ideas where not brought to light in the project.
Page 86
CONCLUSION
Page 87
Conclusion:
This chapter will discuss the development of the entire system as a whole. It will give an insight into the general procedures that were taken to accomplish the project. It will also discuss the aims and objectives of the initial proposal that where and the objectives that could not be accomplished. It will cover the drawbacks the project possesses and the necessary work that can be used to enhance the system in the future.
Page 88
Project Overview
The main project objective was to build a secure online voting system, which would be used by the students of the University of Westminster of the student union elections. The aim of the project was to convert the current use of paper based voting to an electronic form of voting, which would enable voters to vote remotely from any location through the use of the internet. Research was carried out on the different forms of online voting systems that currently exist, noting their features, and how to influence the participation of voters to an election. Various forms of server side technologies where investigated in order to choose the right programming language to use for the development of the online voting system. Security issues that may affect the integrity of the online voting system where addressed and counter measures on how to project the systems security where researched. A number of software development methodologies where reviewed, upon careful consideration, the waterfall methodology was chosen as the most appropriate development method to use for this particular project. During the design and development of the system, the main effort was focused on designing and developing the system to achieve a solution based on the concepts of the system proposal. This phase provided a clear description of how the system was to be created. The main emphasis was on creating an intuitive user interface for retrieving information, querying the database by the use of java classes and scriplets and ensuring security was of top priority. The testing phase of the project was used to rigorously exercise the system to expose any deficiencies and short comings which the system may have possessed. The results of the test showed if they system was ready to be delivered to its end users. The system created met its objectives, by being simple to use and secure, which was important due to the fact that it would be used for the student union electoral process.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 89
Problems Encountered
Problems where encountered mainly in the development process of the online voting system. Setting up the server and configuring the server. Gaining access into the database, using the SQL Bridge yielded a lot of problems, the SQL engine created for accessing the database lacked two parameters for the username and password, once this was discovered in the code, the problem was resolved.
Page 90
BIBLIOGRAPHY
Page 91
BIBLIOGRAPHY
01] www.google.com 02] www.bing.com 03] Study work of Research paper on online voting system 04] forums.asp.net/t/1371400.aspx/1 05] Beginning ASP.NET 3.5: In C# and VB 06] http://www.msaccess.databasecorner.com 07] http://www.answers.com/topic/cryptography?method=22 08] Simon Bennett, Steve McRobb, Ray Farmer, (1996), Object-Oriented System Analysis and Design Using UML 09] http://en.wikipedia.org/ 10] EBooks on Microsoft ASP.NET and AJAX: Architecting Web Applications 11] Books of Beginning SQL Server 2005 Programming
Page 92