74
ONLINE VOTING SYSTEM PROJECT REPORT Submitted in fulfillment of the requirement for the award of COMPUTER SCIENCE & ENGINEERING Submitted By S.JAYAVIGNESH U.S.KARTHIHEYAN G.S.NARENDRAN Under the guidance of Mr.P.SRINIVASAN B.Sc., M.C.A., LECTURER

Naren Project Report

Embed Size (px)

Citation preview

Page 1: Naren Project Report

ONLINE VOTING SYSTEM

PROJECT REPORT

Submitted in fulfillment of the requirement for the award of

COMPUTER SCIENCE & ENGINEERING

Submitted By

S.JAYAVIGNESH

U.S.KARTHIHEYAN

G.S.NARENDRAN

Under the guidance of

Mr.P.SRINIVASAN B.Sc., M.C.A.,

LECTURER

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

NARASU’S SARATHY INSTITUTE OF TECHNOLOGY

MARCH-2011

Page 2: Naren Project Report

BONAFIDE CERTIFICATE

Certified that this project report “ ONLINE VOTING SYSTEM ” is the bonafide work of

S.JAYAVIGNESH Reg no: 090105808014

U.S.KARTHIHEYAN Reg no: 090105808016

G.S.NARENDRAN Reg no: 090105808024

who carried out the project work under my supervision in the fourth semester of

COMPUTER SCIENCE & ENGINEERING

During the academic year 2010-2011

SIGNATURE SIGNATURE

Mrs.J.ANITHA ME, PhD., Mr.P.SRINIVASAN B.Sc., M.C.A.,

HEAD OF THE DEPARTMENT LECTURER

Department of computer engg., Department of computer engg., NARASU’S SARATHY INSTITUTE NARASU’S SARATHY INSTITUTE OF TECHNOLOGY, OF TECHNOLOGY, Salem-636 305. Salem-636 305.

Page 3: Naren Project Report

Submitted for the project work and viva examination held on……………………….

ACKNOWLEDGEMENT

We express our sincere gratitude and intense thanks to the Chairman Thiru R.P.SARATHY CHETTIER, vice-chairmen Thiru K.R.RAMANUJAM, vice-chairman-admin Thiru G.PRABAKARAN,pro-chair-man Mr.NITISH B.HARIHAR for the excellent educational environment extended for us for doing the project work.

We thanks to our correspondent Thiru JAYAPRAKASH A.GANDHI a well known educationalist and analyst and principal Dr.K.RAJA, M.E..,Ph.D., MBA.,M.Phil.,PGDPM., M.I.S.T.E.,MCSE.,M.I.E., of our engineering college and the management for having given their consent to undertake software development for the project.

We wish to extend our special thanks to our Head of the Department Ms.J.ANITHA M.E.,Phd.,Department of computer engineering for motivating and inspiring us to complete this project

We enormously thank our project coordinator

Department of computer engineering for inspiring us throughout this project work

I express my deep thanks to our internal project guide

Deparment of computer engineering for helping the journey of developing this project.they had been a great teacher as well as our inspiration. Their tremendous source of insight help us to expend our ability and enrich our knowledge also provides foundation for many insights in this project

Finally we submit our sincere thanks to the parents, department staff members, friends

And all who supported in the development of our project to make this a successful task.

Page 4: Naren Project Report

CONTENTS

1. PROBLEM STATEMENT 01

2. INTRODUCTION

2.1.INTRODUCTION ABOUT ONLINE VOTING SYSTEM 03

2.2.RATIONAL ROSE 05

2.3.VISUAL BASIC 07

3. PLANNING

3.1. MS-OFFICE PROJECT 2010 11

3.2. PLANNING FOR ONLINE VOTING SYSTEM 13

4. COST ESTIMATION

4.1. COCOMO II 17

4.2 COST ESTIMATION OF ONLINE VOTING SYSTEM 19

OVERALL PHASE 23

OVERALL COST ESTIMATION 23

5. ANALYSIS PHASE

5.1 ATTRIBUTE MATRIX 25

5.2 TRACEABILITY MATRIX 27

5.3 TRACEABILITY TREE 29

Page 5: Naren Project Report

6. SOTWARE DESIGN

6.1. USE CASE MODEL 33

6.1.1. USE CASE DIAGRAM 35

6.1.2.USECASE SPECIFICATION 37

SELECT AREA 39

BALLOT SHEET 41

ELECTION STATUS 43

6.2. USE CASE ANALYSIS SOLUTION 45

7. CODE IMPLEMENTATION

LOGIN FORM 57

BALLOT SHEET 61

