Professional Documents
Culture Documents
BY
Online voting or e-voting implies that a voter is allowed to cast his vote online. To support such
a system pied issues are encountered with regard to how to best accomplish the voting in a
secure way. Some of the intricacies involved are how to support both national and state level
elections, how to prevent one person from casting multiple votes, etc.
1. There should be a hierarchical relationship between the stakeholders of the system, i.e.
an owner will be at the top of the hierarchy. He has the power and privileges to add and
remove administrators. Administrators in turn will be responsible for adding voters,
candidates, researchers and general masses.
2. An administrator will be responsible for starting an election. They will also associate
candidates with any particular election.
3. Voter will be allowed to change is vote till the contest is open.
4. Researchers will have access to all post election data including the results and other
statistics.
These requirements provide a base to research the design of the system. Some of the main
entities that will be a part of such a system are:
1. Actor
a. Administrator
b. Candidate
c. Voter
d. Researcher
e. General Mass
2. ActorList
a. AdministratorList
b. CandidateList
c. VoterList
d. ResearcherList
e. GeneralMassList
3. Election
4. ElectionList
5. ElectionDocs
6. Ballot
7. VoterCode
8. CodesList
9. Information
10. InformationView
11. Request
12. Statistics
Class Diagram
1. The generalization relationship between the actors and candidates, researchers, voters,
etc is a realization of factory.
2. There is a singleton relationship between Election and ballot which matches a real life
scenario where there is only one ballot associated with each election.
6. A strategy pattern was used to generate encrypted code different algorithms can be
used depending on the administrator's decision.
10. The administrator is made as an observer and will be notified of any change that the
candidate makes.
13. Template & decorator was used for voter screen, Election screen.
15. Request like the one to validate the voter's encrypted code as Proxy.
Fig: Relationship between the interface ActorList and its inheriting classes
Fig: Relationship between InformationView and Information elicits Composition and Observer
Object Diagram: