1 / 0

Course final project: Online voting system design report

Course final project: Online voting system design report. COMP 723 software design and implementation Spring 2011 Ying Shi, Lei Pan May 2 nd , 2011. Content. Voting system requirements User study (user stories) Work flow (process diagram ) UML design Design patterns in the system design.

airell
Télécharger la présentation

Course final project: Online voting system design report

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Course final project: Online voting system design report

    COMP 723 software design and implementationSpring 2011 Ying Shi, Lei Pan May 2nd, 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. Work flow User
  18. Work flow Voter
  19. Work flow Candidate
  20. Work flow Auditor
  21. Work flow Overview of total election flow
  22. Work flow flow1
  23. Work flow flow2
  24. Work flow flow3
  25. UML Design The Overview UML of Whole System
  26. UML Design View & Controller UML of Main System 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. Design Patterns in the System Design 5. Flyweight in Ballot
  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
More Related