VIEW STAUS 71

8. SCREEN SHOTS 77

9. CONCLUSION 103

10. BIBLIOGRAPHY 103

Page 6: Naren Project Report

1. PROBLEM STATEMENT:

The online voting system is the system implemented to make the voting system easy for both

polling and also for the administrator to view and check the result for each area individually.

Here the voting is done anywhere with in spite of the area in which they reside.

The voters or the administrator can login only if they already have a user id and password.

New user can be only created by the administrator.

The voter can login with his user id only if he has not casted the vote already. If he has already

casted the vote the voter status is changed to voted and he cannot login with that user id unless

the administrator refreshes the voting system.

The administrator controls all parts of the online voting system except the vote casting part

which is restricted to the voters only. The administrator is the only one who can create new

voter.

The administrator is the soul controller of the online voting system. He can create new

nominees for the election and he can view the individual election status for each locality. The

graphs are enabled to show the election status easily.

The voter when logs in he can view his personal details which cannot be edited by him he can

only report the changes to the administrator who can edit the details. The voter is granted

permission only to view his personal details and vote.

The voter while voting is provided with two options, one he can vote to any one of the

nominees in the ballot page and another he can register his vote as not willing to vote to avoid

the illegal voting.

The flow of the administrator and the voter completely differs based on the authentication type

which they choose.

1

Page 7: Naren Project Report

2.INTRODUCTION:

2.1.Introduction about online voting system:

The online voting system is the system that aims in reducing the complexity and cost of the

election process. Here the voter can vote in spite of his absence in the particular locality. The

administrator’s effort is much reduced by checking the election status of all the localities

individually forms a place and it is easy for him to announce the election result. The

administrator is the soul controller of the online voting system in all process including refreshing

the votes, editing the voter details, creating new nominee and so on. Thus the online voting

system can reduce the cost and effort of election process.

In this voting system each voter will be provided with a specific voter-id and a password

through which access for the voting can be granted. If once the access is granted for a voter-id

then the access is denied for logging in till the voting system is refreshed for the next election.

Similarly the administrator will be provided with a special id through which he can view the

status of the election.

Based on the id segregation between the voter and administrator is carried out initially. If the

user id is invalid then an error message will be displayed. If the id entered is of type

administrator then an information i.e., the election status will be displayed which changes

dynamically. Otherwise the voter information will be displayed which changes dynamically

depending on the changes made which will proceed him to the next level in which he can cast his

vote and it is updated automatically.

The advantages of the online voting system is that the speed of information retrieval and

updating is made easy and other advantage are

High level security to avoid illegal polling.

Online implementation makes it easy for voters to participate in election.

As for considering election commission board it becomes easier to conduct election.

Election expenses can be reduced.

Non-Residential citizens can also participate in the election.

3

Page 8: Naren Project Report

2.2.Rational Rose:

The Rational Environment was organized around a persistent intermediate representation

(DIANA), providing users with syntactic and semantic completion, incremental compilation, and

integrated configuration management and version control. To overcome a conflict between

strong typing and iterative development that produced recompilation times proportional to

system size rather than size-of-change, the Rational Environment supported the definition of

subsystems with explicit architectural imports and exports; this mechanism later proved useful in

protecting application architectures from inadvertent degradation. The Environment's Command

Window mechanism made it easy to directly invoke Ada functions and procedures, which

encouraged developer-driven unit testing.

The Rational Environment ran on custom hardware, the Rational R1000, which implemented a

high-level architecture optimized for execution of Ada programs in general and the Rational

Environment in particular. The horizontally-microprogrammed R1000 provided two independent

64-bit data paths, permitting simultaneous computation and type checking. Memory was

organized as a single-level store; a 64-bit virtual address presented to the memory system either

immediately returned data, or triggered a page fault handled by the processor's microcode.

Rational provided code generators and the cross-debuggers for then-popular instruction set

architectures such as the VAX, Motorola 68000, and x86; much of this was accomplished

through a partnership with Tartan Labs, founded by Bill Wulf to commercialize his work on

optimizing code generators semi-automatically produced from architecture descriptions (PQCC).

5

Page 9: Naren Project Report

2.3.VISUAL BASIC:

Visual Basic (VB) is the third-generation event-driven programming language and integrated

development environment (IDE) from Microsoft for its COM programming model. VB is also

considered a relatively easy to learn and use programming language, because of its graphical

development features and BASIC heritage.

Visual Basic was derived from BASIC and enables the rapid application development (RAD)

of graphical user interface (GUI) applications, access to databases using Data Access Objects,

Remote Data Objects, or ActiveX Data Objects, and creation of ActiveX controls and objects.

Scripting languages such as VBA and VBScript are syntactically similar to Visual Basic, but

perform differently.

A programmer can put together an application using the components provided with Visual

Basic itself. Programs written in Visual Basic can also use the Windows API, but doing so

requires external function declarations.

The final release was version 6 in 1998. Microsoft's extended support ended in March 2008

and the designated successor was Visual Basic .NET (now known simply as Visual Basic).

Microsoft has developed derivatives of Visual Basic for use in scripting. Visual Basic itself is

derived heavily from BASIC, and subsequently has been replaced with a .NET platform

version.Some of the derived languages are:

Visual Basic for Applications (VBA) is included in many Microsoft applications

(Microsoft Office), and also in many third-party products like SolidWorks, AutoCAD,

WordPerfect Office 2002, ArcGIS, Sage Accpac ERP, and Business Objects Desktop

Intelligence. There are small inconsistencies in the way VBA is implemented in different

applications, but it is largely the same language as VB6 and uses the same runtime

library.

VBScript should not be confused with ASP.NET which uses the .NET Framework.

7

Page 10: Naren Project Report

Visual Basic .NET is Microsoft's designated successor to Visual Basic 6.0, and is part of

Microsoft's .NET platform. Visual Basic.Net compiles and runs using the .NET

Framework. It is not backwards compatible with VB6. An automated conversion tool

exists, but fully automated conversion for most projects is impossible.[14]

StarOffice Basic is a Visual Basic compatible interpreter included in StarOffice suite,

developed by Sun Microsystems.

Gambas is a Visual Basic inspired free software programming language. It is not a clone

of Visual Basic, but it does have the ability to convert Visual Basic programs to Gambas.

VBScript is the default language for Active Server Pages. It can be used in Windows scripting

and client-side web page scripting. Although it resembles VB in syntax, it is a separate language

and it is executed by vbscript.dll as opposed to the VB runtime. ASP All versions of the Visual

Basic development environment from 1.0 to 6.0 have been retired and are now unsupported by

Microsoft. The associated runtime environments are unsupported too, with the exception of the

Visual Basic 6 core runtime environment, which will be officially supported by Microsoft for the

lifetime of Windows 7. Third party components that shipped with Visual Studio 6.0 are not

included in this support statement. Some legacy Visual Basic components may still work on

newer platforms, despite being unsupported by Microsoft and other vendors.Development and

maintenance development for Visual Basic 6 is possible on legacy Windows XP, Windows Vista

and Windows 2003 using Visual Studio 6.0 platforms, but is unsupported. Documentation for

Visual Basic 6.0, its application programming interface and tools is best covered in the last

MSDN release before Visual Studio.NET 2002. Later releases of MSDN focused on .NET

development and had significant parts of the Visual Basic 6.0 programming documentation

removed. The Visual Basic IDE can be installed and used on Windows Vista, where it exhibits

some minor incompatibilities which do not hinder normal software development and

maintenance. As of August 2008, both Visual Studio 6.0 and the MSDN documentation

mentioned above are available for download by MSDN subscribers.

9

Page 11: Naren Project Report

3. PLANNING:

3.1. MS-Office Project 2010:

The tool that we are using for planning is the MS-Office Project 2010. Using this tool we are

going to track our project development progress. The tool is very easy to use so that we can able

to easily pictorically denote our project’s progress. In our project we are going to plan for the

modules like login, area selection, ballot sheet and status viewing.

Create and maintain an optimized project execution plan

Forecast and manage detailed project costs and track variances against the budget

Track and analyze project progress according to the project plan

Communicate and report project plans and progress effectively with useful reports

and graphical representations of project information

Plus, Project 2010 can be used with existing Project files and previous versions of Microsoft

Office applications, so you can start enjoying the benefits right away.

Project Professional 2010 also provides collaborative enterprise project management

capabilities when used with Microsoft Office Project Server 2010.

Project 2010 enables users to better:

Create and Maintain Plans:

Schedule projects to get productive quickly and ensure that projects are delivered on time

and within a budget.

Set up projects quickly to lower project cycle time and improve efficiency.

The Project Guide, a step-by-step interactive guide, has been improved to quickly and easily

enable users to set up projects, manage tasks, resources, and task status, and report project

information. This feature helps start projects faster and manage project elements effectively.

Save time with templates and promote consistency throughout the project to increase

overall effectiveness.

11

Page 12: Naren Project Report

A rich set of out-of-the-box templates in Project 2010 helps accelerate the project creation

