85
Abstract The purpose of this project is to change the election procedure that was been followed in our country since a number of decades. It aimed in developing online voting software that will maintain all the information about voters candidates and election commission. This system will cut short very long procedure of voting that was in practice in our country .The candidate and voters can access this software very effectively. Any inconvenience in voters can be rectified in fraction of seconds. Voters will have direct contact with election commission so that any complaints and advices can be directly sent to election commission (EC). In our voting software the voter will provide d with a login and password with the help of this he can access throughout the site .Until the day of polling it will act as a public site through which voters and candidates can login , register and get the required information that he needs to know about elections . But on the day of election it help us to access out votes. This project also proposed an alternative system for illiterates to obtain their voter id, voting rights by providing a representative to help the people to make them understand the system and providing required information and support. We design interface and mechanism for offline voting. In this system all process like issue of voter ids, selecting candidates, electing candidates, counting votes and announcing winners. Every eligible person and candidates will have their own profiles in which they can campaign, send messages, quote promises etc…,

online national polling

Embed Size (px)

DESCRIPTION

online national polling full documentation

Citation preview

Page 1: online national polling

Abstract

The purpose of this project is to change the election procedure that was been followed in our country since a number of decades. It aimed in developing online voting software that will maintain all the information about voters candidates and election commission.

This system will cut short very long procedure of voting that was in practice in our country .The candidate and voters can access this software very effectively. Any inconvenience in voters can be rectified in fraction of seconds. Voters will have direct contact with election commission so that any complaints and advices can be directly sent to election commission (EC).

In our voting software the voter will provide d with a login and password with the help of this he can access throughout the site .Until the day of polling it will act as a public site through which voters and candidates can login , register and get the required information that he needs to know about elections . But on the day of election it help us to access out votes.

This project also proposed an alternative system for illiterates to obtain their voter id, voting rights by providing a representative to help the people to make them understand the system and providing required information and support. We design interface and mechanism for offline voting.

In this system all process like issue of voter ids, selecting candidates, electing candidates, counting votes and announcing winners. Every eligible person and candidates will have their own profiles in which they can campaign, send messages, quote promises etc…,

This project supports both ONLINE AND OFFLINE POLLING so to ensure all sections of people can participate in voting . The main objective of this project is to make a voting procedure simple and efficient so that voting percentage in our country increases by minimizing the cost of polling .It can speed the counting of ballots and improve accessibility for desired voters

Page 2: online national polling

INDEX

1. Introduction

1.1 Scope

1.2 UML

1.3 Basic blocks of UML

1.4 Software Engineering activities

1.5 Rational Rose

2. Problem specification

2.1 Existing system

2.2 Proposed system

3. Requirement Elicitation

3.1 Functional Requirements

3.2 Non Functional Requirements

3.2.1 Software Requirements

3.2.2 Hardware Requirements

3.3 Use case Model description

3.3.1 Use case diagram

4. Analysis

4.1 Introduction to analysis

4.2 Interaction diagram

4.2.1 Introduction

Page 3: online national polling

4.2.2 Sequence diagram

4.2.3 Collaboration diagram

4.3 State chart

4.3.1 Introduction

4.3.2 State chart diagram

4.4 Class diagram

4.4.1 Introduction

4.4.2 Class diagram

5. System design

5.1 Introduction

5.2 Component and Deployment diagrams

5.2.1 Component diagram

5.2.2 Deployment diagram

6. Implementation

6.1 Introduction to Implementation

6.2 Introduction to Activity diagram

6.3 Activity diagram

7. Testing

8. Conclusion

9. Bibliography

INTRODUCTION

Page 4: online national polling

1.1 Scope:

The scope of this project is to provide an efficient online polling system in nation in order to increase the polling percentage and reducing the cost of polling. It provides platform for users, candidates and election commissioner for better interaction. It lessens malpractices in polling system.

1.2 Unified Modeling Language:

The UML is a graphical language for specifying, visualizing, documenting. All the three major stages of Object Oriented development such as OOA, OOD and OOP can make use of UML.

Advantages of modeling:

Makes easy to enhance, and manipulation of existing system.

Helps to carry in visualizing the system to be developed

Permits to specify the structure and behavior of the system

Used as a template to construct a proposed system

For capturing the requirements

1.3 Basic blocks of UML:UML has three basic blocks:1. Things 1.1 Structural things 1.2 Behavioral things 1.3 Grouping things 1.4 Annotational things

2. Relationships 2.1 Association 2.2 Generalization 2.3 Composition 2.4 Specialization 2.5 Aggregation 2.6 Inheritance

3. Diagrams 3.1 Static 3.1.1 Class/Object diagram 3.1.2 Component 3.1.3 Deployment 3.2 Dynamic 3.2.1 Use case diagrams3.2.2 Interaction 3.2.3 State chart

Page 5: online national polling

3.2.4 Sequence 3.2.5 Collaboration 3.2.6 Activity

1.4 Software Engineering Activities: 1. Requirement Elicitation 2. Analysis 3. System Design 4. Object Design 5. Implementation 6. Testing

Requirements Elicitation:During requirements elicitation, the client and developers define the purpose of the system. The result of this activity is a description of the system in terms of actors and use cases. Actors are those who interact with the system. Actors may be end users or the computers that interact with the system. Use case diagram will be drawn here.

Analysis:During analysis, developers aim to produce the model of the system that is correct, complete, consistent and unambiguous. The system will be modified from use cases into object model that completely describes the system. Class diagram, Object diagram, Interaction diagrams such as sequence diagram and collaboration diagram, State chart diagram will be drawn in this phase.

System Design:During the system design goals of the project and decompose the system into smaller subsystems that can be realized by the individual terms. This also involves strategy selection which includes access control policy, data flow policy, data management, hardware configuration, software configuration. Component diagram will be drawn here.

Object Design:During object design, developers define solution domain objects to bridge the gap between the analysis model and the hardware/software platform defined during the system design. The result of the object design activity is a detailed object model annotated with constraints and precise descriptions for each element.

Implementation:

Page 6: online national polling

During implementation, developers translate the solution domain model into source code. This includes implementing the attributes and methods of each object integrating all the objects such that they function as a single system.

