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
Platform Technologies Used
Methodology Tools Used
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 2
Online Voting System
PROJECT PLANNING
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 3
Online Voting System
Study of Old techniques and other techniques
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 4
Online Voting System
Types of electronic voting systems
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 5
Online Voting System
4] Online Voting Online voting is a form of voting in which the individuals are able to cast their votes online, through a web interface. Through the use of online voting, the voter navigates to the designated election site using a web browser on an ordinary PC. The individual then authenticates himself or herself before the system enables the voter to view the ballot displayed on the screen. The voter is then permitted to select their chosen candidate and then cast the votes which would then be sent to the election server for processing. Online Voting systems can be conducted through a number of methods: Kiosk Internet Voting: This form of internet voting permits the voter to vote from computers in kiosks set up by the voting authority in convenient locations such as post offices and shopping malls. Poll Site Internet Voting: This form of internet voting permits voters to go to designated polling sites to cast their votes for their chosen candidates through the use of computers. The data contains the votes that are transmitted from each polling site to a central election server via the internet. Remote Internet Voting: This form of voting enables the voters to cast votes for specified candidates from any location through the use of a computer connected to the internet. Remote voting is typically carried out at the voter’s home or workplace. Remote voting is a very convenient method of voting, since the voter has the choice to vote in an election from any suitable location. The project to be implemented is going to use the remote internet voting method.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 6
Online Voting System
PLANNING
Project Definition: Voters Features
Voter Registration. Voters can manage their profiles. Voters can participate in online voting. Voter can see the Election Rules Voter and Member can give the Feedback Voter can see the List of Electoral Candidates Voter can get the result online via mail Voter can upload their photos
Electoral Members Features
Electoral Member Registration. Electoral Members can manage their profiles. Online advertisement of Member. Member can upload their Photos Member can also upload the sign of their party Member can set the Party information online Electoral Member can get their result via email
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 7
Online Voting System
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
It contains Voter, Electoral Member and Admin modules.
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 member’s 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 Member’s Profile, Add /edit / view Voter’s 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
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 9
Online Voting System
Problem Statement:
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 can’t 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
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 10
Online Voting System
SYSTEM ANALYSIS
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 11
Online Voting System
Preliminary Investigation
Project Feasibility Technical Feasibility The technical resources required for carrying out the project include personal computers, and software’s tools like Microsoft Visual Studio 2005, Microsoft SQL server 2005, Microsoft Visio 2007, Adobe
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
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 12
Online Voting System
The above schedule specifies the estimated time that will be required in various software development phases, considering all situational factors. Team members are technically ready accepting few days training on to get the Technology Awareness. Thus according to calculation, it is feasible to build such solution in time. “The schedule will be revised at the end of each phase and updated as required”. Operational Feasibility
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
Online Voting System
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 14
Online Voting System
Solution: The Online Voting system will provide a flexibility of viewing the different voters, members, votes, feedback. This system is a web application so that we easily integrate any other module in future enhancement. “Thus at the end of Feasibility Study it is understood that the project is viable and we start doing the Analysis for the same to identifying the Requirement.”
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 15
Online Voting System
Technology Used:
MICROSOFT .NET FRAMEWORK 3.5 The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to fulfill the following objectives: i) To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely. ii) iii) To provide a code-execution environment that minimizes software deployment. To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. iv) To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications.
The .NET Framework 3.5, includes more useful additions. Alongside this evolution, Microsoft’s 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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 16
Online Voting System
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 17
Online Voting System
ASP.NET
ASP.NET is more than the next version of Active Server Pages (ASP); it is a unified Web development platform that provides the services necessary for developers to build enterpriseclass Web applications. While ASP.NET is largely syntax compatible with ASP, it also provides a new programming model and infrastructure for more secure, scalable, and stable applications. You can feel free to augment your existing ASP applications by incrementally adding ASP.NET functionality to them.
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 18
Online Voting System
ASP.NET is one of the today’s 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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 19
Online Voting System
SQL SERVER 2005
Introduction
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 20
Online Voting System
DEVELOPMENT ENVIRONMENT
I. Software’s 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
:- .Net Framework 3.5 :::C#.NET Word ,Adobe Photoshop 7 Java-script
Client Operating System :- Windows 7
III. Hardware Configuration PIV 1GHZ 2 GB MB RAM 500 GB Hard Disk 52x Max DVD-RW Mouse Keyboard
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 21
Online Voting System
SYSTEM DESIGN
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 22
Online Voting System
USECASE OF ONLINE VOTING SYSTEM
Online Voting System
User Registration * * User Login * * * ** * Manage Profile * «uses» «uses» * * «uses» *
Voter
View
Edit
Delete 1 1
* Voting * * * * ** Advertisement of electoral *
*
*
Administrator
Electoral Member
Result
* «extends»
«extends»
On Homepage
sent Via Mail
* * Logout
*
USECASE OF
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 23
Online Voting System
VOTER USECASE
Online Voting System
Registration * *
Login * *
Manage Profile * «uses» «uses» «uses»
Add Details * ** *
Edit Details
Delete Details
* * * *
*
* *
Voter
*
View Election Schedule System
*
Participate in Voting
* «extends»
Result «extends»
*
sent via Email
On homepage
* Logout
*
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 24
Online Voting System
USECASE OF ELECTORAL MEMBER
Online Voting System
Registration * *
Login * *
Manage Profile * «uses» «uses» «uses»
Add Details * ** *
Edit Details
Delete Details
* * * *
*
* *
Voter
*
View Election Schedule System
*
Participate in Voting
* «extends»
Result «extends»
*
sent via Email
On homepage
* Logout
*
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 25
Online Voting System
USECASE OF ADMIN
Online Voting System
Online Voting System
CLASS DIAGRAM OF ONLINE VOTING SYSTEM
«implementation class» Online Voting System {documentation = From Classes}
Vote Server used -Votes polled : int -Status of vote : string +Authentication() : int +Count_Vote() : long +AskSecurityQuestion() : void * -Sending Status
Online Voting System
STATECHART DIAGRAM OF ONLINE VOTING SYSTEM
Registration
Login
View Profile
Cast Vote
Ackoledgement
Declare Result
View Result
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 28
Online Voting System
COLLOBORATION DIAGRAM OF ONLINE VOTING SYSTEM
5. Cast Vote 1. Login id
2. Verification
{Authentication Process} 4. Issue ballot 3. Valid
Top Package::Voter
Top Package::Vote Server
7. Ak n
ow
le
dg
em
en
t
Top Package::Email client
Nikunj Patel [CE-86] Nitan Patel [CE-87]
6. Send Email and status
Page 29
Online Voting System
SEQUENCE DIAGRAM OF ONLINE VOTING SYSTEM
Top Package::Voter
Top Package::Server
Top Package::Authentication Process
Voter
Server
Authentication Process
Email Client
Enter Login id
Verification
Valid Issue Ballot
Cast Vote
Send Email id and status
Send Acknowledgement
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 30
Online Voting System
ACTIVITY DIAGRAM OF ONLINE VOTING SYSTEM
call on Election
Create Profile
/ no
/ Check Consitency
/ Duplicate Profile Access Denied
/ Yes
/ Check Answer Generate Ballot Number
Acknowledged Ballot Number to Voter Security Question / Yes / no / Forgot Password
Login
/ Yes
/ Check Accessbility
/ Check validity
/ Check Polling Date / Yes
Cast Vote
Deactivate Ballot Number
Send Acknoledgement
View Profile
Update Profile
/ Polling Corrupted / yes
Declare Result
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 31
Online Voting System
ER DIAGRAM
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 32
Online Voting System
ER-DIAGRAM OF ONLINE VOTING SYSTEM
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 33
Online Voting System
DATA DICTIONARY
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 34
Online Voting System
DATABASE RELATION DIAGRAM BY VS.NET 2008 ALL THE TABLES
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 35
Online Voting System
ADMIN TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 36
Online Voting System
CITIZEN TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 37
Online Voting System
CURRENT ELECTION TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 38
Online Voting System
DATE SETTING TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 39
Online Voting System
ELECTION RULES TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 40
Online Voting System
ELECTION MASTER TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 41
Online Voting System
FEEDBACK TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 42
Online Voting System
MEMBER DATA TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 43
Online Voting System
MEMBER SEAT TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 44
Online Voting System
RESULT DISPLAY SETTING TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 45
Online Voting System
SETTING TABLE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 46
Online Voting System
SYSTEM IMPLEMENTATION
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 47
Online Voting System
MODULES Online Voting System is divided into three main modules. 1] Voter Module 2] Electoral Module 3] Admin Module.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 48
Online Voting System
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, voter’s 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. Voter’s login is strictly prohibited after the define timeline. After that time voters cannot login in their profiles.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 49
Online Voting System
ELECTORAL MEMBER MODULE:
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 50
Online Voting System
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 51
Online Voting System
Functional Requirements
• 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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 52
Online Voting System
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 53
Online Voting System
SCREENSHOTS
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 54
Online Voting System
Voter profile
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 55
Online Voting System
Voter profile
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 56
Online Voting System
HOMEPAGE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 57
Online Voting System
ADMIN LOGIN
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 58
Online Voting System
ADMIN SETTING PAGE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 59
Online Voting System
ADMIN SETTING PART 2
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 60
Online Voting System
ADMIN SETTING AND PERMISSION PAGE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 61
Online Voting System
DATE SETTING OF ADMIN PANEL
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 62
Online Voting System
RESULT DISPLAY SETTING
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 63
Online Voting System
ADMIN ELECTION SETTING AND PERMISSION
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 64
Online Voting System
ELECTION RULES PAGE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 65
Online Voting System
CHANGE PASSWORD PAGE OF ADMIN
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 66
Online Voting System
CITIZEN DATA PAGE OF ADMIN PANEL
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 67
Online Voting System
MEMBER DATA PAGE OF ADMIN PANEL
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 68
Online Voting System
SEND EMAIL TO CITIZEN PAGE OF ADMIN PANEL
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 69
Online Voting System
SETTING OF ELECTION RULE PAGE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 70
Online Voting System
FEEDBACK FORM PAGE OF USERS
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 71
Online Voting System
MEMBER REGISTRATION PAGE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 72
Online Voting System
MEMBER REGISTRATION PART 2
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 73
Online Voting System
CITIZEN REGISTRATION PAGE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 74
Online Voting System
CITIZEN REGISTRATION FORM PAGE
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 75
Online Voting System
SYSTEM TESTING
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 76
Online Voting System
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 77
Online Voting System
Black Box Testing
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 system’s code.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 78
Online Voting System
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 system’s 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 system’s 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 system’s 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
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 79
Online Voting System
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
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 80
Online Voting System
Process Name: Testing Strategy: Test Cases
Logout Account Black Box
Test Case Logout Account yourself. valid
TEST DATA Logout Button is clicked User logged again.
Expected O/P Account is Logged out. User can’t login again. Can’t login. Account is Logged out.
Actual O/P Account is Logged out . User can’t login again. Can’t login. Account is Logged out.
Done Yes
invalid
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 81
Online Voting System
Process Name: Testing Strategy: Test Cases: Test Case Enter Email Id
Create New User Black Box
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
Login Black Box
TEST DATA valid invalid Enter Email id Null in User Id
Expected O/P Login successful Alert Email id format should be correct.
Actual O/P Login Successful Alert Email id format should be correct.
Done Yes
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 82
Online Voting System
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 83
Online Voting System
1. Process Name: Testing Strategy: Test Cases: Test Case Enter recipient Email Id TEST DATA valid Email Id Entered Null in recipient Email Id Expected O/P Actual O/P Done Yes Send Mail Black Box
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
Enter text in body part.
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
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 84
Online Voting System
FUTURE EXTENSION
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 85
Online Voting System
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 86
Online Voting System
CONCLUSION
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 87
Online Voting System
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 88
Online Voting System
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 system’s 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
Online Voting System
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.
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 90
Online Voting System
BIBLIOGRAPHY
Nikunj Patel [CE-86] Nitan Patel [CE-87]
Page 91
Online Voting System
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