process. A Project template pre-populates task and resource information, and applies formatting,

macros, and other project-specific settings.

Forecast and Manage Costs:

Monitor project financials to forecast and manage project costs and track variances

against the budget.

Assign costs to project tasks, providing a clearer picture of the project’s total cost

The new Cost Resources feature enables users to assign costs to tasks and provides new fields for

cost information that enable better project accounting, resulting in precise project cost estimates.

This feature also supports integration of Project 2010 with many popular accounting systems.

Track and Analyze Progress:

Track and analyze project progress effectively according to the project plan to get clear

visibility into project risks and issues, and to gain better project insight.

3.2. PLANNING FOR ONLINE VOTING SYSTEM:

Figure 3.2.1 - The project plan for online voting system

13

Page 13: Naren Project Report

GANTT CHART:

Figure 3.2.2 - The Gantt chart for online voting system

15

Page 14: Naren Project Report

4. COST ESTIMATION

4.1. COCOMO II

The cost plays a major role in developing the projects. So we have to calculate the cost

estimates of our projects in a effective way so as to have a very good project development. In our

project the cost estimation depends upon the staff and the days they are going to work on the

particular module so that the working costs can be borne by the organization by funding the

staffs.

COCOMO II Effort Equation:

The COCOMO II model makes its estimates of required effort (measured in Person-

Months – PM) based primarily on your estimate of the software project's size (as measured in

thousands of SLOC, KSLOC)):

Effort = 2.94 * EAF * (KSLOC)E

Where

EAF Is the Effort Adjustment Factor derived from the Cost Drivers

E Is an exponent derived from the five Scale Drivers

As an example, a project with all Nominal Cost Drivers and Scale Drivers would have an EAF of

1.00 and exponent, E, of 1.0997. Assuming that the project is projected to consist of 8,000 source

lines of code, COCOMO II estimates that 28.9 Person-Months of effort is required to complete

it:

Effort = 2.94 * (1.0) * (8)1.0997 = 28.9 Person-Months

COCOMO II Schedule Equation:

The COCOMO II schedule equation predicts the number of months required to complete

your software project. The duration of a project is based on the effort predicted by the effort

equation:

Duration = 3.67 * (Effort)SE

17

Page 15: Naren Project Report

Where

Effort Is the effort from the COCOMO II effort equation

SE Is the schedule equation exponent derived from the five Scale Drivers

Continuing the example, and substituting the exponent of 0.3179 that is calculated from the scale

drivers, yields an estimate of just over a year, and an average staffing of between 3 and 4 people:

Duration = 3.67 * (42.3)0.3179 = 12.1 months

Average staffing = (42.3 Person-Months) / (12.1 Months) = 3.5 people

In our project we are going to estimate the cost for 12 module like login, view personal

details, select the voting area, ballot sheet, administrator menu, view status, New nominee,

change authentication, change voter details, new voter, select status area, voter

authentication.

4.2 COST ESTIMATION OF ONLINE VOTING SYSTEM:

Figure 4.2.1 - COCOMO tool diagram for online voting system

19

Page 16: Naren Project Report

COCOMO II MODEL:

Figure 4.2.2 - COCOMO II model for online voting system

21

Page 17: Naren Project Report

OVERALL PHASE:

Figure 4.2.3 - Overall phase distribution of online voting system phases

OVERALL COST ESTIMATION

Figure 4.2.4 - Overall cost estimation on online voting system

23

Page 18: Naren Project Report

5. ANALYSIS PHASE

The Analysis is done with the help of Rational Requisite Pro. The three views or reports

which form the basis for analysis are

1. Attribute Matrix

2. Traceability Matrix

3. Traceability Tree

5.1 ATTRIBUTE MATRIX

The Attribute Matrix view is a spreadsheet like display that lists the requirements of a specific

requirements type and their attributes. Requirements are arranged in rows, listed by tag number

and followed by requirement name. Attributes are arranged in columns.

Figure 5.1 - Attribute matrix for the online voting system

25

Page 19: Naren Project Report

5.2 TRACEABILITY MATRIX

Traceability Matrix is a view that illustrated the relationships between requirements of the

same or different types. We can use this matrix to create, modify and delete traceability

relationships and view indirect relationships and view direct relationships and traceability

relationships with a suspect state. We can also use the traceability matrix to filter and sort the

requirements and columns requirements separately.

Figure 5.2 - The traceability matrix for the online voting system

27

Page 20: Naren Project Report

5.3 TRACEABILITY TREE

A view that displays all internal and external requirements traced to or from a requirement.

The traceability tree only displays the first level project traceability.

