Course final project: Online voting system design report

Slides:



Advertisements
Similar presentations
ELECTORAL SYSTEM IN INDIA AND U.K ELECTORAL SYSTEM IN INDIA AND U.K.
Advertisements

Class Name List of responsibilitiesList of collaborations Layout.
ETen E-Poll ID – Strasbourg COE meeting November, 2006 Slide 1 E-TEN E-POLL Project Electronic Polling System for Remote Operation Strasbourg.
Lesson 7: The Voting Process. Opening Discussion Have you ever voted for something before? How was the winner decided? Did you think the process was fair?
Virginia Election Law: What Every Candidate Needs to Know! Linda Lindberg, General Registrar Arlington County, Virginia.
Your Community Association Partner Community Association Meetings: Owner Meetings & Board Meetings Trish Harris April 5, 2014.
1 CS2SPE- Group project presentation Haia Al-Majali Bojin Zhou Rania Ali Suraj Patel Fatima Tunc Victoria Casas Sam Diab 19 th March 2008.
Getting Ready: 2013 General City Election. What is Election Consolidation? For decades, City Clerks conducted their City’s elections independently from.
1. 2 CVM’s OBJECTIVES u to stimulate the creation of savings and their investment in securities; u to promote the expansion and regular and efficient.
Design Patterns. What are design patterns? A general reusable solution to a commonly occurring problem. A description or template for how to solve a problem.
Electronic Suffrage Brandon Lloyd Travis Sparks December 3, 2002.
An Introduction to E-Verify North Carolina Office of State Personnel.
Objectives Analyze how the administration of elections in the United States helps make democracy work. Define the role of local precincts and polling places.
Chapter 7: The Electoral Process Section 2
SEMINAR TOPIC ON GLOBAL WIRELESS E-VOTING
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Auditing of the Internet voting system: Estonian case Prof. Ülle Madise Member of the National Electoral Committee.
Objectives Analyze how the administration of elections in the United States helps make democracy work. Define the role of local precincts and polling places.
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
Evoting using collaborative clustering Justin Gray Osama Khaleel Joey LaConte Frank Watson.
18 April 2005CSci 210 Spring Design Patterns 1 CSci 210.
Object Oriented Software Engineering Chapter 16 and 17 review 2014/06/03.
Title Carolina First Steering Committee October 9, 2010 Online Voting System Design Yinpeng Li and Tian Cao May 3, 2011.
2015 AAUW CALIFORNIA ELECTION One Member, One Vote.
PowerPoint 7: The Voting Process. Opening Discussion Have you ever voted for something before? How was the winner decided? Did you think the process was.
DESIGN PATTERNS COMMONLY USED PATTERNS What is a design pattern ? Defining certain rules to tackle a particular kind of problem in software development.
Software Design Patterns Curtsy: Fahad Hassan (TxLabs)
Unit E – Electoral Process Chapter 7 / Section 1 The Nominating Process.
Academic Year 2014 Spring Academic Year 2014 Spring.
Design Patterns Introduction
Electoral Systems CHV2O. What is an Electoral System? O How countries elect their government O 7A&feature=BFa&list=PL800A4ECED70779.
Lesson 6: The Voting Process. Opening Discussion Have you ever voted for something before? How was the winner decided? Did you think the process was fair?
What’s on 2012? Performance audit Presentation: Lars Florin, AFROSAI-E Secretariat.
THE BASICS OF VOTING Requirements: –Must be a US Citizen –18 years or older –Must be a resident of the state In most states prison inmates and the mentally.
VOTER REGISTRATION OVERVIEW REGISTRATION BASICS Registration is ImportantQualificationsRequirementsProcessing ApplicationsResidency.
An Internet Voting System Manager Yonghua Li Kansas State University March 28, 2002 MSE Project - Phase 2.
PowerPoint 7: The Voting Process. Opening Discussion Have you ever voted for something before? How was the winner decided? Did you think the process was.
PowerPoint 7: The Voting Process. Opening Discussion Have you ever voted for something before? How was the winner decided? Did you think the process was.
1 NPE Election Results Process 3 Scanned Results Slips Results slips must be scanned and the images must be available on the system to enable.
Secondary PowerPoint 7: The Voting Process
Object-Orientated Analysis, Design and Programming
Secondary PowerPoint 8: The Voting Process
Training for developers of X-Road interfaces
Digital Reporting System for Political Parties
Government and its Citizens
Chapter 10 Design Patterns.
MPCS – Advanced java Programming
Design Patterns Lecture part 2.
Introduction to Design Patterns
ERO Portal Overview & CFR Tool Training
The U.S. Government Standard 2.
Election Security Best Practices
Secondary PowerPoint 8: The Voting Process
Primaries A meeting of the enrolled members of a political party held during consecutive hours at which such members or electors may, without assembling.
Slide Deck 8: The Voting Process
Slide Deck: The Voting Process (Municipal Elections)
Slide Deck 9: The Voting Process
Timeline & Key Dates Relative to the 2018 General Elections
Chapter 7: The Electoral Process Section 2
Chapter 7: The Electoral Process Section 2
Slide Deck: The Voting Process (Municipal Elections)
PowerPoint 8: The Voting Process
Chapter 7: The Electoral Process Section 2
REGION VI REGIONAL LEADERSHIP CONFERENCE Aug 10th-12th, 2018
Chapter 7: The Electoral Process Section 2
PowerPoint 7: The Voting Process
CFR Enhancement Session
Slide Deck 10: The Voting Process
Slide Deck 9: The Voting Process
Voting: how to register and cast your vote
Presentation transcript:

Course final project: Online voting system design report COMP 723 software design and implementation Spring 2011 Ying Shi, Lei Pan May 2nd, 2011

Content Voting system requirements User study (user stories) Work flow (process diagram) UML design Design patterns in the system design

Voting system requirements Overview The system must be able to support the organization and carrying out of elections at national, state, and local levels.   It must allow voters to register and vote online. It must maintain the normal prohibitions against one person voting more than once in any single election. It must maintain the normal prohibition against non-registered voters voting in any elections. It must also maintain the normal prohibition of any one voter being registered in more than one place.

Voting system requirements(cont.) Overview (cont.) The system must allow novel forms of election to occur... for example, we will want to have elections as we do now (meaning all voting in a single day) but we also will want to have elections that occur over longer periods of time... weeks, perhaps months. We will want to allow flexible voting policies... for example, we may want an election where once your vote is cast it is irrevocable; we may also want elections where a voter can log on and change his/her vote as many times as desired... as long as it is prior to the end of the election. We want the system to have an information structure to make it easy for the voters to get at least candidate statements, party platforms, information about voting process, and the law of the land. The system must support the gathering of statistical information...

Voting system requirements(cont.) Main Entities Election Choice (issue, referendum) Ballot (collection of choices) Candidate Election officer Voter (citizen) Electorate (registered voters) Documents (laws, news, instructions, statements, etc.) Talley (vote count)

Voting system requirements(cont.) Activities of the system Documents the law of the land (constitution, etc.) Documents election laws Documents candidate/party statements/platforms Authenticate voters when voting Register voters Enforce one-vote-per-voter-per-issue (or whatever the rules are)   Talley votes, keep statistics Report results

Voting system requirements(cont.) Design Issues Develop the Use Cases for the system Let Use Cases guide your CRC cards sessions Go from cards (concepts and relationships) to classes May have many objects in the system that are not part of the card design... "Internal" components of the patterns, etc. may have many methods to implement a single responsibility identify the variances... areas that appear right for pattern creation Develop a user interface... program to an interface, not an implementation  favor object composition over inheritance

User Study (user stories) As an election organizer/voting holder/election officer: I want a voting system with different scales so that I carry the elections out at national, state, and local levels. I want the voting system to be completely electronic and digitalized, so that it allows voters to register and vote online. I want a counter in the voting system so that it can provide normal prohibitions against one person voting more than once in any single election. I want an identity authentication in the voting system so that it can save the voter’s personal information and authenticate the legality of the voters.

User Study (user stories) As an election organizer/voting holder/election officer(cont.): I want an identity authentication in the voting system so that it can provide normal prohibition of any one voter being registered in more than one place. I want a regular form of election so that I can hold the all voting in a single day. I want a regular form of election so that I can have elections that occur over longer periods of time. I want a statistical calculator so that the voting system can show me the results every day, on every region, on every party or individual. I want an identity management in the voting system so that it can offer different access authorities to different types of users to the voting system.