Testing: During testing, developers find differences between the system and it models by executing the system with sample data sets. During unit testing, developers compare the object design model with each object and subsystem. During integration testing, combinations of subsystems are integrated together and compared with the system design model. During system testing, typical and exception cases are run though the system and compared with the requirements model. The goal of testing is to discover as many faults as possible such that they can be repaired before the delivery of the system.

1.5 Rational Rose:The Rational Rose scripting language is an extended version of the summit basic script language. The Rational Rose extensions to basic scripting allow you to automate Rational Rose specific functions, and in some cases perform functions that are not available through the Rational Rose user interface

The application’s method recommends the use of static and dynamic views of a logical model and a physical model to capture the in-process products of object-oriented analysis and design. Using the notation, the application enables you to create and refine these views within an overall model representing your problem domain and software system.

This overall model contains classes use cases, objects, packages, operations, component packages, components, processors, devices and the relationships between them. Each of these model elements possesses model properties that identify and characterize them. The notation provides graphical icons to represent each kind of model element and relationship.

A model also contains diagrams and specifications, which provide a means of visualizing the model’s elements and their model properties. Since diagrams are used to illustrate multiple views of a model, icons representing a model element can appear in none, one, or several of a model’s diagrams. The application therefore enables you to control which element, relationship, and property icons to appear on each diagram, using a facilities provided by its application window, and each specification in a specification window.

2. Problem Specification2.1 Existing System:

Page 7: online national polling

The existing polling system is a ballot or EVM system which is very complex and harder to maintain. It is very expensive and time consuming process. It doesn’t provide any interaction among public, candidate and election commission.

2.2 Proposed System:

This project supports both ONLINE AND OFFLINE POLLING so to ensure all sections of people can participate in voting . The main objective of this project is to make a voting procedure simple and efficient so that voting percentage in our country increases by minimizing the cost of polling .It can speed the counting of ballots and improve accessibility for desired voters.

3. REQUIREMENT ELICIATION

3.1 Functional Requirements:

Page 8: online national polling

Online registration for the voter id card which will be verified by the field officers (address and identity validation) and after receiving the field officer’s report only the registration will be validated and a voter id will be issued.

Those already having a voter id card can register for the online voting system, they will use their voter id as their username and a separate password will be used for secure authentication.

The election commission will be able to use the site to let the candidates register for their nomination on the site and their officers will validate it. Candidates can run their election campaign through forums and chat room.

A detailed profile of all the candidates constituency wise will be maintained so that voters can always know about the candidates of their area.

Once registered whenever polling is done in any area that area’s people will be able to vote for their favorite candidates.

Devise a mechanism that ensures duplicate voting is not happening. The system would show the current statistics as well on the website about how many

votes which candidates have got. Later when the voting ends the administrator can add the manual polling results to the

database to calculate the final result which will immediately be flashed on the site. Facilitate appropriate communication between all stakeholders-discussion

forum/chat/mail/polls. Candidates should be able to modify selected portions of their profile after registration

for nominations like the promises they make about the things to do after winning the elections, their previous works, their experiences and a comprehensive about me, etc.,

3.2 Non Functional Requirements: Secure access of confidential data. SSL can be used. 24x7 availability. Better component design to get better performance at peak time. Flexible services based architecture will be highly desirable.

3.2.1Software Requirements: Operating system : Windows XP Programming Language : Java Platform : J2SE, J2EE Server Soft-wares : Tomcat 5.0 Bank-End : Oracle-9i Editor : Rational Rose Software Browser used : Google Chrome 6.0 Documentation : Microsoft Word2007 Web server : UML, J2EE, XML, WEB2.0

3.2.2Hardware Requirements:

Client Side Processor : Pentium processor

Page 9: online national polling

RAM : 512MB Cache Memory : 512KB Hard Disk : 10GB Display : Super VGA(800*600)

Server Side Processor : Pentium processor RAM : 512MB Cache Memory : 512KB Hard Disk : 10GB Display : Super VGA (800*600)

3.3 Use Case Model Description:A use case description contains the following information:

Name of the use case Participating actors Entry condition Flow of events Exit condition

By using the above information we can get the overview of a use case diagram at a glance.

3.3.1 Use Case Diagram:A use case diagram contains the following:

Actors Use Cases Relationships

Actor:Actors represent system users. An actor is one who interacts with system and utilizes the services provided by the system. An actor may be a person or an external system or an organization.

Actor can be represented by:

Use Cases:

Actions performed by the actors to interact with system to get services. A use case represents a goal that an actor wants to achieve by interacting with our system. A use case represents sequence of events performed to achieve a task.

Page 10: online national polling

The basic shape of use case is an ellipse:

Relationship:Relationships tie things together. Relationships from actor to use case and between use cases are possible. Relationship from use case to actor is not possible.Relationships are two types:

Association Relationship Dependency relationship

Association Relationship: The relationship from actor to use case is called “Association Relationship”.It can be represented by straight line. It is a unidirectional.

Dependency Relationships: The relationship between two use cases is called “Dependency Relationship”.

It can be represented by dotted line. It is also unidirectional.………………>There are four dependency relationships:

Include Extends Uses Inheritance

Include: Include relationship is used when there is a continuous flow in between two use cases.

Extends: Extends relationship is used in exceptional cases. <<extends>>

Base Use Case Extinding UseCase

Online national polling Use case model description

S.No Name of The Use case

Participating actors

Entry condition

Flow of Events Exit condition

Page 11: online national polling

1. Voter id Registration

General public, Database

Enter Details Through this use case public register for voter ids.

Submit form

2. Validation of information

Field officer Login As Field officer

Field officer validates the registered application and provide voter id and password.

logoff

3. Profile login General public, admin

Voter id and password

By using username and password user logins into his personal profile.

Logoff.

4. Profile General public,field officer,admin

Login User will maintain his profile having personal details.

Logoff

5. Nomination of candidate

Registered Voter,Database

Enter Details Candidates will post their nominations by filling application form.

Submit

6. Issuing nomination

Admin Login Admin will authenticate candidate nomination

Logoff

7. Candidate profile

Candidate,Admin,Database

Login Candidate maintains his profile by providing personal and profile information.

Logoff

8. Registration for online polling

Registered Voter, Admin, Database

Enter details Registered voter will apply for online polling by filling application form and admin will provide username and password.

Submit.

9. Online polling Registered voter,Admin

Login Registered voter will participate in Voting and cast his /her vote.

Logoff

10. Registration of manual polling

Registered User,Field Officer.

Enter Details Registered Voter will apply for manual polling and field officer will authenticate and gives permissions.

Submit

11. Manual Voting Registered Voter, Represen-tative,EVM

Verify Registered Voter will participate in voting and cast his/her vote.

Logoff

12. Result Admin, Candidate

Login Admin will announce result. Logoff

Page 12: online national polling

home page

user login & profile

candidate login & profile

Election notification

important dates

constuencies & candidates

latest news

applying voter id link

public profile

candidate profile

registration for online polling link

registration for offline polling link

online polling link on polling date

server database

winners of the Election

general public

Main Use Case of Online National Polling

Page 13: online national polling

Personal information

Contact informationAddress verification

Application form with app ID

General Public

Home page

Voter ID reg

<<includes>>

Req for voter id card

<<includes>>

<<includes>>

Upload Nativity Certificate

Upload DOB Certificate

Submit

Finger Print

Upload photo

Field Officer

<<extends>>

<<extends>>

<<extends>>

Sub use case for online registration for the voter id card

Page 14: online national polling

rejectsend msg by mail to profile

invalid

send reason

homepage

validation of the application

enter the application id

view the application

validate the details of the user

authenticte the certification

valid

field officer

<<extends>>

<<extern>>

<<includes>><<includes>>

<<includes>>

<<includes>>

issue a voter id card with unique id

<<includes>>

admin

inform the client

<<includes>>

Sub use case for validation of information by field officer

Page 15: online national polling

Register for voter ID

invalid

Welcome note

Web Home Page

Sign In

<<includes>

gen public

Voter ID and password

<<includes>>

<<extends>>

<<valid>>

admi

<<extends>>

Sub use case for profile login of general public

Page 16: online national polling

photoperson Adress

Edit deletechange

cancel

<<includes>> <<includes>> <<includes>> <<extends>>

savecancel

Search

My Profile

<<includes>> <<includes>>

Candates in Constuency

Post Quest to candate

chat

general public

Message

Admin<<includes>>

<<extends>>

<<extends>>

Name,party,sign

Information of candiate

<<includes>>

<<includes>>

Sub use case for the profile of general public

Page 17: online national polling

Independent

full Nomination

Take fringer prints Digital sign

<<includes>>

Type of Nomination with party

full Nomination form

<<includes>>

candiate

Login

Post Nomination

<<includes>>

<<includes>>

Upload the letter/ticket from party president

Upload the copy of Income certificate

<<includes>>

upload DB,voter ID nativity certificate

Enter the voter ID's of candiates supporting

<<includes>>

Fringer prints &signature of candiate

submit

admin

<<includes>>

<<extends>>

Sub use case for nominating the candidates

Page 18: online national polling

Independent

full Nomination

Take fringer prints Digital sign

<<includes>>

Type of Nomination with party

full Nomination form

<<includes>>

candiate

Login

Post Nomination

<<includes>>

<<includes>>

Upload the letter/ticket from party president

Upload the copy of Income certificate

<<includes>>

upload DB,voter ID nativity certificate

Enter the voter ID's of candiates supporting

<<includes>>

Fringer prints &signature of candiate

submit

admin

<<includes>>

<<extends>>

Sub use case for nomination of candidate

Page 19: online national polling

Nomin ID

Indipendent

send message to renominate

Invalid

Database

search Nomination<<extends>>

validate the info of supporters

<<extends>>

fringer prints & digital sign

<<extends>>

independent

Receive the Nomination

Validate the Nominate Details

<<extends>>

check and Autheticate the Certificate provison

<<includes>>

E.C.O

confirm Nomination

provide the Nomin ID & pswd to the Nominate by

confirm the Nomination

Allocate sign to candiate

<<includes>>

candiate

Sub use case for checking the Nominations of Candidates & issuing the Clearance

Page 20: online national polling

personal info Address & contact infophoto

change save

Edit

cancel save

current

previous political states

previous

party,contesting forscat,on sign,constiency

add new dont save

save

view

Edit

delete

add new

view

compose

save clear

Edit save

don't save

delete posts

Repulation in public,Events participates

promises made

search people

profile

political carrier

political messages during compaiging

Answer the public Q/A

candiate

chat room

admin

<<includes>>

<<includes>>

<<includes>>

<<includes>><<includes>>

<<extends>>

<<includes>><<extends>>

<<extends>><<includes>>

<<includes>> <<extends>>

<<inclides>>

<<includes>>

<<includes>>

<<includes>>

<<extends>>

<<includes>>

<<extends>>

<<includes>><<includes>>

<<includes>>

<<includes>><<includes>>

<<extends>>

<<includes>><<includes>>

<<includes>>

Sub use case for the profile of nominated candidate.

Page 21: online national polling

fill reg form

okcancel

obtain reg form

Login

Type of voting

online voting

Enter voter ID

submit

validate the user details

provide a link by sending Email

select on link

Enter voter ID

select Date of voting

issue user Name,password

General public

store voter ID in DB

admin

<<includes>>

<<includes>>

<<extends>> <<extends>>

<<includes>>

<<includes>><<extends>>

Sub use case for public registration for online polling

Page 22: online national polling

invalid

if not received pswdResend

invalid

invalid

candiate list,select the candiate

submit vote

<<includes>>

Resubmit

vote casted

gen public

Enter into polling site

voter ID,pswd<<extends>>

Display list of candiates

<<includes>>

participate in voting

Enter user name,pswd

<<extends>>

send new pswd to Email

<<valid>>

<<extends>>

Enter username,voterID,new pswd

<<extends>>

<<includes>>

Deactivate voter ID

admin

<<includes>>

Sub use case for Online polling at the time of voting

Page 23: online national polling

online

public

printcancel

Enter VID

Registration for polling

Manual

Fill the application

