6.online Voting System
6.online Voting System
6.online Voting System
1. PROBLEM STATEMENT
The voting server collects the votes and filters out duplicate and
invalid votes. Each voter can then check her/his vote online to ensure that her
vote has been counted correctly.
Page39
Analysis
Actors represent system users. They help delimit the system and give
a clear picture of what the system should do. It is important to note that an actor
interacts with, but has no control over the use cases.
An actor is someone or something that:
1. interacts with or uses the system
2. Provides input to & receive information from the system
3. is external to the system and has no control over the use cases
An actor can be represented as shown below:
1. Administrator
Administrator
(from Actors)
2. Candidate
Candidate
(from Actors)
3. E-mail client
Page39
email client
(from Actors)
4. Server
server
(from Actors)
5. Voter
voter
(from Actors)
4.E-mail client: It is used to sent the ballot paper to the voter and voter can reply
by sending an e-mail. It is also used to send acknowledgement to the voter after
vote is polled.
Use cases are the best discovered by examining the actors and
defining what the actor will be able to do with the system. Since all needs of a
system typically cannot be covered in one use case, it is usual to have a collection
of use cases. Together this use case collection specifies all ways of using the
system.
UML notation for the use case:
1.An ellipse containing the name of the use case inside it.
Error: Reference source not found
Voting
Page39
1.Call an election: The announcement for the election date, candidate list and the
eligible voter’s qualifications is done.
2.Create profiles: Voters can enroll themselves by sending a request to the
server.
3.Send Acknowledgement: The server sends the reply after the voter has enrolled
in which it includes the ballot number of voter which can be used as password
while authentication process.
4. Authentication Process: Any member of the organisation can log on to the
online voting system by entering their e-mail ID and Ballot number and this
prevents multiple votes by deactivating the account after casting the vote
5.Update profiles: The candidates can update their profiles after passing through
an authentication process.
6.View profiles: This use case allows the voters to view the profiles of different
candidates contesting in the election and their personal profile.
7. Voting: Each voter is allowed to cast his/her vote for the candidate of his/her
Page39
choice with the online voting system and after casting the vote the ballot number
of that voter is made invalid which avoids multiple votes.
8.Number of votes: Administrator can know the number of votes polled till date.
9.Results: Final results of the election are declared and voters can verify whether
their vote is considered or not.
Page39
4. FLOW OF EVENTS
Brief Description
This use case allows the voter to cast his vote during the time of election and then
the server deactivates the account inorder to avoid the duplicate votes.
Flow of Events
Basic Flow
This use case begins when the voter chooses to cast his vote using ballot paper.
1. The system prompts the voter to cast the vote by providing the ballot paper.
2. The voter chooses the candidate in the ballot paper and castes his vote
3. The system sends a message to voter indicating that the vote is polled.
4. The server automatically deactivates the ballot number.
Page39
Alternative Flow
Invalid vote
If, in the Basic Flow, the voter fails to select a candidate, then the system will
prompt with message “invalid vote” and makes that vote as invalid while
counting the votes.
Special Requirements : None.
Page39
5. CONSTRUCTION OF USE CASE DIAGRAMS
Uses associations
The uses association occurs when we are describing our use cases
and notice that some of them have sub flows in common to avoid describing a
sub flow more than once in several use cases, you can extract the common sub
flow and make it a use case of its own. This new use case then can be used by
other use cases. The relationships among the other use cases and this new
extracted use case are called uses association.
Extends association
An extends association is a stereo typed association that specifies
how the functionality of one use case can be inserted in to the functionality of
another use case. Extend relationships between use cases are modeled as
dependency by using the extend stereotype.
Includes association
An include association is a stereo typed association that connects a
base use case to an inclusion use case.
Page39
Administrator
(from Actors)
polled votes
(from polled votes)
call an election
(from Call an election)
Candidate voter
Results
(from Actors) (from Actors)
(from Results) server
(from Actors)
<<include>>
Authentication
process
(from Authentication process) view profile
<<include>>
(from view profile)
<<include>>
voting
(from voting)
send ack
(from send ack)
Call an
election
Create No
Profile
Yes
Yes
Login No Forget
Password
Yes
Check Polling
Date
Caste Vote
Deactivate ballot
View Profile Update
number
Profile
Send
acknowledgement
No
Polling
completed
Yes
Declare
Results
Page39
Logical View
Natural hazards
Online voting system
Password
Profile
Ration card number
Results date
Security question
System
Voter
Voting server
Website
Member
Message
Name
Online voting system
Password
Profile
Ration card number
Results date
Security question
System
Voter
Voting server
Results date
Security question
Voter
Voting server
Page39
8. IDENTIFY THE RESPOSIBILITIES OF CLASSES
Results Results
(from Results)
voting voting
(from voti ng)
Page39
10. CONSTRUCTION OF SEQUENCE DIAGRAM
Object: An object has state, behavior, and identity. The structure and
behavior of similar objects are defined in their common class. Each object
in a diagram indicates some instance of a class. An object that is not
named is referred to as a class instance.
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.
Focus of Control: Focus of Control (FOC) is an advanced notational
technique that enhances sequence diagrams. It shows the period of time
during which an object is performing an action, either directly or through
an underlying procedure.
Message to Self: A Message to Self is a tool that sends a message from
one object back to the same object. It does not involve other objects
because the message returns to the same object. The sender of a message
is the same as the receiver.
Note: A note captures the assumptions and decisions applied during
analysis and design. Notes may contain any information, including plain
text, fragments of code, or references to other documents.
Note Anchor: A note anchor connects a note to the element that it affects.
Page39
Sequence diagram for our system is as follows
: Authentication
: voter : server process
1: enter login id and ballot number
: email client
2: verification
3: V alid
4: ballot paper
5: cast vote
7: send acknowledgement
Page39
11. CONSTRUCTION OF COLLABORATION DIAGRAM
connected.
Collaboration diagram for our system is as follows
7: send acknowledgement
: email client
Page39
12. IDENTIFICATION OF ATTRIBUTES
AND METHODS OF CLASSES
Page39
Page39
14. CONSTRUCTION OF UML STATE CHART DIAGRAM
Registration
Login
View
profile
Cast vote
Acknowledgement
Declare
results
View
results
Page39
15. CONSTRUCTION OF UML STATIC CLASS DIAGRAM
the use-case i.e., they represent the dynamics of the use-case. Ex:
Registration Manager.
voting serve r
(from c las s es)
votes polled
ballot paper
online voting system status of vote
(from clas s es )
aunthentic ation()
as k sec urity question()
deactivate ballot no()
count votes ()
send ballot paper()
sending status
profile
(from c las s es )
voter
nam e (from clas ses )
ration card no email client
has em ail addres s
addres s 1 acknowledg es (from c lass es)
login id
age
1 ballot no
send ack ()
create profile() send ballot no()
cas tingvote()
update profile()
view res ults()
view profile()
view candidate profile()
administrator candidate
(from c las ses)
(from c las ses )
elec tion date
party s ym bol
res ults date
c onstituency
declare res ults ()
s ubmit nom ination()
polled votes ()
package may contain both packages and ordinary model elements .The entire
with every thing else in it .All kinds of UML model elements and diagrams can
be organized into packages .Some packages may contain groups of classes and
Our system does not contain any packages every class is independent
class ,so our entire system is considered as a single high level system package
with every thing in it.Since there are no packages there are no specific refinement
in relationships.
Page39
17. OVERALL REFINED CLASS DIAGRAM
Page39
voting server
(from classes)
votes polled:Number
ballot paper:paper
online voting system status of vote:String
(from classes)
aunthentication()
ask security question()
deactivate ballot no()
count votes()
send ballot paper()
profile
(from classes)
voter sending status
age:Number (from classes)
name:String email client
email address:String
... (from classes)
Ration card no:String acknowledges
Address:String 1 has login id:String
1 ballot no:Number send ack()
create profile() send ballot no()...
castingvote()
update profile()
view results()
view profile()
view candidate profile()
administrator candidate
(from classes) (from classes)
election date:Date party symbol:symbol
results date:Date constituency:string
declare results() submit nomination()
polled votes()
Page39