Figure 5.3.1 - The traceability tree (into) for the online voting system

29

Page 21: Naren Project Report

Figure 5.3.2 - The traceability tree (out of type) for the online voting system

31

Page 22: Naren Project Report

6. SOTWARE DESIGN:

6.1. USE CASE MODEL

The Use Case Model describes the proposed functionality of the new system. A Use Case

represents a discrete unit of interaction between a user (human or machine) and the system. A

Use Case is a single unit of meaningful work; for example login to system, register with system

and create order are all Use Cases. Each Use Case has a description which describes the

functionality that will be built in the proposed system. A Use Case may 'include' another Use

Case's functionality or 'extend' another Use Case with its own behavior.

Use Cases are typically related to 'actors'. An actor is a human or machine entity that

interacts with the system to perform meaningful work.

33

Page 23: Naren Project Report

6.1.1. USE CASE DIAGRAM

Figure 6.1.1 - Use case diagram for online voting system

35

Page 24: Naren Project Report

6.1.2.USECASE SPECIFICATION:

LOGIN

Brief Description

 The use case describes how Voter and administrator logs into the online voting system.

Flow of Events

Basic Flow

 This use case starts when the Voter and administrator wishes to Login to the Online voting

system.

1. The System requests that the Voter and administrator to enter his/her voter-id, user-id,

authentication type and password.

2.  The voter and administrator’s user-id, voter-id and password.

3. The System validates the entered user-id, voter-id, authentication type and password and

logs the user into the System

Alternative Flows

Invalid Name/Password

If, in the Basic flow, the user enters an invalid user-id, voter-id, atuthentication and/or

password, the system displays an error message. The user chooses to either return to the

beginning of the Basic flow or cancel the login, at which point the use case ends.

Special Requirement

 None

Pre-Conditions

None

Post-Conditions

 If the use case was successful, the user is now logged into the system based on the

authentication type. If not, the System State is unchanged.

37

Page 25: Naren Project Report

SELECT AREA

 Brief Description

 The administrator and the voter have to select the area in which either the voting has to be done

or the locality where the voting status has to be viewed.

 Basic flow

 1. The user must provide the system with the state, district and locality.

2. The user has to lock each and every selection so that the locality cannot be altered.

 Alternate flow

 If the voter or the administrator doesn’t select the locality completely then they will neither be

allowed the cast the vote nor can view the election status in progress.

 Special Requirements

 None

  Pre-Conditions

 The user has to first login by giving the type of authentication which allows them to select area.

 Post-Conditions

 If the use case was successful, the voter will reach the ballot sheet where he can cast the vote

and the administrator will reach the election status page to view the election status of the

particular locality.

 

39

Page 26: Naren Project Report

BALLOT SHEET

 Brief Description

 This use case is enables the voter to cast the vote and register him as valid voter and his status as

voted.

 Basic flow

 1. The voter moves on to the ballot sheet by providing the following details

a) State

b) District

c) Locality

2. If the voter does not select any nominee to cast his vote then his decision is first confirmed by

the system and then his vote is registered as not willing to vote to anyone. Else the vote is

registered to the selected nominee.

 Alternative flow

If the voter doesn’t wish to vote for any one then he/she should not select any candidate in the

ballot sheet then must click cast vote and log out to register as not willing to vote to any one.

 Special Requirements

 None

 Pre-Conditions

 The voter has to initially provide the online voting system with the state, district and locality.

 Post-Conditions

 If the casting of vote is successful then the voter-id is registered to voted status such that he

cannot login again.

 Extension Points

 None

41

Page 27: Naren Project Report

ELECTION STATUS

Brief Description

 This use case helps the administrator to view the election status for each locality uniquely with

graph to enable easy view of status

Basic flow

 This use case used by the administrator to view the election status of the election which is

already in progress which is displayed based on the locality which the administrator selects.

Alternate flow

 If the election viewing area is not selected then the election status cannot be viewed by the

administrator unless he provides the full details about the area.

Special Requirements

 None

Pre-Conditions

 The administrator can view the status only if the election viewing locality is already being given

to the system as input.

Post-Conditions

 If the administrator views the election status then the he can only return to main menu.

 Extension Points

 None

43

Page 28: Naren Project Report

6.2. USE CASE ANALYSIS SOLUTION

ACTIVITY DIAGRAM:

Activity diagrams as defined in the Unified Modeling Language are derived from various

techniques to visually illustrate workflows. Much of the basis for the definition of the activity.

Activity diagramming techniques have mostly been used in the process modeling domain.

LOGIN:

Figure 6.2.1 - Activity diagram for login

45

Page 29: Naren Project Report

PERSONAL DETAILS:

Figure 6.2.2 - Activity diagram for personal details

47

Page 30: Naren Project Report

The voter selects the view to see the result

System displays the no. of vote of each nominee & also winner

CAST VOTE:

Figure 6.2.3 - Activity diagram for casting vote

VIEW STATUS:

49

Figure 6.2.4 - Activity diagram for viewing status

Page 31: Naren Project Report

voter

User nameUser idPassword

Validate()

administrator

User nameUser idPassword

Validate()

Login

user namepassworduser idauthentication

authentication()

Class diagram-Login

CLASS DIAGRAM:

The class diagram is the main building block in object oriented modelling. They are being used

both for general conceptual modelling of the systematics of the application, and for detailed

modelling translating the models into programming code. The classes in a class diagram

represent both the main objects and or interactions in the application and the objects to be

programmed

LOGIN:

Figure 6.2.5 – Class diagram for login

51

Page 32: Naren Project Report

voter

user namevoter idDOBAreaGenderPhone numberAge

View()Exit()

administrator

user namevoter idDOBAreaGenderPhone numberAge

View()Edit()Exit()

Personal details

AdministratorVoter

View()Edit()Exit()

Class diagram-Personal details

REGISTERATION:

Figure 6.2.6 – Class diagram for personal details

53

Page 33: Naren Project Report

CAST THE VOTE:

Polling form

Nominee nameSymbol

Select()Accept()

Poll account

Nominee nameSymbolUser name

Save()

Polling controller

Validate()

Figure 6.2.7 Class diagram for casting the vote

VIEW THE STATUS:

View form

Nominee nameSymbolNo. of vote

Display()

View result account

Nominee nameSymbolNo. of voter

Save()

Printer

Nominee nameSymbolNo. of voter

Print()

Figure 6.2.8 Class diagram for viewing the status

55

Page 34: Naren Project Report

7. CODE IMPLEMENTATION:

Form 1 - LOGIN FORM

Dim db As Database

Dim rs As Recordset

Dim a As String

Dim b As String

Dim c As String

Dim d As Integer

Private Sub Command1_Click()

MsgBox ("Previous step not available")

End Sub

Private Sub Command2_Click()

Dim xs As String

Dim n As Integer

If (Text1.Text = "") Then

xs = MsgBox("Enter the user id", , "user id missing")

If (Text2.Text = "") Then

xs = MsgBox("Enter the password", , "Password missing")

End If

If (Text3.Text = "") Then

xs = MsgBox("Enter the voter id", , "voter id missing")

End If

If (Option1.Value = True) Then

For i = 1 To rs.RecordCount

a = Trim(rs(0))

b = Trim(rs(1))

57

Page 35: Naren Project Report

c = Trim(rs(2))

d = Trim(rs(3))

If (Text1.Text = a) And (Text2.Text = b) And (Option1.Caption = c) And (CInt(Text3.Text) = d)

Then

If (Trim(rs(4)) = 0) Then

Form2.Show

Form1.Visible = False

Else

n = 1

End If

Else

rs.MoveNext

End If

Next i

ElseIf (Option2.Value = True) Then

For j = 1 To rs.RecordCount

a = Trim(rs(0))

b = Trim(rs(1))

c = Trim(rs(2))

d = Trim(rs(3))

If (Text1.Text = a) And (Text2.Text = b) And (Option2.Caption = c) And (Text3.Text = d) Then

Form5.Show

Form1.Visible = False

Else

rs.MoveNext

End If

Next j

Else

xs = MsgBox("Select authentication type", , "Authentication error")

End If

If (n = 1) Then

59

Page 36: Naren Project Report

xs = MsgBox("You have casted the vote already", , "illegal voting")

End If

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Form_Load()

Dim xs As String

Set db = OpenDatabase("C:\Users\yogibear\Desktop\Venkatesh\Online.mdb")

Set rs = db.OpenRecordset("Authentication")

xs = MsgBox("Connected to the database", , "Connection")

Command4.Enabled = False

End Sub

Form 4 - BALLOT SHEET

Dim db As Database

Dim rs As Recordset

Dim rs1 As Recordset

Dim xa As String

Dim xb As String

Dim xc As String

Private Sub Command2_Click()

Dim xs As String

Dim x As Integer

Dim m As Integer

x = 0

m = 0

61

Page 37: Naren Project Report

If (Option1.Value = True) Then

rs1.MoveFirst

For i = 1 To rs1.RecordCount