submit

validate

issue the booth no & address

Field officer

take VID

record VID as manual

ECO

<<includes>>

<<extends>><<includes>>

<<includes>>

<<includes>>

<<includes>><<extends>>

Sub use case for public registration for manual polling

Page 24: online national polling

Record VID

Representative

Invalid

Show the candidate list with symbols

beep sound

already voted

show VID

show Print out

Provide access to voting device

public

ask for Finger print

cast Finger print

<<include>>

<<extends>><<includes>>

cast vote<<extends>>

beep sound &succes msg

<<includes>>

Exit

<<includes>>

lock voting device

Voting Device Server

Sub use case for general public manual voting

Page 25: online national polling

compare the votes of all candidates

Database vote of Online

Database votes in offline

select the Candidate

Retrive the votes polled in online

retriebve the votes polled in Offline/Manual

add votes of Online and Offline

ECO

Server

declare winner

display on the website

<<includes>>

send E-mail to winner

<<extends>>

Sub use case for counting of votes

Page 26: online national polling

4. ANALYSIS

4.1 Introduction to Analysis:Analysis focuses on producing a model of the system called the analysis model, which is correct, complete, consistent, and verifiable. Analysis model is composed of three individual models.

Functional model Analysis object model Analysis dynamic model

The functional model is represented with use case diagrams, the object model with class diagrams, and the dynamic model with state chart and sequence diagrams.

Concepts:Analysis object models and dynamic modelsEntity, boundary and control objectsRelationships

Generalization Relationship:

A generalize relationship between the classes shows that the sub class shares the structure or behavior defined in one or more super classes. Use a generalize relationship to show a “is-a” relationship between classes.Specialization Relationship:

An association provides a pathway for communication. The communication can be between use cases, actors, classes or interfaces. Associations are the most general of all relationships and consequentially the most semantically weak. If two objects are usually considered independently, the relationship is an association.Aggregate Relationship:

Use the aggregate relationship to show a whole and part relationship between two classes.Navigation:

It is unidirectional association.

Page 27: online national polling

4.2 Interaction diagram:

4.2.1 Introduction to Interaction Diagram:

Both sequence and collaboration diagrams are kinds of interaction diagrams. An interaction diagram shows an interaction, consisting of a set of objects or roles, including the message that may be dispatched among them.

A sequence diagram is an interaction diagram that emphasizes the time ordering of messages. A collaboration diagram emphasizes the organization of objects that participate in an action.

Interaction diagrams are used in two ways:

1. To model flows of control by time ordering.2. To model flows of control by organization.

4.2.2 Sequence Diagram:

It displays the interaction between objects that focus on the message from a temporal stand point. The sequence diagram representation focuses on expressing interaction. An object is represented by a rectangle and its life line is represented by a vertical bar and dashed line.

Sequence diagram show interaction between objects in a system and also specify in which those interactions happen and add the dimension of time to your diagram.

In sequence diagram we only talk about time and ordering but not about duration of time.

In sequence diagram objects are sometimes referred to as participants.

We say that objects communicate in a sequence diagram but this doesn’t mean in strict sense that these objects should be instance of the class.

Objects in sequence diagrams interact by sending messages to each other. Activation bar show the execution of any operation that the object carries out.

Sequence diagram contains;

Object Swim lance/life line Message passing

1. Object message2. Return message3. Self message

Page 28: online national polling

Message icons:

A message icon represents the communication between objects indicating that an action will follow. The message icon is a horizontal , solid arrow connecting two lifelines together.

1: message icon with sequnce no

Lifeline:

Each object appearing on a sequence diagram contains a dashed ,vertical line , called a lifeline ,which represents the location of an object at a particular point in time .The lifeline also serves as a place for messages to start and stop and a place for the focus of control to reside.

:object

Page 29: online national polling

:user :Display :server :App DB :pin DB

1: Login page

2: Enter Username &pswd 3: Forward to server4: send to pin DB

5: validation

6: ok7: show8: show home page

9: click on valid App

10: App ID

11: Enter App ID 12: Forward to server13: send to App DB

14: Access App

17: Take App ID

15: send to Display

16: show

18: Ask for Certificates19: send to server 20: forward

21: Retrive

22: Resend23: 24: show

25: Validate Certificates

26: issue Voter ID 27: Req store to DB28: Req store voter ID with App ID

29: store voter ID with App ID

30: inform to client

Sequence diagram for validating information of Field Officer

Page 30: online national polling

:USER :DISPLAY :SERVER :PIN DBN

1: show login pg

2: enter username &password3: forward to server

4: check in db

5: validate

6: yes

7: display home page

8: welcome note

Sequence diagram for login profile of general public

Page 31: online national polling

Sequence Diagram for checking Nomination of Candidate

:USER :DISPLAY :SERVER :DB :PIN DB :NOM CANDIADTE

1: admin login2: req to server

3: send to pin db

4: validate

5: search nomination6: send to server

7: forward to db

8: retrive

9: found10: forward

11: show12: validate

13: serch suportes id 14: forward 15: send to db16: retrive

17: send to server

18: forward19: show

20: confirm nomination 21: forward

22: processs usr name & password

23: send username &pass word

24: store data

Page 32: online national polling

:USER :DISPLAY :SERVER :DB :PIN DB :NOM CAND

1: see req sign2: send sign to server

3: check for avilability

4: available5: show avilable

6: allocate sign 7: send to server8: store to db

9: stored

10: send nom candidate11: send message

Sequence Diagram for checking Nomination of Independent Candidate

Page 33: online national polling

:USER :DISPLAY :SERVER :APP DB :PIN DB :ADMIN

1: home page2: login

4: send to server3: forward to pin db

5: validate

6: valid7: redirect to reg

8: reg page

9: select type of polling

10: select online

11: ask for id

12: enter id13: forward14: retrive from app db

15:

16: retrive17: send

18: show

19: fill

20: submit 21: forward to serve 22: send to admin23: validate

24: provide a new link

25: redirect

26: show link

28: click on link

27: redirect

29: new page30: ask for vid

31: enter vid32: forwaerd to server 33: send to pindb

34: validate

35: send to server36: select date