User Study (user stories) As an election organizer/voting holder/election officer(cont.): I want an identity authentication in the voting system so that it can provide normal prohibition against non-registered voters voting in any election. I want a function that gives me the authority to access the information based on my identity and title. I want that the voting system has flexible voting policies, so that the voting can be conducted in different ways in different regions. I want a counter and a restriction for the voting system so that once a voter’s vote is cast it is irrevocable. I want a message sending function so that I can send messages to related voters.

User Study (user stories) As a voter/electorate: I want a profile management section on the voting system so that I can check and modify personal information. I want a “re-vote” function on the voting system so that I can log on and change my vote as many times as desired as long as it is prior to the end of the election. I want a “Check my result” function on the voting system so that I can log on and check who or which one I have voted. I want an information board in the voting system so that it is easy for me to get at least candidate statements, party platforms, information about voting process, and the law of the land.

User Study (user stories) As a voter/electorate(cont.): I want an information reminder in the voting system so that once there is new information about the candidates and parties, the system can remind me. I want a deadline reminder in the voting system so that once the voting deadline is approaching, the system can remind me.

User Study (user stories) As an auditor: As an auditor, I want an independent module in the voting system for me so that I can audit, administrate and review the voting process without request the authority to access the private information or modify the system data. As a random net people: As a random net people, I want a function to check current elections without logging in the system.   As a random net people, I want a function to get general voting information ( e.g. voting introduction, voting deadline, candidate introduction and so on) introduction of a defined election As a random net people, I want a function to check the voting result of finished elections. As a reporter/analyst: As an election reporter/analyst, I want a private access to the voting system that supports the gathering of statistical information

Work flow Over view of the total work flow In this section, process flows of different types of users and the election itself are illustrated in the process diagram. These diagrams show all possible behaviors and states of different users when they are using this voting system. The online voting system provides different functions to different users based on the system requirements and the user identities. The process flows also show how the system work and cooperate with the subsystems.

Work flow Officer When an officer of an election successfully logged in, he can choose to manage all messages sending and receiving in this election; manage the election information, setting or updating the election rules, time limit, or manage user information, including verify and delete some particular users

Work flow Administrator When a system administrator successfully logged in, he can manage the whole system more powerfully. A system administrator can control all subsystem including message system, statistics system and database system. He can also backup the system data in case of disaster. An officer can only manage a specific election that he or she is assigned to, while an administrator can manage all elections that are conducting in the system.

Work flow User Before a user is logged in, he or she is prompted to sign in. After successfully logged in, users can get different types of information and update their own information. They can choose different elections to register. They can also send messages to their friends to remind them the election is conducted.

Work flow Voter After a voter is successfully logged in, he or she can choose an election to register. He or she can vote or revote based on the time limit and the rules of the election. Voters can also check the voting history of their selves or somebody else.

Work flow Candidate After candidates successfully logged into the system, they can manage their information for all the elections that they are participating. They can also check the current voting results.

Work flow Auditor Auditor can audit the whole voting process of some particular elections that they are assigned to. They can announce the legality of the election if they find no problem during the voting process; otherwise they can report the problems to the officers or election organizers.

Work flow Overview of total election flow In the election flow, we can see the whole life cycle of a particular election from beginning till end.

Work flow flow1 An election and its sub-elections are created by the administrator or organizer (officer), rules, time limit and restrictions are set. Then candidates and their information are added to the election.

Work flow flow2 Then the election is open for users to register. Voters can get kinds of information and update their own information. Voters are checked for their identities and authorities before they vote or revote for some candidates. The system outputs some current results to all candidates, voters, officers and analysts at different stages of the election process.

Work flow flow3 After the voting is expired, system calculates and announces the current election results to auditors. Then system checks all results from sub-elections and calculates the total results from current stage. At the end, system combines both current results and sub-results and returns this total final result to upper-level election before it ends.

UML Design The Overview UML of Whole System

UML Design View & Controller Users Election UML of Main System

UML Design UML of Election Subsystem

UML Design UML of Voter Design

Design Patterns in the System Design 1. The Composite Pattern and Iterator Pattern in Election 2. The Façade Pattern and Strategy Pattern for Various Statistic systems

Design Patterns in the System Design 3. The Proxy Pattern and Decorator Pattern for Authorized privilege of Election

Design Patterns in the System Design 4. The Observer Pattern for Election Data Updating

Design Patterns in the System Design 5. Flyweight in Ballot

System User Interface Design 1. The Factory Method for User Creation

System User Interface Design 2. The Memento Pattern in Revocable Electorate of Voter

Questions

Thank you