electronic voting system

Upload: ibe-collins

Post on 07-Jan-2016

41 views

Category:

Documents


1 download

DESCRIPTION

design and implementation of electronic voting system

TRANSCRIPT

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