Presentation Slides - Kansas State University

Download Report

Transcript Presentation Slides - Kansas State University

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
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
Project Overview: Data Flow Graph
MailSender
Query Processing
Query Processing
ConClient
Database
Connection
Manager
Server
Query Processing
ConClient
Server
Client
DBM
IVSM
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
Project Requirements (cont’d)
•
•
•
•
•
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
Simple Database
Voters table
name
id
email
pwd
voted
Yonghua Li
1
[email protected]
****
no
Candidates table
name
committee
num
votes
Carol Peak
CITY OFFICES
MANHATTAN
3
0
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 (cont’d)

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 button
Walkthrough: client (cont’d)




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 (cont’d)

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, ivsserverconclient, ivsclient-ivsserver-conclient
–
Testing Overview (cont’d)

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
>90%
fail
<70%
70%~90% ?

Test Result: unit and integration
Class
Performane
pass
Task for getting and freeing connection to max
connections
Works well
yes
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
Task for singleMailSend, batchMailSend
Works well
yes
DBPool
DBConnectionMan
ager
MailSender
Functionality
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 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
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
–
–
–

Cost effort
–
–
–

Estimated: 5160 LOC
Actual: 3912 LOC (19 classes, 1 interfaces)
Evaluation: The actual LOC doesn’t include the third party
software
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 cast
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 doesn’t not solve the
write-in candidates name problem too
Demo

Start the IVSManager Server
–
–
–
–
–
–

Start the IVSClient
–

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
Java IVMSClient
See http://www.cis.ksu.edu/~yli3568/mse/mse.html
Thank!