Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Course final project: Online voting system design report COMP 723 software design and implementation Spring 2011 Ying Shi, Lei Pan May 2 nd, 2011."— Presentation transcript:

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

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

3 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.

4 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...

5 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)

6 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

7 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

8 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.

9 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.

10 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.

11 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.

12 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.

13 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

14 Work flow Over view of the total work flow

15 Work flow Officer

16 Work flow Administrator

17 User Work flow

18 Voter Work flow

19 Candidate Work flow

20 Auditor Work flow

21 Overview of total election flow Work flow

22 flow1 Work flow

23 flow2 Work flow

24 flow3 Work flow

25 UML Design The Overview UML of Whole System

26 UML Design UML of Main System View & Controller Users Election

27 UML Design UML of Election Subsystem

28 UML Design UML of Voter Design

29 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

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

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

32 5. Flyweight in Ballot Design Patterns in the System Design

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

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

35 Questions

36 Thank you


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

Similar presentations


Ads by Google