On Line Voting System - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

On Line Voting System

Description:

Accessibility to the Results of Elections by General Public ... Election 3. California. Election 4. Chapel Hill. Election 5. Durham. Pattern Design. Patterns ... – PowerPoint PPT presentation

Number of Views:31956
Avg rating:3.0/5.0
Slides: 26
Provided by: jeo3
Category:
Tags: line | system | voting

less

Transcript and Presenter's Notes

Title: On Line Voting System


1
On Line Voting System
  • Dec 3
  • Woojin Seok
  • Ja-Yeon Jeong

2
Overview
  • National, States and Local Elections
  • Automatic Management based on the Policy of
    Elections
  • Creation of Elections and Candidates by Election
    Officer
  • Verification of Candidates Statements and Party
    Rep. Statements by Election Officer
  • Accessibility to the Results of Elections by
    General Public
  • Message Delivery to Election Officer from
    Candidates and Party Representative

3
Features of Actors
  • Administrator Manage the system and Configure
    the Election officer account
  • Election Officer Configure Elections and Review
    statements
  • Candidates Request update of Statement
  • Party Rep. Request update of Party Statement
  • Voter Registered Citizens
  • General Public View the Elections Statistics

4
Overall System Diagram
On Line Voting System
Login
Instruction
Administrator
Candidate
Voter
Election Officer
Party Rep.
Results/Statistics
Election
Federal
Election 2
Election 3
North Carolina
California
Registration
Election 4
Election 5
Chapel Hill
Durham
5
Pattern Design
6
Patterns
  • System Startup Command
  • Login Strategy
  • UI Decorator
  • Account Abstract Factory
  • Election Composite, Builder
  • Message Proxy
  • Voting Process Mediator, Prototype, Memento
  • Statistics Observer
  • DB manager Façade, Proxy, Template

7
Overall Design Diagram
Strategy
Command
OnLine Voting System
LoginCmd
Login
UI View
Decorator
Decorator View
Election Officer View
Voter View
Composite
Abstract Factory
Proxy
Account Factory
Election_Component
Socket Proxy
Message
Election_S
Builder
A_Election
Election
Party Rep.
Prototype
Candidate
Mediator
Voting Process
Election DB man
Template
Observer
Account DB man
Casting Votes
Statement DB man
Statistics View
Memento
DB Handler
Ballot
Facade
Proxy
Memento
8
System Startup Design
  • Command Pattern

Client
Command
OnLine Voting System
Command
  • Display UI
  • Execute()

Concrete Command
LoginCmd
  • Execute()

Receiver
Login
General Public
Instruction
Elections
  • Type, ID, Passwd
  • Authentication()
  • Handle Login Error
  • Name
  • Residency
  • Registration()
  • Usage
  • Open / Write
  • Post / Delete
  • Read()
  • Display the Result/Statistics

9
Account Design
  • Administrator, Officer, Voter
  • Account DB manager
  • Abstract Factory Pattern

10
Account Design
Account Factory
  • Type, ID, Name, Passwd
  • Changer_of_Passwd()
  • Create_Account()

Abstract Factory
Administrator
Officer
Voter
Officer Account Factory
Candidate Account Factory
Voter Account Factory
  • Type Officer
  • Create Account( type )
  • Type Candidate
  • Create Account( type )
  • Type Voter
  • Changer_of_Passwd( type )

Party Account Factory
Admin Account Factory
Administrator
Officer
  • Type Party
  • Create Account ( type )
  • Type Administrator
  • Create Account( type )

11
Login Design
  • Validation
  • Account DB manager

Strategy
Context
Login
Login View
  • Type, ID, Passwd
  • Validation(Type, ID, Passwd)
  • RunActor(Type)
  • Get (Type, ID, Passwd)
  • Login

Concrete Strategy
Administrator Login
Officer Login
Candidate Login
  • Type Admin
  • Validation(Type, ID, Passwd)
  • RunActor(Type)
  • Type Officer
  • Validation(Type, ID, Passwd)
  • RunActor(Type)
  • Type Candidate
  • Validation(Type, ID, Passwd)
  • RunActor(Type)

Party Rep. Login
Voter Login
  • Type Party Rep.
  • Validation(Type, ID, Passwd)
  • RunActor(Type)
  • Type Voter
  • Validation(Type, ID, Passwd)
  • RunActor(Type)

Strategy
12
UI Design
  • All Actors
  • Decorator Pattern

Component
View
  • Display()

Decorator
Decorator View
UI View
  • Display()
  • Display()