If (Trim(Text1.Text) = Trim(rs1(3))) Then

rs1.Edit

rs1(4) = CInt(rs1(4)) + 1

rs1.Update

rs1.MoveNext

m = 1

Else

rs1.MoveNext

End If

Next i

ElseIf (Option2.Value = True) Then

rs1.MoveFirst

For i = 1 To rs1.RecordCount

If (Trim(Text2.Text) = Trim(rs1(3))) Then

rs1.Edit

rs1(4) = CInt(rs1(4)) + 1

rs1.Update

rs1.MoveNext

m = 1

Else

rs1.MoveNext

End If

Next i

ElseIf (Option3.Value = True) Then

rs1.MoveFirst

For i = 1 To rs1.RecordCount

If (Trim(Text3.Text) = Trim(rs1(3))) Then

rs1.Edit

63

Page 38: Naren Project Report

rs1(4) = CInt(rs1(4)) + 1

rs1.Update

rs1.MoveNext

m = 1

Else

rs1.MoveNext

End If

Next i

Else

xs = MsgBox("You are not willing to vote for any one", vbYesNo, "Not interested to vote")

If (vbYes) Then

x = 0

End If

If (vbNo) Then

xs = MsgBox("Try voting by selecting respective radio buttons", , "Try to vote again")

End If

End If

rs.MoveFirst

For i = 1 To rs.RecordCount

If (Form2.Label12.Caption = CInt(Trim(rs(3)))) Then

rs.Edit

rs(4) = 1

rs.Update

x = 1

Else

rs.MoveNext

End If

Next i

If (x = 1) Then

xs = MsgBox("Your decision has been registered", , "No vote")

End If

65

Page 39: Naren Project Report

Form1.Text1.Text = ""

Form1.Text2.Text = ""

Form1.Text3.Text = ""

Form1.Option1.Value = False

Form1.Option2.Value = False

Form1.Show

Form1.Show

Form4.Visible = False

If (m = 1) Then

xs = MsgBox("Vote casted", , "vote")

End If

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Command4_Click()

Form3.Show

Option1.Value = False

Option2.Value = False

Option3.Value = False

Form4.Visible = False

End Sub

Private Sub Form_Load()

Set db = OpenDatabase("C:\Users\yogibear\Desktop\Venkatesh\Online.mdb")

Set rs = db.OpenRecordset("Authentication")

Set rs1 = db.OpenRecordset("Voting")

If (Form3.Combo1.ListIndex = 0) Then

xa = Form3.Combo1.List(0)

67

Page 40: Naren Project Report

ElseIf (Form3.Combo1.ListIndex = 1) Then

xa = Form3.Combo1.List(1)

End If

If (Form3.Combo2.ListIndex = 0) Then

xb = Form3.Combo2.List(0)

ElseIf (Form3.Combo2.ListIndex = 1) Then

xb = Form3.Combo2.List(1)

End If

If (Form3.Combo3.ListIndex = 0) Then

xc = Form3.Combo3.List(0)

ElseIf (Form3.Combo3.ListIndex = 1) Then

xc = Form3.Combo3.List(1)

End If

rs1.MoveFirst

For i = 1 To rs1.RecordCount

If (Trim(rs1(0)) = xa And Trim(rs1(1)) = xb And Trim(rs1(2)) = xc) Then

If (Text1.Text = "") Then

MsgBox ("Entered 1")

Text1.Text = rs1(3)

rs1.MoveNext

ElseIf (Text2.Text = "") Then

Text2.Text = rs1(3)

rs1.MoveNext

Else

Text3.Text = rs1(3)

rs1.MoveNext

End If

Else

rs1.MoveNext

End If

Next i

69

Page 41: Naren Project Report

Text1.Enabled = False

Text2.Enabled = False

Text3.Enabled = False

End Sub

Form 6 - VIEW STAUS

Private Sub Command2_Click()

Form11.Show

Form6.Visible = False

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Command4_Click()

Form5.Show

Form6.Visible = False

End Sub

Private Sub Form_Load()

Set db = OpenDatabase("C:\Users\yogibear\Desktop\Venkatesh\Online.mdb")

Set rs1 = db.OpenRecordset("Voting")

If (Form11.Combo1.ListIndex = 0) Then

xa = Form11.Combo1.List(0)

ElseIf (Form11.Combo1.ListIndex = 1) Then

xa = Form3.Combo1.List(1)

End If

If (Form11.Combo2.ListIndex = 0) Then

xb = Form11.Combo2.List(0)

71

Page 42: Naren Project Report

ElseIf (Form11.Combo2.ListIndex = 1) Then

