An Internet Voting System Manager - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

An Internet Voting System Manager

Description:

Internet voting system: poll site, kiosk and remote. Design a system which manages the ... Challenging project since no any background on the politics knowledge ... – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 33
Provided by: sow33
Category:

less

Transcript and Presenter's Notes

Title: An Internet Voting System Manager


1
An Internet Voting System Manager
MSE Project - Phase 3
  • Yonghua Li
  • Kansas State University
  • October 14, 2002

2
Give my thanks to
  • Dr. Maria Zamfir-Bleyberg
  • Dr. William Hsu
  • Dr. David Gustafson

3
Presentation Overview
  • Project Overview
  • Project Requirement
  • Object Model Design (revised)
  • Sources Code Module Walk-Through
  • Test Evaluation
  • Project Evaluation
  • Demo

4
Project Overview
  • Internet voting system poll site, kiosk and
    remote
  • Design a system which manages the voting and
    makes ballot cast through the internet
  • Also to improve the integrity and fairness of
    voting
  • Easy and reliable to use

5
Project Overview Data Flow Graph

IVSM
6
Project Requirements
  • Develop component server side IVS Manager
  • Develop component database connection and query
    manager
  • Develop component IVS server and connection of
    client
  • Develop component mailSender
  • Develop component client

7
Project Requirements (contd)
  • Follow all the procedures required by software
    engineering
  • Develop API for the codes
  • Create report for the testing
  • Create User Manual for the project
  • Evaluate the project

8
Simple Database
Voters table
name id email pwd voted
Yonghua Li 1 yli3568_at_cis.ksu.edu no

Candidates table
name committee num votes
Carol Peak CITY OFFICES MANHATTAN 3 0

9
Object Model Design IVS Manager
10
Object Model Design Client
11
Walkthrough IVSManager
  • When starting the system, the first thing to do
    is to set the administrator. The system will
    block until user inputs the admin id and password
  • The system will use the administrator id as seeds
    to generate the encryption keys public and
    private key.

12
Walkthrough IVSManager (contd)
  • After the system has been launched, before the
    server can start, the administrator should
    configure the following
  • Make the keys and init the DB
  • Import Voters
  • Import Candidates
  • Set the Election Start Time
  • Set the End Time
  • Start the Server
  • Initiate the mail sender server
  • Start the backup server.

13
Walkthrough client
  • The client can be run as an application or as an
    applet in this project the client will be a
    kiosk client.
  • The first interface the voter sees has two
    buttons and one text screen.
  • If the voter press the Enter to Voter button, the
    conformation interface will appear
  • The confirmation GUI has three text boxes and two
    button

14
Walkthrough client (contd)
  • After filling the text box and pressing the vote
    button, there will be a confirmed GUI to show the
    result. If the server confirms the voter
    identification, then voter can press button vote
    to cast the ballot.
  • In the ballot GUI, the voter casts the ballot
    according to the instruction
  • After casting the ballot, the voter press the
    send button to send out the ballot.
  • If it goes well, the system will return back to
    initial state.

15
Test Overview
  • Unit testing
  • Purpose
  • To test the all components major functions
  • Methodology Functional Testing
  • White box testing, path-based domain, boundary
    testing technologies
  • black box testing, random and regression testing
    Testing Item
  • DBConnectionPool, DBConnectionManager,
    QueryWrapper, IVSManager, IVSServer, ConClient,
    MailSender and IVSClient.

16
Test Overview (contd)
  • Integration Testing
  • Purpose tests the program structure
  • the program has been built with unit-tested
    modules.
  • Methodology Functional Testing (black box) ---
    regression and random testing
  • Testing Items
  • Dbpool-dbmanager, dbwrapper-dbmanager,
    ivsmanager-dbmanager-ivsserver,
    ivsserver-conclient, ivsclient-ivsserver-conclient

17
Testing Overview (contd)
  • System Testing/Performance Testing
  • Stress testing
  • Boundary testing
  • Error injection testing
  • Stamp testing
  • Testing the system log file and error handling