Concrete Decorator
Concrete Component
Administrator View
Officer View
Candidates View
  • Posting Instruction
  • Display()
  • Read Message
  • Display()
  • Create/Modify Statement
  • Display()

Voter View
Party Rep. View
  • Casting a Vote
  • Display()
  • Create/Modify Party Platform
  • Display()

13
Election Design
  • Created by Officer
  • Election DB manager
  • Patterns Composite, Builder

14
Election Design
Component
Election_Component
  • Candidate
  • Operation()
  • Add()
  • Delete()
  • Traverse()

Composite
Composite
Leaf
Election_S
A_Election
  • Candidate
  • Operation()
  • Add()
  • Delete()
  • Traverse()
  • Name, Policy

Party Rep.
.
Candidate
.
.
15
Election Design
Director
A_Election
  • Name, Policy

A_Election
  • Build Party()
  • Build Candidate()
  • Build_Candidate()
  • Build_Party()

Candidate Builder
Party Builder
  • Statement
  • Ballot
  • Read Statement()
  • Party Platform
  • Read Party Platform()
  • Build Party()

Builder
16
Message Design
  • Issued by Candidates, Party Rep.
  • Deliver Message to be Confirmed by Officer
  • Statement DB manager
  • Proxy Pattern
  • Confirmation through Embedded E-Mail System

17
Message Design
Subject
RealSubject
Socket Interface
  • Request()
  • Confirm()

Socket Proxy
Message
Candidates
  • Message
  • Result
  • Request( Message )
  • Confirm( Result )
  • Statements
  • Write Message( Statement )
  • Read Message( Statement )
  • Statement

Party Rep.
  • Statement

Proxy
18
Voting Process Design
  • Issued by a Voter
  • Election DB manager
  • Change the ballot of Candidate in an Election
  • Patterns Mediator, Prototype, Memento

19
Voting Process Design
  • Memento Pattern
  • The Voting Transaction should be an atomic
    operation
  • A snapshot of a ballot objects state must be
    saved so that it can be restored to that state
    later
  • Mediator Pattern
  • It encapsulates the interactions between Ballot
    and Election Objects
  • Prototype
  • It is time-consuming or complex to create a whole
    Election instance

20
Voting Process Design
Prototype
Ballot
Election
  • Cast_Vote()
  • Clone()
  • Mediator
  • Mediator
  • SetMemento( Memento m )
  • CreateMemento()
  • State

ConcretePrototype
Election
Mediator
  • Election Policy

Originator
Voting Process
  • Candidates

Memento
  • State
  • GetState()
  • SetState()

ConcreteMediator
Casting Votes
Candidate
  • Voting Transaction()
  • Change_Vote()
  • Ballot

Caretaker
Mediator
Memento
Prototype
21
Statistics Design
  • Observer Pattern
  • The Voting Cast change the Elections DB and
    Statistics

Observer
Subject
  • Update()
  • Attach(Observer)
  • Detach(Observer)
  • Notify()

Election DB
  • Update()
  • Observer State

Casting Votes
Statistics View
  • GetState()
  • SetState()
  • SubjectState
  • Voting Transaction()
  • Change_Vote()
  • Update()
  • Observer State

Observer
22
DB manager Design
  • Account DB, Statement DB, Election DB
  • Patterns Facade, proxy, template
  • Proxy
  • File access and Access Permission
  • Facade
  • Unified interface to DB systems, Make the
    subsystem easier to use
  • Template
  • Each DB inherits an abstract class

23
DB manager Design
DB
  • File Name
  • Read(), Write()
  • Create()

AbstractClass
Template
ConcreteClass
Election DB man
Statement DB man
Account DB man
  • Policy, Region
  • Candidate, Party Rep.
  • Create()
  • Statement, Owner
  • Election
  • Create()
  • Type, ID, Passwd
  • Create()
  • - Check Validation

.
.
.
.
DB Handler
  • Create()
  • Read()
  • Search()
  • Write()
  • Valid(ID, Passwd)

.
.
.
.
  • New(ID, Passwd)

Facade
24
DB manager Design
DB Handler
  • Create()
  • Read()
  • Search()
  • Write()
  • Valid(ID, Passwd)
  • New(ID, Passwd)

Validation Proxy
File Proxy
Virtual Proxy
Protection Proxy
  • Type, Name, ID, Passwd
  • Permission_Check()
  • File_name
  • Read(), Write()

DISK
25
END
  • Question ?
Write a Comment
User Comments (0)
About PowerShow.com