xb = Form11.Combo2.List(1)

End If

If (Form11.Combo3.ListIndex = 0) Then

xc = Form11.Combo3.List(0)

ElseIf (Form11.Combo3.ListIndex = 1) Then

xc = Form11.Combo3.List(1)

End If

rs1.MoveFirst

For i = 1 To rs1.RecordCount

If (Trim(rs1(0)) = xa And Trim(rs1(1)) = xb And Trim(rs1(2)) = xc) Then

If (Label11.Caption = "") Then

Label11.Caption = rs1(3)

Label12.Caption = rs1(4)

rs1.MoveNext

ElseIf (Label13.Caption = "") Then

Label13.Caption = rs1(3)

Label14.Caption = rs1(4)

rs1.MoveNext

Else

Label15.Caption = rs1(3)

Label16.Caption = rs1(4)

rs1.MoveNext

End If

Else

rs1.MoveNext

End If

Next i

Label2.Caption = xa

Label8.Caption = xb

Label10.Caption = xc

73

Page 43: Naren Project Report

MSChart1.Row = 1

MSChart1.RowLabel = Label11.Caption

MSChart1.Data = Label12.Caption

MSChart1.Row = 2

MSChart1.RowLabel = Label13.Caption

MSChart1.Data = Label14.Caption

MSChart1.Row = 3

MSChart1.RowLabel = Label15.Caption

MSChart1.Data = Label16.Caption

End Sub

75

Page 44: Naren Project Report

8. SCREEN SHOTS

Form 1

LOGIN SCREEN:

Figure 8.1 - The login page for moving to the next screen based on authentication type

77

Page 45: Naren Project Report

Form 2

PERSONAL DETAILS:

Figure 8.2 - The personal details which is viewed by the voter after logging in

79

Page 46: Naren Project Report

Form 3

SELECT VOTING AREA:

Figure 8.3 - The area selection menu for the voters to move to ballot sheet

81

Page 47: Naren Project Report

Form 4

BALLOT SHEET:

Figure 8.4 - The ballot sheet screen for the voter to cast their vote

83

Page 48: Naren Project Report

Form 5

ADMISTRATOR MENU:

Figure 8.5 - The administrator menu appears if the authentication type is administrator

85

Page 49: Naren Project Report

Form 5

RESETTING THE ELECTION STATUS:

Figure 8.6 - The administrator is refreshing the election system

87

Page 50: Naren Project Report

Form 11

SELECT THE STATUS VIEWING AREA:

Figure 8.7 - The status viewing locality is first selected by the administrator to view status

89

Page 51: Naren Project Report

Form 6

VIEW STATUS OF ELECTION:

Figure 8.8 - The administrator is viewing the election status with graph and no. of votes

91

Page 52: Naren Project Report

Form 7

CREATE NEW NOMINEE:

Figure 8.9 - The new nominee details are entered to register him for the election

93

Page 53: Naren Project Report

Form 8

CHANGE ADMINISTRATOR AUTHENTICATION:

Figure 8.10 - The authentication user-id and password of the administrator is changed

95

Page 54: Naren Project Report

Form 9

EDIT VOTER DETAILS:

Figure 8.11 - The voter’s personal details is edited and password is changed by the administrator

97

Page 55: Naren Project Report

Form 10

CREATE NEW VOTER:

Figure 8.12 - The new voter is created by the administrator

99

Page 56: Naren Project Report

Form 12

USER ID AND PASS WORD FOR NEW USER:

Figure 8.13 - The user name and password is created for the new voter created

101

Page 57: Naren Project Report

9. CONCLUSION:

Thus the mini project on online voting system was done. The main aspects that are behind online

voting system is that they enabled us to bring out the new ideas that sustained within us for many

days. This project will be a successful one because this project offers the voters to cast their vote

easily through internet and also counting votes are made easy.

10. BIBLIOGRAPHY

Software Engineering Theory and practices, Shari Lawrence pfleeger, Joanne

M.Atlee, Third edition, Pearson Education,2006.

Roger S. Pressman, Software Engineering- A Practitioner’s Approach, McGraw-Hill

International Edition, Seventh Edition, 2009.

Mastering UML with Rational Rose 2002, Wendy Boggs, Michael Boggs, Sybex

International Edition 2005

http://sunset.usc.edu/COCOMOII/cocomo.html , information about COCOMO-II.

http://stsc.hill.af.mil/stscs.html , project management and cost estimation details.

http://en.wikipedia.org/wiki/Unified_Modeling_Language , UML modeling

information.

103

Page 58: Naren Project Report