electronic voting system
DESCRIPTION
design and implementation of electronic voting systemTRANSCRIPT
CHAPTER I
CHAPTER ONE1.0. INTRODUCTION Electronic voting system (EVS) also known as e-voting is a term encompassing several different types of voting embracing both electronic means of counting votes.
Electronic voting technology can include punched cards, optical scan voting systems and specialized voting kiosks (including self contained direct-recording electronic voting systems or DRE). It can also involve transmission of ballots and votes via telephones, private computer networks, or the internet.
Generally, the major approaches towards achieving an effective on line electronic.
VOTING SYSTEM (EVS)
Scope of E-voting system
Specifies the system requirements
Specifies the participating parties of the system and describes their roles,
Specifies the architecture of the E-voting system, the general description of the functionally, protocols and algorithms,
Analyses and describes possible security of hazards & examines the compliance of the system to security requirements.1.1BACKGROUND OF STUDYThe Federal Republic of Nigeria. Nigeria is a Federal constitutional republic comprise thirty-six states and its Federal capital Territory, Abuja. The country is located in West Africa and shares land borders with the Republic of Benin in the West, Chad and Cameroon in the South lies on the Gulf of Guinea on the Atlantic Ocean. The three largest and most influential ethnic groups Nigeria are the Hausas, Igbo and Yoruba in terms of religion Nigeria is roughly split half and half between Muslims and Christians with a very small Minority who practice traditional religions.
Nigeria elects on Federal level, a head of state the President and a legislature (The National Assembly). The President is elected by the people. The national Assembly has two chambers. The House of Representative has 360 member elected for a four year term in single-seat constituencies. The senate has 109 member elected for a four years term each of the 36 states are divided into 3 senatorial districts, each of which is represented by one senator, the Federal capital Territory represented by only one senator. Nigeria made up of thirty-six (36) states with 774 local governments.
In the Local Governments they have the chairman and the Counselor, the state governed by the Governors and the Local Government by the chairman and counselors and there are all elected by the people of the state.
That is to say that there are about 2054 elective positions in Nigeria.
1 President
360House of Representatives
109Senators
36.States Governors
774Local Government Chairman
774Local Government Counselors1.2SIGNIFICANCE OF STUDY
1.An electronic voting system (EVS) will require being very precise or cost cutting to produce an effective election management system.
2.Therefore crucial points that this (EVS) emphasizes on are listed below.
3.Require les number of staff during the election.
4.This system is a lot easier to independently moderate the elections and subsequently reinforce its transparency and fairness.
5.Less capital, les effort, and less labour intensive, as the primary cost and effort will focus primarily on creating, managing, and running a secure online was looting portal.
6. Increased number of voters as individual will find it easier and more convenient to vote, especially in western societies where life is a lot more regimented and programmed.1.3OBJECTIVE OF THE STUDY
The objective is to produce a computer-based tutor that will guide voting in Nigeria which can speed the counting of ballots and can provide improved accessibility for disable voters, it will also provide transparency; mitigate all challenge that may be experienced in setting up polling booths dealing with ballot boxes, and any counting deficiencies, and a host of others issues. Having proper fire-walls installed it is aimed at eliminating the abnormalities and error in the existing system. It also aims at reducing the crime and fraudulence activities encountered with the old voting existing system in Nigeria.1.4.SCOPE OF STUDY.
It is focused on studying the existing system of voting in Nigeria and to make sure that the peoples vote is counts, for fairness in the elective positions. This is also will produce.
Less effort and less labour intensive, as the primary cost and focus primary on creating, managing, and running a secure web voting portal. In creasing number of voters as individuals will find it easier and more convenient to vote, especially in western society were life is a lot more regimented and programmed.
1.5.LIMITATION OF STUDY
Time factor, which is the greatest barrier to the successful completion of this exercise, I had financial constraints to traveling. The school is also a barrier to permission for exit to get my materials for this project.
1.6.DEFINITION OF TERMEVS On line electronic voting system
E-voting - Electronic Voting
INEC - Independent National Electoral Commission
EVR - Electronic Voter Register
PU- Polling Unit
ICT- Information and communication TechnologyECIL- Federal Election Commission
ES & S - Election systems & softwareVVPAT- vote verifiable paper audit trails
PEB- Personal Electronic Ballot
PIN- Personal Identity Number
MBB- Mobile Ballot Box
JBC- judges Booth ControllerCHAPTER TWO2.0 LITERATURE REVIEW
David Chaum addressed the concepts of untraceable electronic mail and digital pseudonyms, which can apply for electronic voting for anonymity. In order to reduce the cost of human and material, moreover, to enhance the convenience in the task of polling, E-voting has taken the place of traditional voting in a considerable number of countries over the past few years. In this section, I aim to review literature I consider relevant to E-voting. 2.1 EVALUATION OF VOTING EQUIPMENT In the recent years, voting equipments which were widely adopted may be divided into five types
(1) Paper-based voting: The voter gets a blank ballot and use a pen or a marker to indicate he want to vote for which candidate. Hand-counted ballots is a time and labor consuming process, but it is easy to manufacture paper ballots and the ballots can be retained for verifying, this type is still the most common way to vote.
(2) Lever voting machine: Lever machine is peculiar equipment, and each lever is assigned for a corresponding candidate. The voter pulls the lever to poll for his favorite candidate. This kind of voting machine can count up the ballots automatically. Because its interface is not user-friendly enough, giving some training to voters is necessary.
(3) Direct recording electronic voting machine: This type, which is abbreviated to DRE, integrates with keyboard, touch screen, or buttons for the voter press to poll. Some of them lay in voting records and counting the votes is very quickly. But the other DRE without keep voting records are doubted about its accuracy.
(4) Punch card: The voter uses metallic hole-punch to punch a hole on the blank ballot. It can count votes automatically, but if the voters perforation is incomplete, the result is probably determined wrongfully.
(5) Optical voting machine: After each voter fills a circle correspond to their favorite candidate on the blank ballot, this machine selects the darkest mark on each ballot for the vote then computes the total result. This kind of machine counts up ballots rapidly. However, if the voter fills over the circle, it will lead to the error result of optical-scan.
2.2 Effectiveness of E-voting Among Different Countries
Recent years, a considerable number of countries has adopted E-voting for their official elections. In this section, four empirical examples are enumerated as following.
(1) America: Government of the United States hold election collaterally in several ways, in other words, each state can choose the suitable way to hold elections independently. Because there are some debates about E-voting, such as some vote casts were not counted, or election system crashed during the Election Day. Secretary of State Kevin Shelley established an Ad Hoc Touch Screen Task Force to research the debates on DRE in February 2003. Shelly advanced that DRE should include voter verifiable paper audit trails (VVPAT) to solve electoral debates.
(2) Japan: Japan adopted E-voting for local election in 2002, such as mayor and councilor election of Niimi city in Okayama prefecture in June 23, 2002; mayor election of Hiroshima city in February 02, 2003; and mayor election of Kyoto city in February 08, 2004. Take mayor and councilor election of Niimi city for example, electoral center surveyed the voters reliability when the election finished. There are 83% of voters considered that E-voting system is trusted. 56% of them considered that the results of E-voting and paper-based voting are the same therefore E-voting is sufficient for reliable. The reasons why voters cant trust the E-voting system are voters worried about the abuses in E-voting system, and they can not make sure their ballot are recorded correctly.
(3) Belgium: Election for the Federal Parliament is held in May 18, 2003. In order to assist voters in being familiar with E-voting system, electoral center held short-term training. Counting efficiency in the election with E-voting system was faster then convention. Belgiums compulsory voting system and E-voting complement each other, voters satisfaction and attending willingness of join voting are improved obviously.
(4) Brazil: Brazil used E-voting in 1998. When the voter reaches the polling place, he shows his identity card for authenticating; if he is an eligible voter, he can get the ballot for E-voting. Brazils E-voting system transmits votes to electoral center immediately, so that the count of votes can announce rapidly while the voting finished
2.3 COMPARISON OF E-VOTING SYSTEMBesides many vendors to develop and sell commercial electronic election machines, there are various open source E-voting systems. I cite some examples as following
(1) AccuVote-TS: AccuVote-TSs vendor is Diebold Election Systems. This system includes touch screen, card reader, keyboard, headphone, and paper tape printer. The voter selects his favorite candidate on touch screen, and the vote will be printed on the paper tape. Its design balances the policy, electoral procedure and technology. But all the electoral information (including identity authentication, audit, or counting of votes) are stored in Microsoft Access database without setting password so there are high risks of attack.
(2) iVotronic: The vendor of iVotronic is Election Systems and Software (ES&S). iVotronic provides multi-language, and uses flash memory to save voting records. Electoral workers use PEB (Personal Electronic Ballot, a device which is similar to disk) to start polling machine up. When the election is finished, the workers use PEB to access voting records in the polling machine, then delivers PEB to electoral center or transmits data from network. Because the PEBs password is only three characters, the risk of password breaking exists. This system have made mistake in the past elections, such as the number of voters is not corresponding between master server and backup server, the candidate selected on the ballot is not the voters selection, and so forth.
(3) eSlate 3000: Hart InterCivic invented eSlate 3000. The voter gets a personal identity number (PIN) as four digits from electoral workers, then goes to the booth to input the PIN into polling machine to login. He can rotate selector wheel to select the candidate whom he want to poll for. Each terminal connects to the server which is named JBC (Judges Booth Controller). Counting of votes will send to JBC from every terminal by network, then save it in MBB (Mobile Ballot Box). This system doesnt encrypt voting data, so there are some risks of data security. Furthermore, the electoral functions are not protected with password, anyone, even the voter, can finish the election. FreeDOS. This system operates from disk, so hard disk is not necessary and the discarded computer is enough. This system is not connected to any networks and most of keys on the keyboard are disabled, attackers cant find the way to invade. SAVIOCs advantages are its simple disposition and low cost, but on the other hand, there are short of GUI and ease of use on SAVIOC.
2.4 Contact less IC card We can distinguish IC card into contact card and contact less card. Contact card has to contact with card reader for transmitting data, but contact less card can transmit data from remote retrieval by coil. There are 16 sectors in the contact less IC card, and there are 4 blocks in every sector. Each sector is individual. We can find the application of contact less card in daily life, such as Easy Card, entrance guard card, and so forth. Because of Mifare cards low cost and applicability, our research choose Mifare card for storage. 2.5 THE SECURITY ISSUES OF E-VOTING Foreign experience revealed that they are often confronted by security issues while the electronic voting system is running. The origin of the security issues happened was due to not only outsider (such as voters and attackers) but also insider (such as system developers and administrators), even just because the inheritance of some objects in the source code are unsuitable. These errors caused the voting system crashed.
The proposed solutions were correspondingly outlined to hold back these attacks. For example, to avoid hacker making incursion into the voting system via network, we can design our system to transmit data without network. Another example is to limit voter to input particular data, so that preventing the command injection from running
CHAPTER THREE3.0 RESEARCH METHODOLOGYIn this chapter, the source of data methods of collection, the evaluation of the existing system and the organization structure of the system problem are presented.
3.1.What is System Analysis?A system is a collection of activities and elements organized to accomplish a goal. In system analysis, data is collected about the present system. The data is then analyzed and new requirements are determined. System analysis is on determining the requirement for a new system. Three tasks of this phone are gathering data, Analyzing the data, and documenting the analyses.
Gathering data is done by observation, interviews, and questionnaire and looking at documents, one of which is the organization chart which shows an organizers foundations and levels of management. Analyzing data:- there are several tools for the analyzing of data which includes checklist, decision tables and system flows charts
Documenting system analysis. To document and to communicate the finding of phase 2, a system analysis report is prepared for higher management.
3.2.SYSTEM DESIGN.In system design, new or alternative information is designed. This phase consist of three tasks;
3.2.1 DESIGNING ALTERNATIVE SYSTEMAn alternative information system is designed and each alternative is evaluating for:
(A).Economic feasibility Costs and benefits, time for the system to pay for (itself)
(B).Technical feasibility:- land ware and software reliability, available training
(C).Operational feasibility:- the ability the system to work within the organization
3.3 SELECTING THE BEST SYSTEM.Question is considered when selecting the best system:-
1. Will the system fit into an overall information system?
2. Will the system be flexible enough to be modified ad needed in the feature?
3. Will it be secure against unauthorized use?
4. Will the systems benefit exceed its costs?
5. Writing the system design report:- this is to document and it communicate the finding of phase 3, a system design report is prepared for longer management.
3.4 SOURCE OF DATAThe original document which provide a reference for the new system. It also provides a proper picture of what if happening in the voting system (Nigeria).
3.5 METHODS OF DATA COLLECTION(A) Studying of Procedures Manuals
Written documents on voting System (Nigeria) was read to obtain information on how the system works. This form of date collection was use full in the sense that it sealed light into the present voting system an also enable the system.
(B)Evaluation of forms.
These provide information that is required within a section of the system and what is contained in. The printed output form shade more knowledge on which department representatives receive each document and where it is sent to after is has being uses.(C)Interviewing of departmental representativesAfter obtaining thorough understanding of preset system through evaluation of present system through evaluation of forms and manuals .I wert further to interview the representatives involve in the actual operation of the system .These people explained more or the system and the basic reliable because the system put into consideration the basic flows. 3.6 ANALYSIS OF THE EXISTING SYSTEMThe Independent National Electoral Commission (INEC) is a nonpartisans Nigerian government agency charged with the conduct and supervision of elections. In the late 1990s, the agency began modernizing its information technology infrastructure by migrating from an outdated legacy voting system heavily dependent on inaccurate paper records and polling cards to the newer Electronic voting system (EVS), at the heart of EVS is the electronic voter register (EVR), which by capturing the names of all eligible voters, eliminates duplication and there by minimizes discrepancies in the electrode process. As such, EVR is viewed as a means of ensuring free and fair elections in Nigeria. As part of the modernization process. INEC needed to inventory and spatially locate the agencys 120,000 polling locations scattered around the country, these locations and threat attributes needed to be linked to EVR.GIS technology was identified as a potential solution to the problem, and TTi limited (formerly Adorbel ltd.) a consultant responsible for the field data collection and project management for INEC. Subcontracted Esri Business part to design and implement a polling unit (PU) GIS. Geo-imaging proposed integrating GIS, digital photography, and DBMS technologies to create a data collection tool capable of capturing the X, Y locations and images of existing polling units. Since the clients budget constraints precluded the purchase of GIS software, the use of an industry standard development environment to create an application with GIS/mapping capabilities was also proposed. The application would then be linked to EVR.3.7 PROBLEM OF THE EXISTING SYSTEM1. registration of candidates
2. preparation of polling list
3. counting of votes
4. operation threat5. God-fatherism
6. selection not election
7. attitude to voting
8. too many party system
9. appointment of incredible individuals as INEC chairman
10. war and guns before and on the election day
11. bed management
12. buying of votes
13. less of life14. security threats
15. cost
16. time
17. location of polling boxes
3.8 SOLUTIONS OF THE EXISTING PROBLEM(A). A sable solution to all these problem is the use of computerized system (E-voting system) for high processing speed, minimum number of staff
(B).Change of attitude by all- election anomalies that we all experience now are rooted in attitude of all stakeholders in the electoral system. Voters should change their attitude of believing in money polities.
(C).Credible election can be conducted by reforming the Nigeria police force.
(D).Adoption of a tow party system.(E).Appointment not credible individuals in to INEC
3.9 FLOWCHART AND SYSTEM FLOWCHARTFlowchart symbols are graphic tools in which symbols and shapes are used to document the flow of control within a program or system. This also involves use in the logical processing of the system. It shows the step-by-step sequence of computer operations necessary in solving problems.
The tow major types of flowchart include
1. the program flowchart
2. the system flowchartThe re may be some variations on theses symbols are linked with directed lines (lines with arrows) showing the flow of data through the system.
Transactions are input, validated and sorted and then used to update a master filer.
NOTE: - the arrows show the flow of data through the system. The dotted line shows that the updated master file is then used as input for the next update process. This is a pictorial representation of how the hardware components work with the programs of the system. It uses conventional system to represent its action and flow of control between the hardware the hardware components as show below, yet flowchart involves creating a flow model that illustrate and analyzes the overall flow activities in producing a product or services.
3.9.1 System Flowchart Symbols and Their Functions
Figure 3.1: system flowchart symbols
3.9.2 SYSTEM FLOWCHART OF THE PROJECT
SHAPE \* MERGEFORMAT
Figure 3. 2: Program flowchartCHAPTER FOUR4.1 SYSTEM DESIGN AND SPECIFICATIONSystem design is the process or art of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. One could see it as the application of system theory to product, and development.
Systems design is therefore the process of defining and developing a system to satisfy specified requirements of the market or customer. Until the 1990s system design had a crucial and respected role in the data processing industry. In the 1990s standardization of hardware and software resulted in the ability to build modular system.
Object oriented analysis and design methods are becoming the most widely used methods for computer system design. The UML has become the standard language used in Object- oriented analysis and design. It is widely used for modeling software systems and is increasing used for designing non-software systems and organizations.
After analysis, and discovering the problem of the existing system, there is need to produces a new produce a new system, which will eliminate these problems design. To carry out the design effectively, the following steps are involved:
4.2 INPUT SPECIFICATION
In the input specification we made use of the keyboard to enter the password, and user name which allows early if right and refuses when wrong. We also made use of the keyboard to supply text, or number through the application and supply text program when working with a high- level program.
All other input data for the system execution are present at menu options and is selected by sticking easily identifiable keys, example the arrows keys, example the arrow keys the alphabetic character keys, enter and escape keys.
4.3 OUTPUT SPECIFICATION
In this system, all outputs are retrieved from disk storage where information resulting from both input and processing operations has been previously stored.
In designing a system, one should bear in mind to minimize complexity and platform. The output, specifications are identified below
4.4 FILE SPECIFICATION
A file is a collection of related records. A record is a collection of information about someone or something of interest. Record is made up of fields. A field provides a specific item or data about the subject of a record. The system made use of two files
i. The input file
ii. The output file
4.5 INPUT FILE
These are files previously, defined or created during processing of the system. You text area on the existing screen. However, before doing this it is important to note the following .
You enter the text simply by typing it on the keyboard, while the insertion point (cursor) moves to the right as the character are typed.
When a wrong character is typed, you can delete this by using the backspace key or using Del key when cursor is at the point of the text
4.6 OUTPUT FILES
These are files that contain information resulted from processing. We have the previewing of a document file, and retrieving a file (i.e. opening a saved document), previewing a document before printing. You can use the print preview command to show how a document will look when you print it. While you cant edit text in print preview, you can move headers and footers. To preview icon present there on the menu or the file menu observation: you will notice that the page where you can do one of the following;
Choose the print button in the print preview bar to print the document or choose the button to return to the previous view of the document.
4.6.1 TO PRINT PART OF A DOCUMENT.
Follow the above steps, while in the page range box, select the current page option button then click ok button.
4.6.2 RETRIEVING A FILE
Now that one have saved the document, you simply type with analysis.doc, one can now retrieve (i.e. re- opening a file that was previously saved) this file for processing, the processing of such file may include editing, viewing, formatting e.t.c we can retrieve the said file through the following procedures;
Select the open command from the toolbar or
Choose open the file menu or
Press (ALT, F, O) on the keyboard.
Observation; one will observe that content of the selected file is displayed on the screen for editing.
4.7 DATABASE SPECIFICATION
There is need to provide an efficient data storage procedure for holding and securing critical information. This data storage module is known as the data base. A database is an index computer data storage and retrieval. The database management system (DBMS) creates and packages the database. There are numerous DBMS technology available today such as; ORACLE, MS ACCESS, SQL SEVER, and so no. for this project, the DBMS used is the MS ACCESS. MS ACCESS is the database editor of the popular Ms office tools/Application, MS Access stores data or information in tables which are structured into fields. The ms access database file for the project is user INEC.mbd. It holds information on the administrator users password.
The database contains four tables
i. FED CANDIDATES: - This table holds the information for registered candidates in the presidential category.
FIELD NAMEDATA TYPE
IDAUTONUMBER
FNAMETEXT
INAMETEXT
STATETEXT
SEXTEXT
PARTYTEXT
VOTESNUMBER
Figure 4.3: fed candidate table for the presidential categoryii. STATE CANDIDATES:- This table holds the information for registered candidates in the Governorship category.
FIELD NAMEDATA TYPE
IDAUTONUMBER
FNAMETEXT
INAMETEXT
STATETEXT
SEXTEXT
PARTYTEXT
VOTESNUMBER
Figure4. 4: state candidates table for the governorship categoryiii. LOCAL CANDIDATES: - Table holds the information for registered candidates in the chairman and counselors category.
FIELD NAMEDATA TYPE
IDAUTONUMBER
FNAMETEXT
INAMETEXT
STATETEXT
SEXTEXT
PARTYTEXT
VOTESNUMBER
Figure4. 5: local candidates table for the local categoryiv. Voters:- This table holds information of registered voters
FIELD NAMEDATA TYPE
VOTERS IDTEXT
PINNUMBER
FNAMETEXT
INAMETEXT
ADDRESSTEXT
STATETEXT
SEXTEX
VOTEDNUMBER
Figure 4.6: voters registering table4.9 SYSTEM FLOWCHARTThis is a pictorial representation of how the hardware components work with the programs of the system. It uses conventional symbols to represent its action and flow of control between the hardware components as show below, yet flowchart involves creating a flow model that illustrate and analyzes the overall flow activities in producing a product or services.Voters Registration Flowchart
Figure4. 7: Voters Registration FlowchartVoting Process Flowchart
Figure4. 8: voters process flowchartCandidates Registration FormFigure4.9: Candidates Registration FormView Results Process
Figure 4.10: view result processCHAPTER FIVE
5.0 SYSTEM REQUIREMENT AND IMPLEMENT OF SYSTEM SPECIFICATION The purpose of this section is to highlight on the implementation environment of the system. This covers the hardware and software environments for the implementation phase of the system design and development. A top-down design approach was used in structuring the program. The system consists of modules and sub-modules which are linked up to facilitate easy flow of data and control.
5.1 SOFTWARE REQUIREMENTSoftware is a collection of programs or instructions written in any computer language, which enables flexibility to do whatever the user wants.
This package can only be run and developed with the following minimum software requirements;-
a. Windows XP, Vista or Window 7
b. Visual Basic Compiler 6c. Microsoft Access 2003 version5.2 SYSTEM SOFTWARE.These are of software written by system programmers that interpret instructions contained in the application software (program) and then provide the basic instruction to the central processor so that the various hardware units, which make up the computer system, can function as desired or intended. Example is DOS.
System software manages and controls computer hardware so that application software can perform a test. Operating systems, such as Microsoft system software. System software contrasts with application software, which is programmed that enable the end-user to perform specific, productive tasks, such as word processing or image manipulation.
System software performs tests like transferring date from memory to disk, or rendering text onto a display device. Specific kinds of system software include loading programs, operating systems device drivers, programming tool compilers, assemblers, linkers, and utility software. If system software is stored on non- volatile memory such as integrated circuits, it is usually termed firmware. Which refers to the operating system and all utility programs that manage computer resources at a low level.
5.3 APPLICATION SOFTWAREApplication software can be seen as end user software designed to accomplish variety of task such as MS words. They are usually programs or programming system available from a supplier that comes complete ready to perform some defined tasks. Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to perform a task that the user wishes to perform.
5.4 HARDWARE REQUIREMENTThe system functions well with a good computer compatible with a hard disk drive of 20GB. This is needed to save the program so that it can be made available any time. It requires a visual display unit (VDU) of high resolution and graphic ability for good display of all outputs.
A functional floppy dive is needed to be used as backup or disk in case the programs served on hard disk is eventually destroyed by a virus. An uninterrupted power supply (UPS) is needed to sustain power failure for sometimes whenever PHCH puts of power supply.
5.5 This software requires the following minimum hardware for its development and running;
Pentium 266HZ 566HZ
512MB RAM
14 super video graphic adapter monitor (SVGA)
20GB of hard disk
A mouse or mouse sensitive used on laptops
Window XP, vista or window 7
Uninterrupted power supply (UPS), lasting for at least 24 hours.
5.6 LANGUAGE JUSTIFICATIONThe visual basic 6 language is the language used in designing the program for the system V.B.6.0 language offers the best in terms of its availability, easy to understand good graphic ability, flexibility and machine independence. The program can run in other versions i.e. 2003 and 2005 with little modification.
System selection to select a module (subsystem) when the main is displayed on the screen, the cursor is passed to choose on optional and enter to select it. If this is done, control is passed to the main program after a subro9utine is completed depending on the task that needs to be1accomplished by the user choosing the exit do terminate a subroutine, this returns control to the calling program and to terminate the system is by closing exit application from the main menu.
5.7 SUBSYSTEM SELECTIONRetrieving/ open a saved document.
With the file menu you can retrieve document into memory by clicking the file menus open command you can also click on the icon on the toolbar. When you click the open command, notepad displays the open dialog box with a list of all the names of document to be retrieved. Notice that the open dialog box has a text where you have the mouse pointer already positioned.You can type the name of the document to be retrieved other until you get to your desired filename. To retrieve, click the open button. This is just one of the several ways to open documents.
5.8 THE PRINT PREVIEW OPTIONBefore printing your document (voting result) you may wish to have an idea of how it will look when you finally print it. The print preview feature is used to achieve this. In the print preview window, you can see the overall appearance of one page, or all the pages. Previewing the document can save you time and paper, because it reduces the number of times you print the document before it looks exactly the way you want. To preview a document either click on the print preview button on the standard toolbar or choose print preview from the file menu.
5.9 THE PRINT OPTIONYou can click the print button on the standard toolbar to print the entire document using default settings, or you can use the print command to select different printing options.
5.10 REVIEW OF PROGRAM LANGUAGE IN USEThere are several Program language currently is used in school and they include Q- BASIC, PASCAL, CH, C Visual Basic and Java etc. However, this project was done to suit interacting processing rather than batch processing, also immediately response expected from the computer as output or feedback to the input in an online processing simplifies and makes the work faster. It is a high-level language that can be translated into a machine language and can be understood by most computers easily.
5.11 SYSTEM CONVERSION.This involves the procedure used in changing from the old to the new system and are;
* Direct Conversion:
The old system is continued and the new system becomes effectively immediately.
* Phased Conversion:
The new system is implemented gradually over a period of time. The entire implementation process is broken down into different process. This phase ensures that the new system is fully in perfect operation before discarding the old are completely.
* Pilot Conversion.
The new system (reverting) is tried out using the local government selection first. Once the system is running smoothly in that part, then it is implemented throughout the rest of the election in Nigeria
5.12 TESTINGDuring the design stage of the system, of the system was done to verify its efficiency and resistance to deliberate errors. This can be done in toe stages which include:-
Unit testing the performance of the individual parts are examined using test data.
System testing the parts are linked together and the test data is used to see if the parts works together.
5.13 ACCESSUse of right password
5.14 MENU SELECTIONThe use of wrong keys for valid options
Press key randomly
Press keys which choice module is being loaded users data entry
Press keys randomly
Highlight with normal keys on keyboard
CHAPTER SIX6.0 CONCLUSIONS To sum up, this project clarifies the requirements and key elements of E-voting system, and my implementation provides the following features. To begin with, the accuracy of voters identity and ballot card are ensured with this voting system. Next, voters identities are not written in the ballot card to protect voters privacy and confidentiality. This system will validate whether the ballot card is authorized or not, to make sure only legal user can vote, and voters authorities are limited in order to prevent his violation. Furthermore, this system fits in with the parts of principles proposed by IPI, including secrecy, non-coercibility, integrity, and uniqueness. But because of the limitation of incomplete laws and regulations, absentee voting cant be held. It still needs to be discussed in legislative systems. In the future, to eliminate maladministration and human destruction, setting up a strongly secure E-voting system is necessary. It can speed up the electoral procedures, make ballot counting efficaciously, and use resource effectively. 6.1 RECOMMENDATIONHaving seen the problem encountered in using the old system of voting, the following are recommends. I recommend that INEC should employ this system of E-voting and the staffs that will be handing this software package be given training on computer bases on how to use the new system.BIBLIOGRAPHYBaje, E.N. (1998). Records Management Program. Ibadan: Adeyomi
printing press.
Brown, P.T and Payne L.C. (1975). Computer application. New York,
Addison Wesley publishing.
Celestine, C. N.(1689). Management theory and practices. Asaba: Africana first publishers Ltd. Chiazor, I. k. N.(2008). Design and implement of a hospital management Enugu: Unpublished ( Project work). pp30-37 Fedrick, W. T.(1856-1915). Management. Texas a/m University .pp41
Francis, M (2001). computer and process control. Aba: Machitouch
Industrial Nigeria.
Heinz ,W. and Harold, K. (1990).management a global perspective.
University of Francisco.
Nihfw.(1987). Management training modules for voting officers. Abuja: Africana first publishers Ltd.Penny, H. (2000). Process control system. Britain: John Murry Publication LtdPatrick, C.E. (1990). Computer Application. Aba: M.C. Publication Ltd,
Proyor, E. (1975). A Computerized System for voting decision Ray, B.(1996). It and micro Electronics. London: Hell Press Thompson, T.K. (1975). Computer organization practice in E-voting system Management. Japan: The One Ltd Weihrich, L. (1992). E-voting system. Benin: Edo Press Ltd.APPENDIX
SOURCE CODE
WELCOME PAGEPrivate Sub cmdConduct_Click()
Me.Hide
frmLogin.Show
End Sub
Private Sub Form_Terminate()
End
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub mnuAdmin_Click()
frmAdminLogin.Show
Me.Hide
End Sub
Private Sub mnuExit_Click()
End
End Sub
VOTING PAGEDim rsCandid As New adodb.Recordset
Dim table As StringPrivate Sub cmbCandidates_Click()
Set rsCandid = New Recordset
Dim mconn As New adodb.Connection
mconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=INEC.mdb"
rsCandid.Open "select * from " & table & " where ucase(trim(ID)) = '" & UCase(Trim(cmbCandidates.ListIndex + 1)) & "'", mconn, adOpenKeyset, adLockOptimistic
With rsCandid
lblParty.Caption = .Fields("party")
lblFname.Caption = .Fields("fname")
lblLname.Caption = .Fields("lname")
lblSex.Caption = .Fields("sex")
lblOrigin.Caption = .Fields("state")
End With
End Sub
Private Sub cmdExit_Click()
frmVotersMain.Show
Unload frmLogin
Unload Me
End Sub
Private Sub cmdVote_Click()
If cmbCandidates.Text = "" Then
MsgBox "You must select a Candidate", vbCritical + vbOKOnly, "E-Voting: Error"
Exit Sub
End If
frmLogin.recStudent.Fields("voted") = Val(frmLogin.recStudent.Fields("voted")) + 1
rsCandid.Fields("votes") = Val(rsCandid.Fields("votes")) + 1
frmLogin.recStudent.Update
rsCandid.Update
MsgBox "Vote Casted Successfully!!!", vbInformation + vbOKOnly, "E-Voting: Done"
rsCandid.Close
Unload Me
Unload frmLogin
frmWelcome.Show
End Sub
Private Sub Form_Load()
On Error Resume Next
table = "fedCandidates"
Dim cmd As New adodb.Command
Dim rs As New adodb.Recordset
cmd.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=INEC.mdb"
cmd.CommandType = adCmdText
cmd.CommandText = "select * from " & table
Set rs = cmd.Execute()
Do While Not rs.EOF
cmbCandidates.AddItem (rs.Fields("id") & " " & rs.Fields("party") & " --> " & rs.Fields("fname") & " " & rs.Fields("lname"))
rs.MoveNext
Loop
'-----------------------------------------------------------------------------------------------------------
lblName.Caption = frmLogin.recStudent.Fields("fname")
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
Set rsCandid = Nothing
End SubVOTERS HOME PAGEDim table As String
Private Sub cmdFed_Click()
table = "fedCandidates"
If check_REG(table) Then
MsgBox "No registered candidate in this category ", vbExclamation, "No candidates"
Exit Sub
End If
Unload Me
frmVote.Show
End Sub
Private Sub cmdLocal_Click()
table = "localCandidates"
If check_REG(table) = False Then
MsgBox "No registered candidate in this category ", vbExclamation, "No candidates"
Exit Sub
End If
Unload Me
frmVoteLocal.Show
End Sub
Private Sub cmdLogout_Click()
If MsgBox("Do you want to exit ", vbYesNo, "Logout? ") = vbYes Then
Unload Me
frmLogin.Show
End If
End Sub
Private Sub cmdState_Click()
table = "stateCandidates"
If check_REG(table) = False Then
MsgBox "No registered candidate in this category ", vbExclamation, "No candidates"
Exit Sub
End If
Unload Me
frmVoteState.Show
End SubRESULTS PAGEOption Explicit
Dim table As String
Private Sub cmdExit_Click()
frmMain.Show
Unload Me
End Sub
Private Sub Form_Load()
On Error Resume Next
Dim query As String
Dim rsCandid As New adodb.Recordset
Dim i As Integer
Dim mconn As New adodb.Connection
mconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=INEC.mdb"
table = frmMain.category
query = "select * from " & table
rsCandid.Open query, mconn, adOpenKeyset, adLockOptimistic
rsCandid.MoveFirst
For i = 0 To 4
With rsCandid
lblDept(i).Caption = .Fields("party")
lblName(i).Caption = .Fields("fname")
lblScore(i).Caption = .Fields("votes")
End With
rsCandid.MoveNext
Next i
End Sub
Private Sub Form_Terminate()
frmMain.Show
End SubVOTERS REGISTERATION FORMOption Explicit
Dim rndNum As Integer
Dim voteID As String
Private Sub cmdExit_Click()
frmLogin.Show
Unload Me
Set frmReg = Nothing
End Sub
Private Sub cmdSubmit_Click()
On Error GoTo Err
If txtFname.Text = "" Then
MsgBox "Firstname must not be blank", vbExclamation, "Missing Input"
Exit Sub
End If
If txtLname.Text = "" Then
MsgBox "Lastname must not be blank", vbExclamation, "Missing Input"
Exit Sub
End If
If txtFname.Text = "" Then
MsgBox "Firstname must not be blank", vbExclamation, "Missing Input"
Exit Sub
End If
If txtAddress.Text = "" Then
MsgBox "Address must not be blank", vbExclamation, "Missing Input"
Exit Sub
End If
If cmbSex.Text = "" Then
MsgBox "Sex must not be blank", vbExclamation, "Missing Input"
Exit Sub
End If
If cmbState.Text = "" Then
MsgBox "State must not be blank", vbExclamation, "Missing Input"
Exit Sub
End If
Adodc1.Recordset("pin") = CStr(rndNum)
Adodc1.Recordset("voters_id") = voteID
Adodc1.Recordset.Update
MsgBox "Registeration Successfull! " & vbCrLf _
& "Your Voters ID is " & voteID & " Your PIN CODE is " & rndNum & vbCrLf, _
vbOKOnly + vbInformation, "E-Voting: Done!"
frmWelcome.Show
Unload Me
Set frmReg = Nothing
Exit Sub
Err:
If Err.Number = -2147467259 Then
MsgBox "Error. Mat number has already been registered.", vbExclamation + vbOKOnly, "Registration Failed"
'txtVotersID.SetFocus
Exit Sub
End If
End Sub
Private Sub Form_Initialize()
voteID = getid
End Sub
Private Sub Form_Load()
Dim states() As Variant
states = Array("Abia", "Abuja Federal Capital Territory", "Adamawa", "Akwa Ibom", "Anambra", "Bauchi", "Bayelsa", "Benue", "Borno", "Cross River ", "Delta", "Ebonyi", "Edo", "Ekiti", "Enugu", "Gombe", "Imo", "Jigawa", "Kaduna", "Kano", "Katsina", "Kebbi", "Kogi", "Kwara", "Lagos", "Nasarawa", "Niger", "Ogun", "Ondo", "Osun", "Oyo", "Plateau", "Rivers", "Sokoto", "Taraba", "Yobe", "Zamfara")
Dim i As Integer
For i = 0 To UBound(states)
cmbState.AddItem (states(i))
Next i
Adodc1.Recordset.AddNew
rndNum = getRand(1000, 9999)
lblVotersID.Caption = voteID
End Sub
Function getRand(ByVal lower As Integer, ByVal upper As Integer) As Integer
Randomize
getRand = Int((upper - lower + 1) * Rnd + lower)
End Function
Function getid() As String
Dim num As Integer
num = getRand(1000, 9999) + getRand(1000, 9999)
getid = "INEC-" & CStr(num)
End Function
Private Sub Form_Unload(Cancel As Integer)
frmWelcome.Show
Unload Me
End SubCONTROL GRIDOption Explicit
Public category As String
Private Sub cmdLogout_Click()
If MsgBox("Do you want to exit ", vbYesNo, "Logout? ") = vbYes Then
Unload Me
frmWelcome.Show
End If
End Sub
Private Sub cmdManVoters_Click()
Me.Hide
frmManVoters.Show
End Sub
Private Sub cmdRegFeg_Click()
Me.Hide
frmApplyFed.Show
End Sub
Private Sub cmdRegLocal_Click()
Me.Hide
frmApplyLocal.Show
End Sub
Private Sub cmdRegState_Click()
Me.Hide
frmApplyState.Show
End Sub
Private Sub cmdResult_Click()
If lbxCat.ListIndex < 0 Then
MsgBox "You must select an Election category! ", vbExclamation, "Select a Category"
lbxCat.SetFocus
Exit Sub
End If
Select Case lbxCat.ListIndex
Case 0
category = "fedCandidates"
Case 1
category = "stateCandidates"
Case 2
category = "localCandidates"
End Select
Me.Hide
frmResults.Show
End Sub
Private Sub Form_Terminate()
frmWelcome.Show
End SubVOTERS LOGIN PAGEOption Explicit
Public recStudent As adodb.Recordset
Private Sub cmdExit_Click()
frmWelcome.Show
Unload Me
End Sub
Private Sub cmdLogin_Click()
On Error GoTo recError
Dim conn As New adodb.Connection
Set recStudent = New adodb.Recordset
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=INEC.mdb"
recStudent.Open "select * from voters where voters_id = '" & UCase(Trim(txtVotersID.Text)) & "'", conn, adOpenDynamic, adLockOptimistic
'conn.Close
If Val(recStudent.Fields("pin")) UCase(Trim(txtPin.Text)) Then
If MsgBox("Incorrect PIN Code", vbExclamation + vbRetryCancel, "Incorrect PIN CODE") = vbCancel Then
Call cmdExit_Click
Exit Sub
Else
txtPin.SetFocus
Exit Sub
End If
End If
If recStudent.Fields("voted") > 0 Then
MsgBox "You already voted before!" & vbCrLf & "ACCESS DENIED!!!", vbExclamation + vbOKOnly, "ERROR"
'passwords match, allow the user to the Vote Form
Exit Sub
End If
Me.MousePointer = 11
frmVotersMain.Show
Me.MousePointer = 0
Me.Hide
Exit Sub
recError:
Call rec_Error
End Sub
Public Sub rec_Error()
If (recStudent.RecordCount = 0) Or (recStudent.EOF) Or (recStudent.BOF) Then
MsgBox "Voter ID not found", vbExclamation + vbOKOnly, "Unknown ID"
MsgBox "Try Registering by clicking on the image to the left!", vbInformation, "Are you a New User?"
txtVotersID.SetFocus
Else
MsgBox "An Unknown Error Occurred!", vbCritical + vbOKOnly, "Error"
End If
End Sub
Private Sub ImgRegister_Click()
Unload Me
frmReg.Show
End SubCANDIDATES APPLICATION FORMOption Explicit
Dim deptCodes() As Variant, DCode As String
Private Sub cmdClear_Click()
Dim temp As Control
For Each temp In Me.Controls
If TypeOf temp Is TextBox Or TypeOf temp Is ComboBox Then
temp.Text = ""
End If
Next
End Sub
Private Sub cmdExit_Click()
Unload Me
frmMain.Show
End Sub
Private Sub cmdSave_Click()
If txtFname.Text = "" Then
MsgBox "Candidates name missing!", vbExclamation, "Missing Information"
txtFname.SetFocus
Exit Sub
End If
If txtLname.Text = "" Then
MsgBox "Candidates name missing!", vbExclamation, "Missing Information"
txtLname.SetFocus
Exit Sub
End If
If cmbstate.Text = "" Then
MsgBox "State of origin missing!", vbExclamation, "Missing Information"
cmbstate.SetFocus
Exit Sub
End If
If cmbSex.Text = "" Then
MsgBox "Sex missing!", vbExclamation, "Missing Information"
cmbSex.SetFocus
Exit Sub
End If
If txtParty.Text = "" Then
MsgBox "Political party missing!", vbExclamation, "Missing Information"
txtParty.SetFocus
Exit Sub
End If
Adodc1.Recordset.Update
Adodc1.Recordset.MoveNext
MsgBox "Record Created Successfully", vbInformation + vbOKOnly, "E-Voting: Done"
If MsgBox("Do you want to register another candidate ?", vbQuestion + vbYesNo, "Continue?") = vbYes Then
If Adodc1.Recordset.RecordCount = 5 Then
MsgBox "You cannot register more than five candidates", vbExclamation, "Error"
Exit Sub
End If
clrText
Adodc1.Recordset.AddNew
Else
Unload Me
frmMain.Show
End If
End Sub
Private Sub Form_Load()
If Adodc1.Recordset.RecordCount = 5 Then
MsgBox "You cannot register more than five candidates", vbExclamation, "Error"
Exit Sub
End If
Adodc1.Recordset.AddNew
Dim states() As Variant
states = Array("Abia", "Abuja Federal Capital Territory", "Adamawa", "Akwa Ibom", "Anambra", "Bauchi", "Bayelsa", "Benue", "Borno", "Cross River ", "Delta", "Ebonyi", "Edo", "Ekiti", "Enugu", "Gombe", "Imo", "Jigawa", "Kaduna", "Kano", "Katsina", "Kebbi", "Kogi", "Kwara", "Lagos", "Nasarawa", "Niger", "Ogun", "Ondo", "Osun", "Oyo", "Plateau", "Rivers", "Sokoto", "Taraba", "Yobe", "Zamfara")
Dim i As Integer
For i = 0 To UBound(states)
cmbstate.AddItem (states(i))
Next i
End Sub
Sub clrText()
Dim temp As Control
For Each temp In Me.Controls
If TypeOf temp Is TextBox Then
temp.Text = ""
End If
Next
End Sub
ADMININISTRATOR LOGIN PAGEOption Explicit
Public recAdmin As adodb.Recordset
Private Sub cmdExit_Click()
frmWelcome.Show
Unload Me
End Sub
Private Sub cmdLogin_Click()
If Trim$(txtUserName.Text) = "admin" Then
If Trim$(txtPassword.Text) = "samrobinson4love" Then
'continue
Unload Me
frmMain.Show
Else
MsgBox "Invalid password entered", vbExclamation, "Wrong Password"
txtPassword.SetFocus
End If
Else
MsgBox "Invalid UserName or Password!!!", vbExclamation + vbOKOnly, "Login Failure!"
txtUserName.SetFocus
Exit Sub
End If
End Sub
Stop
Error in Password
Is
Password Ok ?
Start
Welcome screen
Input password
Main Menu Form
Choose From Form List
Perform Operation
Start
Enter Voters ID
Enter Names
Enter Party
Enter State of origin
Has
Mat No
Been Registered?
Stop
NO
Error Message
Cannot Register Twice
Generate PIN code
Display PIN code
Process Registration
Database
Generate Voters ID
YES
Start
Enter Voters ID
And PIN
Is Login Correct?
Allow to
Vote
Stop
Error Message
Cannot Vote Twice
Verify if the Voter has Voted Before
Yes
No
Start
Enter Names
Enter Political party
Enter State of Origin
Stop
Process Registration
Start
Enter Username and Password
Is Login Correct?
Display Results
Yes
No
PAGE 1