An Internet Voting System Manager - PowerPoint PPT Presentation

1 / 32
About This Presentation

An Internet Voting System Manager


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:69
Avg rating:3.0/5.0
Slides: 33
Provided by: sow33


Transcript and Presenter's Notes

Title: An Internet Voting System Manager

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

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

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

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

Project Overview Data Flow Graph

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

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

Simple Database
Voters table
name id email pwd voted
Yonghua Li 1 no

Candidates table
name committee num votes

Object Model Design IVS Manager
Object Model Design Client
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.

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.

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

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.

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.

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

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

Test GUI
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 ?

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
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
Error Handling Testing
Test items result
IVSManager can check if the is correctly file pass
IVSManager can check if the voter.dat file is correctly file Pass
IVSManager can check if the 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
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

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
Project Evalutation
  • Cost-Estimation Evaluation
  • Product Evaluation
  • Process Evaluation
  • Tools and Technologies Evaluation

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

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
  • Problem exist
  • Write-in candidates Bill Hsu and William Hsu

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

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

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

  • Start the IVSManager Server
  • Java cp 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//

Write a Comment
User Comments (0)