37: date selected 38: forward39: verify

40: issue username &password

41: generate42: send mail

43: req successful

Sequence Diagram for public registration for Online Polling

Page 34: online national polling

:USER :DISPLAY :SERVER :PIN DB :CAN DB :VOTING DB

1: enter into polling site

2: voter id &pswd

3: enter voter id &pswd4: send to server 5: send to pin db

8: validate

9: valid

7: forward

6: display candidate list

10: participate in voting

11: show login page

12: enter user name &passward13: forward 14: send to pin db

15: validate

16: ok

17: generate new user name and password

18: send link

19: display link

20: select link

21: open new window

22: ask username &password

23: enter 24: forward 25: check26: validate

27: ok

28: display can list

29: disply

30: select candidate

31: submit

32: confirm

33: yes 34: redirect

35: validate36: send to db

37: update db

38: update ok

40: deactivate voter id

39: sucess message

Sequence Diagram for online Polling Day Voting

Page 35: online national polling

:USER :DISPLAY :SERVER :APP DB :PRINTER:PIN DB

1: enetr voter id 2: forward 3: send to validate4: validate

5: ok6: display

7: polling reg

8: manual p[olling 9: forward10: req to retrive

11: retrive

12: ok13: show app

14: display

15: fill app

16: submit 17: to server 18: validate19: verify

20: ok

21: enter no tro pin db

22: issue boot no.23: display

24: print 25: forward req 26: print card

27: genertate recepit

28: take printout

Sequence Diagram for general public registration for Manual Polling

Page 36: online national polling

:USER :REPRESENTATIVE

VOTING DEVICE

SERVER :DB

1: show voter id

2: showprint out3: send to server

4: record voter id

5: ok6: proviede aceess to device

7: acess provided8: ask for finger print

9: cast fingerprint 10: send to server11: validate finger print

12: valiodate

13: valid

14: show can list15: retrive list

16: give access17: display list

18: cast vote 19: send to server

20: validate21: success

22: beep sound &sucess message

23: add vote to db

24: lock voting device

25: voting device locked

Sequence Diagram for General Public during the Voting

Page 37: online national polling

:ECO USER :SERVER :ONLINE VOTES

:OFFLINE VOTES

:CANDIADTE

1: select candate

2: votes polled3: retrive on line votes

4: retrive

5: send to server6: retrive offline

7: retrive

8: send rto server

9: volidate and add votes10: display

11: req to compare12: compare votes

13: publish on website14: declare winner

15: send email to server 16: send to email

Sequence Diagram for the Counting of Voting

Page 38: online national polling

4.2.3 Collaboration Diagram:

Collaboration diagrams and sequence diagrams are alternate representations of an interaction. A collaboration diagram is an interaction diagram that shows the order of message that implement an operation or a transaction. A sequence diagram shows object interaction in a time-based sequence.

Collaboration diagrams show objects, their links, and their messages. They can also contain simple class instances and class utility instances. Each collaboration diagram provides a view of the interactions or structural relationships that occur between objects and object- like entities in the current model.

Collaboration diagrams contain icons representing objects. You can create one or more collaboration diagrams to depict interactions for each logical package in your model. Such collaboration diagrams are themselves contained by the logical package enclosing the objects they depict.

An object specification enables you to display and modify the properties and relationships of an object. The information in a specification is presented textually. Some of this information can also be displayed inside the icons representing objects in collaboration diagrams.

Page 39: online national polling

:user

:App DB

:Display

:server :pin DB

5: validation

14: Access App21: Retrive

29: store voter ID with App ID

25: Validate Certificates

1: Login page2: Enter Username &pswd

9: click on valid App11: Enter App ID

18: Ask for Certificates26: issue Voter ID30: inform to client

8: show home page10: App ID16: show24: show

3: Forward to server12: Forward to server

19: send to server27: Req store to DB

7: show15: send to Display

23:

4: send to pin DB

6: ok

13: send to App DB20: forward

28: Req store voter ID with App ID

17: Take App ID22: Resend

Collaboration diagram for validating the information of Field Officer

Page 40: online national polling

:USER :DISPLAY

:SERVER

:PIN DBN

5: validate

1: show login pg2: enter username &password

8: welcome note

3: forward to server

7: display home page

4: check in db

6: yes

Collaboration diagram for Profile Login for General Public

:USER :DISPLAY :SERVE

R

:DB

:PIN DB

:NOM CANDIADTE

4: validate

8: retrive16: retrive

12: validate 22: processs usr name & password24: store data1: admin login

5: search nomination13: serch suportes id

20: confirm nomination

11: show19: show

2: req to server6: send to server

14: forward21: forward

10: forward18: forward

3: send to pin db7: forward to db15: send to db

9: found17: send to server

23: send username &pass word

Collaboration diagram for checking nomination of candidate

Page 41: online national polling

:USER :DISPLAY

:DB

:SERVER

:NOM CAND

3: check for avilability

9: stored

1: see req sign6: allocate sign

5: show avilable

2: send sign to server10: send nom candidate

4: available

7: send to server

8: store to db

11: send message

Collaboration diagram for nomination of independent candidate

:PIN DB

:USER :DISPLAY

:SERVER

:APP DB

:ADMIN

5: validate34: validate

15:

19: fill

23: validate39: verify25: redirect

41: generate

1: home page8: reg page

9: select type of polling11: ask for id

18: show30: ask for vid

2: login10: select online

12: enter id20: submit

27: click on link31: enter vid

3: send to server13: forward

21: forward to serve28: redirect

32: forward to server

7: redirect to reg17: send

29: new page4: forward to pin db33: send to pindb

6: valid35: send to server

14: retrive from app db

16: retrive

22: send to admin38: forward

24: provide a new link40: issue username &password

26: show link36: select date42: send mail

43: req successful

37: date selected

Collaboration diagram for public registration of online polling

Page 42: online national polling

:USER

:PIN DB

:DISPLAY

:SERVER

:VOTING DB

6: validate15: validate26: validate

17: generate new user name and passward38: validate

42: deactivate voter id

40: update db

:CAN DB

29: retrive cand list

4: send to server13: forward24: forward37: redirect

8: forward18: send link

31: show cand list5: send to pin db14: send to pin db

25: check7: valid16: ok27: ok

39: send to db

41: update ok

43: success message

28: req cand list

30: send to server

1: enter into polling site3: enter voter id &pswd10: participate in voting

12: enter user name &passward20: select link

23: enter33: select candidate

34: submit36: yes

2: voter id &pswd9: display candidate list

11: show login page19: display link

21: open new window22: ask username &passward

35: confirm32: display list

Collaboration diagram for online polling day voting

Page 43: online national polling

:PRINTER

:USER

:DISPLAY

:SERVER

:APP DB

:PIN DB

4: validate

11: retrive19: verify

21: enter no tro pin db

27: genertate recepit

28: take printout1: enetr voter id

8: manual p[olling15: fill app16: submit24: print

7: polling reg14: display23: display

2: forward9: forward

17: to server25: forward req

6: display13: show app

22: issue boot no.

10: req to retrive18: validate

12: ok20: ok

3: send to validate

5: ok

26: print card

Collaboration diagram for registration for manual polling

Page 44: online national polling

:REPRESENTATIVE

:USER VOTING DEVICE

SERVER

:DB

4: record voter id20: validate

12: valiodate15: retrive list

25: voting device locked

3: send to server6: proviede aceess to device5: ok

1: show voter id2: showprint out

8: ask for finger print17: display list

22: beep sound &success message

9: cast fingerprint18: cast vote

16: give access

7: acess provided21: success

24: lock voting device

10: send to server19: send to server

11: validate finger print14: show can list23: add vote to db

13: valid

Collaboration diagram for general public voting

Page 45: online national polling

:SERVER

:ECO USER

:CANDIADTE

:ONLINE VOTES

:OFFLINE VOTES

4: retrive 7: retrive

9: volidate and add votes12: compare votes

3: retrive on line votes

5: send to server

6: retrive offline

8: send rto server

16: send to email

1: select candate2: votes polled

11: req to compare15: send email to server

10: display13: publish on website

14: declare winner

Collaboration diagram for counting of votes

Page 46: online national polling

4.3 STATECHART DIAGRAM:

4.3.1 INTRODUCTION TO STATECHART DIAGRAM:

A state chart diagram is also called “state transition diagrams”. It is used to identify the listed objects. It is going to represent how one object is going to change the states to complete a single use case.

A state diagram shows a state machine, consisting of states, transitions, events and activities. A state diagram shows the dynamic view of an object. They are especially important in modeling the behavior of an interface, class, or collaboration and emphasize the event –ordered behavior of an object, which is especially useful in modeling reactive systems.

State transition diagram provide a way to model of the various states in which the class diagrams show a static picture of the classes.

Elements in state chart diagram are:

State: Means the range of values for all properties of an object.

It is represented by

State

Transition: A state transition indicates that an object in the source state will perform certain specified actions and enter the destination state when a specified event occurs or when certain conditions are satisfied. A state transition is a relationship between two states, two activities or between an activity and a state.

It is represented by

State1

State2

Start state: The starting state is represented by the symbol

Page 47: online national polling

End state: The ending state is represented by the symbol

State chart diagram is used to model the various states in which an object can exist. While a class diagram shows the static picture of classes and their relationships. A state chart diagram shows the behavior of an object.

4.3.2 STATECHART DIAGRAMS OF ONLINE NATIONAL POLLNG:

home page

voter id registration

request for voter id

application form

fill the form

upload photo

take finger print

upload DOB and Nativity

Submit

select voter Id registration

click

return application form

save

State chart diagram for Online registration for voter id

Page 48: online national polling

home page

enter apps Id

view application

valid

issue voter ID card with unique number

sent success message

select validation

retrive form

validate the user

authenticate the forms

inform to client by sending sms

State chart diagram for validation of information

Page 49: online national polling

home page

enter apps Id

view application

valid

issue voter ID card with unique number

sent success message

select validation

retrive form

validate the user

authenticate the forms

inform to client by sending sms

State chart diagram for User login

Page 50: online national polling

login

post nomination

fill nomination form

upload letter provided by party

upload DOB,voter Id,Nativity

enter voter Id of supporting candidates

finger prints and sign of the candidates

submit

update database

retrive nomination form

submit

write to database

State chart diagram for nominating candidate

Page 51: online national polling

search nomination Id

retrive nomination form from apps D/B

validate details

authenticate certificates provided

verify finger print

confirm nomination

provide nomination id and password

confirm nomination Id

send message to the nominated candidate

enter the nomination id

upload certificates

retrieve fingerprints

if valid

State chart diagram for accepting nomination of candidate

Page 52: online national polling

login

type of vote

online voting

registration form

submit

provide link

select link

select date of voting

store to D/B

enter username and password

enter voter Id

fill form

validation

enter voter id number

issue username and password

select

State chart diagram for public registration for online voting

Page 53: online national polling

enter into polling site

login

display candidate list

enter username and password

select candidate to vote

submit

resubmit

deactivate the voter id

valid

select participate in voting

asks for resubmission

enter username and password s

validate and send new password

State chart diagram for online polling at time of polling

Page 54: online national polling

enter voter id

select manual regitration

fill application

validation

issue booth number and address

take printout

record the votes in database

validate

check all fields the felds the filled or not

retrive application

State chart diagram for registration for manual polling

Page 55: online national polling

4.4 CLASS DIAGRAM:

4.4.1 INTRODUCTION TO CLASS DIAGRAM:

It’s an UML notation representing the structure of the system in terms of objects, classes, attributes, operations and associations .Class diagrams are used to represent object models during development.

Class diagrams address the static view of a system.

The class is designed according to the functional requirements of the user.

Class: A class is a description of objects that share the same attributes, operations , relationships and semantics.

A Class attribute specification:

A Class attribute specification enables you to display and modify the properties of a class attribute in the correct model.

To display a class attribute specification, first display a class specification. Tell me how to display a specification. On the class specification, click on the attribute tab. Double-click on an attribute name.

Defining a new attribute:

While on the attribute tab of the class specification, move the cursor to the body of the specification and right-click to display the shortcut menu. Click insert, an entry item is added. Double-click on the entry to display the attribute specification.

Class Diagram Representation:

Class nameAttributes

Oprations()

Page 56: online national polling

Access Adornment:

Public:

Public access means that the members of a class are accessible to all clients. This is the default access. You can also click on the public button in the access section of the relationship specification.

Protected:

Protected access means that the members of a class are accessible only to sub classes, friends, or to the class itself.

To apply a protected access adornment to a relationship, click on the protected button in the access section of the applicable relationship specification.

Private:

Private access means that the members of a class are accessible only to class itself or to its friends.

To apply a private access adornment to a relationship, click on the private button in the access section of the relationship specification.

Multiplicity:

The cardinality field specifies the number of expected instances of the class. You can set a specific cardinality value for the client class, supplier class or both. In case of relationship, this field indicates the number of links between each instances of the supplier class.Use the following syntax to express cardinality:

Value Description

n (default) Unlimited number of instances

1 One instances only

0...n Zero or more instances

1...n one or more instances

0...1 Zero or one instance

4.4.2 CLASS DIAGRAM OF ONLINE NATIONAL POLLING:

Page 57: online national polling

Offline Userint VIDchar candname

fillReg()getPrint()casteVote()

Voter machine database

int machineId

showCand()showSuccessmsg()addVote()rejectVote()takeFingerPrint()

Voting Databaseint VIDint candID

voterOnline()voterOffline()add()profile

char nameDate DOB

home()edit()change()update()postQuery()replyMsg()search()chat()

Nomination candidate Control

Online Userint VIDchar name

retrieveApp()selDate()submit()casteVote()

voter machine Control

Online User Login controlint VIDchar nameint PWD

sendLink()displayLink()

1

*

1

*

Field Officer Control

Nominated Userint VIDchar name

postNomination()viewProfile()addProfile()delPromises()update()delete()reply()

Election Commissionerchar nameint VID

login()getApp()validate()retrieveVotes()countVotes()addCand()remCand()

Candidate Database

int candIDchar candnameint appID

candName()change()update()add()

App databaseint appId

typeofApp()update()add()delete()

Field Officerint VIDchar name

verifyVID()acceptApp()issueVID()semdMsg()add()update()delete()save()

Passwordint usernameint PWD

forgetPWD()chanePWD()

*

1

*

1

Online Polling System

*

1

*

1

1

1

1

1

*

1

*

1

general user login control

Registrationint reqIDint AppID

getApp()edit()submit()

General Userint VIDchar nameDate DOB

candLogin()fieldOffLogin()reqVidReg()

5. SYSTEM DESIGN

Page 58: online national polling

5.1 Introduction to System Design:

System design performs the following activities:

1. Design the goals for subsystems from non functional requirements.

2. Decompose the system into subsystems.

3. Mention strategies for subsystems.

Strategies:

Hardware Software Global control flow Data structures(persistent data storage) Access control policy Boundary conditions

Start up, shutdown, exception handling mechanisms

5.2 Component Diagram:

Component diagrams provide a physical view of the current model. A component diagram shows the organizations and dependencies among software components, and executable components. These diagrams also show the externally-visible behavior of the components by displaying the interfaces of the components. Calling dependencies among components are shown as dependency relationships between components and interfaces on other components. Note that the interfaces actually belong to the logical view, but they can occur both in class diagrams and in component diagrams.

Component diagrams contain:

Component packages Components Interfaces Dependency relationships

Component Packages:

Page 59: online national polling

Component packages represent cluster of logically related components, or major pieces of your system. Component packages parallel the role played by logical packages for class diagrams. They allow you to partition the physical model of the system. Typically, a component package name is the name of the file system directory. A component package can have dependencies with other component packages, components, and interfaces.

The component package is a folder shaped icon:

Components:

A component represents a software module (source code, binary code, executable, DLL, etc.) with a well-defined interfaces. The interface of a component is represented by one or several interface elements that the component provides. Components are used to show compiler and run-time dependencies among software modules. They also show which components implement a specific class.

The component is represented by the following symbol:

Interfaces:

An interface specifies the externally-visible operations of a class and/or component, and has no implementation of its own. An interface typically specifies only a limited part of the behavior of a class or component.

Dependency Relationship:

A dependency relationship between two model elements in which a change to one model element will affects the other model element. Use a dependency relationship to connect model elements with the same level of meaning. Typically, on class diagrams, a dependency relationship indicates that the operations of the client invoke operations of supplier.

Component Diagram for Online National Polling:

Page 60: online national polling

Public: Registration, Login, Profile

Candidate: Registration, Login, Profile

Admin: ECO, Field Officer

Communication System

Polling Day: Offline, Online

Database: Candidate,User, Voting, Application, Constituency

5.3 Deployment Diagram:

A deployment diagram shows the configuration of run time processing nodes and the components that live on them. Deployment diagrams address the static deployment view of architecture.

A node typical hosts one or more artifacts. We can import and generalization relationships between packages. Graphically a deployment diagram is a collection of vertices and arcs.

Deployment diagram commonly contains:

Nodes Processors Devices Connections

Dependency and association in one of three ways:

Page 61: online national polling

1. To model embedded system.2. To model client and server system.3. To model fully distributed system.

Nodes:

Node is another name for an object in the model hierarchy. Nodes are displayed in the browser window. Each node has properties, which are displayed in the property view window when the node is selected in the browser.

Examples of nodes are classes, use cases, objects, operations, components, and diagrams.

Processors:

A processor is a hardware component capable of executing programs. Each processor must have a name. There are no constraints on the processor name because processors denote hardware rather than software entities.

It can be represented by the symbol

Processor

Devices:

A device is a hardware component with no computing power. Each device must have a name. Device names can be generic, such as modem or terminal.

It can be represented by the symbol

Device

Page 62: online national polling

Connections:

A connection represents some type of hardware coupling between two entities. An entity is either a processor or a device. The hardware coupling can be direct, such as an RS232 cable, or indirect, such as satellite-to-ground communication. Connections are usually bi-directional.

Deployment Diagram for online national polling:

Communication System

Server

Database

Client

Thumb impression machine

ARCHITECTURAL STYLES:

Page 63: online national polling

1. Repository Architecture:

In this, sub systems access and modify data from a single data structure called repository. Subsystems are relatively independent and interact only through the Repository

2. Model/View/Control Architecture:

In this, subsystems are classified into three different types:

Model subsystems are responsible for maintaining domain knowledge.

View subsystem is responsible for displaying it for user

Controller systems are responsible for managing the sequence of interactions with the user.

3. Client/Server Architecture:

A subsystem, the server provides services to the instances of other subsystems called the clients, which are responsible for interacting with the user. Control flow in the clients and the server is independent except for synchronization to manage requests to or to receive results.

4. Peer to Peer Architecture:

This is a generalization of the client/server architecture in which subsystems can act both as client and as server, in the sense that each subsystem can request and provide service. The control flow within each subsystem is independent from the others except for synchronization on requests.

5. Pipe and Filter Architecture:

Subsystem process data received from a set of input and send request to other subsystems via a set of outputs. The subsystems are called filters and the associations between the subsystems are called pipes.

6. OBJECT DESIGN

Page 64: online national polling

6.1 Introduction to Activity Diagram:

An activity diagram represents all main activities of the entire project. Use case only represents what project does. Activity checks whether the given action results to failure or success which leads to other activity or self activity.

There are two types of activities:

1. Parallel activity

2. Conditional activity

Parallel Activity:

There are two types of parallel activities:

1. Fork

2. Join

Fork: If the input activity is carried out then all the activities are performed but one at a time. It can be represented by

Join: If all input activities are carried out then output activity is done.

It can be represented by

Conditional Activity:

Page 65: online national polling

There are two types of conditional activities:

1. Merge

2. Branch

Merge: If any one of the input activities are carried out the output activity is done.

It can be represented by

Branch: If the input activity is carried out then only one output activity is performed.

It can be represented by

ACTIVITY DIAGRAMS FOR ONLINE NATIONAL POLLING:

Page 66: online national polling

Home page

VOTER ID Registration

view VID applications

Fill The Form

Validate

Upload DOB,Photo

Update VID Database

Issue VIDSubmit

Success message to VID user

Activity diagram for registering for voter id and validation

Page 67: online national polling

Home Page

Login Details

Login

WrongForget

Main Menu

Post Nomination

Fill Nomination Application

upload Party Letter, DOB,VID,Nativity

upload Finger Print,Signature

Submit

view Nomination Applications

Validate

verify and Confirm Nomination id,PWD

Send E-mail

Activity diagram representing flow activities during nomination

Page 68: online national polling

Home Page

Login Details

Login

Main Menu

Type of Vote

Display Candidate List

Select Manual

Reg Form

Enter provided UID,PWD

Validate

Submit Vote Candidate

Issue booth ID and Address

provide Link

Submit Take Printout

selects date of voting and store in database

deactivate Voting of Person

Record Completion of Voting of person

Activity Diagram for Polling Day

Page 69: online national polling

7. TESTING

A primary purpose of testing is to detect software failures so that defects may be uncovered and corrected. This is a non-trivial pursuit. Testing cannot establish that a product functions properly under all conditions but can only establish that it does not function properly under specific conditions. The scope of present software testing includes examination of code as well as examining the quality aspects of code: does it do what it is supposed to do and do what it needs to do. There are several different levels of testing that are done throughout the software development process. These are outlined in the table below:

Types of Tests Used:

TEST TYPE DESCRIPTION WHITE/BLACK BOXUnit Tests a small unit of a software application. White boxIntegration Tests the interaction of small modules of a

software application.White or black box

Acceptance Testing conducted by a user to verify that the system meets the acceptance criteria.

Black box

Regression Tests new functionality in a program. Regression testing is done by running all of the previous unit tests written for a program, if they all pass, then the new functionality is added to the code base.

White box

Functional and system

Verifies that the entire software system satisfies the requirements.

Black box

7.1 Unit Testing:

Unit testing involves the design of test cases that validate the internal program logic is functioning properly, and that program input produces valid output. All decision branches and internal code flow should be validated. It is the testing of individual software units of the application. It is done after the completion of an individual unit before integration. This is a structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform basic tests at component level and test a specific business process, application, and/or system configuration. Unit tests ensure that each unique path of a business process performs accurately to the documented specifications and contains clearly defined inputs and expected results.

7.2 Functional test:

Functional tests provide systematic demonstrations that functions tested are available as specified by the business and technical requirements, system documentation, and user manuals.

Page 70: online national polling

Functional testing is centered on the following items:

Valid input : identified classes of valid input must be validated.

Invalid input : identified classes of invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified classes of application outputs must be exercised.

Systems/Procedures: interfacing systems or procedures must be invoked.

7.3 System test:

System testing ensures that the entire integrated software system meets requirements. It tests a configuration to ensure known and predictable results. An example of system testing is the configuration oriented system integration test. System testing is based on process descriptions and flows, emphasizing pre-driven process links and integration points.

7.4 Performance Test:

The performance test ensures that the output is produced within the time limits, and the time taken by the system for compiling, giving response to the users and request being send to the system for to retrieve the results.

7.5 Integration Testing:

Software integration testing is the incremental integration of two or more integrated software components on a single platform to produce failures caused by interface defects.

The task of the integration test is to check that components or software applications, e.g. components in a software system or-one step up-software applications at the company level-interact without error.

7.6 Acceptance Testing:

User Acceptance Testing is a critical phase of any project and requires significant participation by the end user. It also ensures that the system meets the functional requirements.

8. CONCLUSION

Page 71: online national polling

The purpose of the technology is to make voter free from the burden. This also provides us a chance to increase the voting percentage in general elections. It also provides a chance to voter to get clarify all the doubts he has directly from the Election Commission. The Election Commission can directly provide the election information to the voters. This will finally reduce the election burden and make the election procedure much simple.

9. BIBILOGRAPHY

Page 72: online national polling

Professional Java Server Programming Object Oriented Software Engineering by Allen H.Dutoit & Bernd Bruegge Object Oriented Development-Ali Bahrami Fundamental of Data Base Systems-Elmasri & Navathe IBM Rational Rose documentation help