18
Test GUI
19
Test Overview
  • Pass/Fail Criteria
  • The percentage of test result will be sued to
    decide to if the software passes or fails
  • pass gt90
  • fail lt70
  • 7090 ?

20
Test Result unit and integration
Class Functionality Performane pass
DBPool Task for getting and freeing connection to max connections Works well yes
DBConnectionManager Task for getting and freeing connection Works well yes
DBWrapper Task for conn. requiring, different queries Works well Yes
IVSManager Task for Init DB, input voters, input candidates, set start and end time, set mailsender, statistic result, send result Works well yes
IVSServer task for connection management Works well yes
ConClient Task for message receiving, sending Works well yes
IVSClient task pwdRequest, enterVoter, sendRequest, SendConfirm, Voting, SendingBallot Works well yes
MailSender Task for singleMailSend, batchMailSend Works well yes
21
Test Result Performance
Testing type functionality Performance pass
Boundary System Works well yes
Stress System Works well yes
Error injection system Catch all yes
Stamp system Works well yes
Error handling system Works well yes
22
Error Handling Testing
Test items result
IVSManager can check if the db.properties is correctly file pass
IVSManager can check if the voter.dat file is correctly file Pass
IVSManager can check if the candidate.properties is correctly file pass
IVSManager can check if the election start time is correct Pass
IVSManager can check if the end time is correct Pass
IVSManager can check if the server port is ok pass
IVSManager can check if the mail sender server is right pass
IVSClient can check if the pwd request input boxes are filled pass
IVSClient can check if the confirm input boxes are filled pass
IVSClient can check if the ballot cast number is right pass
IVSClient can check if the new candidate is clicked and filled pass
23
Fairness Testing
  • 6 candidates, generating 10000 ballots, each
    candidate appear in the first position for
  • Candidate 1 1662
  • Candidate 2 1656
  • Candidate 3 1673
  • Candidate 4 1666
  • Candidate 5 1671
  • Candidate 6 1670

24
Integrity Testing
Test Item Performance pass
case for voting twice Works well yes
case for log on multi place Works well yes
case for losing ballot Works well yes
25
Project Evalutation
  • Cost-Estimation Evaluation
  • Product Evaluation
  • Process Evaluation
  • Tools and Technologies Evaluation

26
Project Evaluation Cost Estimation
  • Size of project
  • Estimated 5160 LOC
  • Actual 3912 LOC (19 classes, 1 interfaces)
  • Evaluation The actual LOC doesnt include the
    third party software
  • Cost effort
  • Estimated 7.0 months
  • Actual 7.0 months
  • Evaluation match
  • Schedule
  • Phase I and Phase II was finished in time
  • Phase III was postponed for four months

27
Product Evaluation
  • Product Evaluation
  • meets all requirements
  • successful through the test cases
  • stable can run on windows, UNIX, Linux system
  • performance result is same as expected
  • Improve the fairness and integrity for ballot
    cast
  • Problem exist
  • Write-in candidates Bill Hsu and William Hsu

28
Project Evaluation - Process
  • Process Evaluation
  • Whole software development life cycle
  • Learned to design a project in all details
  • Excellent experience to learn the Software
    Engineering Process
  • Challenging project since no any background on
    the politics knowledge

29
Project Evaluation - tools
  • Evaluation of Tools and Techniques used
  • Rational Rose
  • USE-2.0.0
  • Java
  • Java Mail
  • Oracle DBMS

30
Compare to System Used in Campus
  • Generating the voting students data from the
    enrolling data base this system will build its
    own voters database to ensure that each voter
    will cast the ballot only one time.
  • Each candidate will appear on the same ballot
    position with almost same probability
  • Fairness This system doesnt not solve the
    write-in candidates name problem too

31
Demo
  • Start the IVSManager Server
  • Java cp classes111.zip. IVMSManager
  • Set up the Administrator
  • Build the key and init the DB
  • Import the Voters, candidates data
  • Import the election time and start the server
  • Set the mailsender server address
  • Start the IVSClient
  • Java IVMSClient
  • See http//www.cis.ksu.edu/yli3568/mse/mse.html

32
Thank!
Write a Comment
User Comments (0)
About PowerShow.com