Professional Documents
Culture Documents
""#$%#$&"'
Team
$ # $'
""#$%#$&"'
Revision List
Revision Number D*A+T&." &.$ Date Description "&#",#&% -riginal Draft "&#$.#&% *e/ised Diagrams, E0ecuti/e !ummary
Team
' # $'
""#$%#$&"'
Approvals Page
Team: oncur: oncur: oncur: 111111111111111111111111111111111111111111 Michael Sny!er 111111111111111111111111111111111111111111 Tom "or#man 111111111111111111111111111111111111111111 Paul asillo
Team
2 # $'
""#$%#$&"'
Team
3 # $'
""#$%#$&"'
The e0ecuti/e summary ne/er mentios that this is an architecture. The e0ec. !ummary should descri6e the document not the pro7ect concept.
Team
% # $'
""#$%#$&"'
Team
8 # $'
""#$%#$&"'
of the districts. This skews the results 6y gi/ing a candidate at the top of the list an ad/antage o/er the candidates 6elow him or her. The /oting ta6ulation system reCuires a physical memory card to 6e remo/ed from the system transported /ia a human and tallied at an e0ternal location. This method of data retrie/al opens the door for many errors. )ith the card in the possession of a person, it is su67ect to damage, tampering, or e/en misplacement. -*1 2ypothesis -ur team will de/elop a new, more understanda6le /oting en/ironment. The new system will 6etter suit the needs of the /oters as well as the administrators in/ol/ed in the election process. The team will de/elop a simple user interface designed to make the /oting e0perience faster and less stressful. )e will employ a data6ase accessi6le /ia the internet which will assure /oters of the system<s integrity. 5y incorporating the same data6ase, election officials will 6e a6le to check the integrity of /ote ta6ulation as well as increase its efficiency.
Team
, # $'
""#$%#$&"'
Team
. # $'
""#$%#$&"'
Team
"& # $'
""#$%#$&"'
The administrator will initiali>e the system for use. The user will input their information through the E;4. -nce the session ends, the data is logged to the PC<s hard disk, sent to the data6ase, and a thermal receipt is printed for the user with their uniCue /oter 4D. The administrator may initiali>e the system again for the ne0t /oter, or close the machine.
Team u "" # $' ""#$%#$&"'
The we6 interface will display information retrie/ed from the data6ase. 4t will only display a user<s specific /otes and general /oting information and percentage per closed district. 5*- Tier Structure The following tiers will 6e implementedD E;4 tier Processing tier Data tier )e6 tier +igure $.& displays this tier structure. D4AE*A ?
Team
"$ # $'
""#$%#$&"'
The E;4 tier will in/ol/e the standard user interface, /isually impaired user interface, and the administrati/e interface. Eraphics can 6e created with Ado6e Photoshop C! and the whole interface can 6e displayed using Ga/a Applet or G!P. The processing tier will in/ol/e all the Ga/a code that dri/es data retrie/al, o67ect management, and session handling. The data tier will in/ol/e ta6le creation, PF#!HF for 6atch processing, and uniCue seCuencing.
Team
"' # $'
""#$%#$&"'
The we6 tier will in/ol/e the we6 interface. Ga/a will 6e used for session management and security. Any graphics can 6e created with Ado6e Photoshop C! and the whole interface can 6e displayed using G!P. 5*0 So't6are Mo!ule Structure The following modules will 6e implementedD !tandard E;4 (isually impaired E;4 Administrati/e E;4 5allot randomi>er !ession handler )e6 interface +igure $'.& summari>es these modules and their relation.
Team
"2 # $'
""#$%#$&"'
Standard GUI
Data logging module Database mapping class JSP interface *all Module
odule
*all Module
'allot (andomi)er
Database mapping class
"dministrati e GUI
Data logging module Database mapping class JSP interface *all Module
Web Interface
Data logging module Database mapping class JSP interface
*all Module
(etrie e Data
The three E;4<s will ha/e their own applet or G!P to display the information. *unning in the 6ackground of the user=6ased E;4<s will 6e data logging modules. These will handle all the o67ects that the user is affecting ?i.e. their /otesA. The 6allot randomi>er will 6e a small method that takes the list of current candidates to 6e displayed, and reorders them randomly. The session handler will employ singleton methods so that only one instance of the /oting system may run on a gi/en machine. 4t will also pre/ent multiple /otes from
Team
"3 # $'
""#$%#$&"'
6eing cast. A session handler will 6e adapted for the we6 interface as well, to gi/e e0pirations to dormant logins and collect usage information. The we6 interface will ha/e its own G!P to display the information. 4n the 6ackground, data6ase mapping classes will collect the specific information. 5*1 2ar!6are Structure The hardware in/ol/ed will includeD Eeneric PC<s Touch=screen monitors Thermal printers agnetic card readers The system will 6e installed to hard disk on the generic PC<s. agnetic card readers will 6e used to initiali>e the system and close the system. The E;4 will use touch=screen monitors as the user input source. After the user<s session ends, thermal printers will print a receipt of the transaction, gi/ing the user their uniCue /oter 4D. 5*5 Net6or# Structure The initial network setup will utili>e Penn !tate<s on=campus FA:. This will allow for secure transactions 6etween the demonstration PC<s and the data6ase. The we6 interface can 6e ser/ed from the Penn !tate 5ehrend C! !enior Design we6space allocated to Team u. 5*7 Data Structure The following ta6les will 6e implemented in the schemaD Candidates ta6le District ta6le ;ser /ote ta6le ;ser statistics ta6le Current /otes materiali>ed /iew Error ta6le The candidates ta6le will contain all the current candidates for the election. 4t will ha/e a foreign key to the district ta6le. The district ta6le will contain all the a/aila6le /oting districts and will dri/e what users will see as their possi6le list of candidate choices.
Team
"% # $'
""#$%#$&"'
The user /ote ta6le will contain each user<s /otes 6ased on a foreign key to the candidates ta6le. 4t will also include a foreign 6ack to the district ta6le for referential integrity. The user statistics ta6le will contain the anonymous session information for each user. This can 6e used 6y administrators or de/elopers for research purposes. The current /otes materiali>ed /iew will gather all the current /otes together per candidate, per district using PF#!HF. This will dri/e the we6 interface<s general /ote information. 4t will pro/ide an e0tra le/el of security as it will ne/er directly access any single user<s /ote. 4t will also pro/ide less transactional stress on the other ta6les. The error ta6le will contain any caught e0ceptions or prematurely closed sessions that may occur in the system. 5*8 9ser %nter'ace Structure an! onventions The /oting machines will implement following interfacesD The standard user interface The /isually impaired interface The administrati/e interface These interfaces can 6e seen in flowchart form in +igure '2.&.
Team
"8 # $'
""#$%#$&"'
Standard GUI
Instructions appear *andidates appear S$stem +aits for selection
/es
-o
-o
Standard GUI
-e&t instructions appear -e&t candidates appear S$stem +aits for selection
-o
-o
-o -o
/es
/es
S$stem
/es %og ote !nd session /es
Team
", # $'
""#$%#$&"'
The standard user interface will display the candidates for a particular district or election. The user will select their choice 6y pressing the appropriate name. A confirmation screen will appear that allows the user to change their choice or continue. -nce they continue, the ne0t set of candidates will appear and the process repeats. -nce all election choices ha/e 6een e0hausted, a final confirmation screen will appear, displaying all the user<s pre/iously confirmed choices. They can choose to go 6ack and change any of these, or finally confirm their /ote. The /isually impaired interface will read each candidate<s name to the user. After each name is read, the user may select anywhere on the screen to choose that candidate. A confirmation message will 6e read that allows them to return 6y pressing anywhere on the screen again or 7ust wait to continue. -nce they continue, the ne0t set of candidates is read and the process repeats. -nce all election choices ha/e 6een e0hausted, a final confirmation message will 6e read, e0plaining all the user<s pre/iously confirmed choices. They can choose to go 6ack and change any of these 6y pressing anywhere on the screen at the appropriate prompt, or finally confirm their /ote in the same manner. The administrati/e interface will appear after an administrator initiali>es it with a keycard. This interface will allow a machine to 6e restarted. 5*: Technology 5*:*) Languages The system will 6e de/eloped using the Ga/a programming language. The !un Ga/a ".3.& AP4 and GDB will 6e the /ersion used. Eclipse 4DE will use the !un Ga/a ".3.& compiler to compile all classes and e0port any Ga/a archi/es necessary. Ga/a was chosen for the following reasonsD Thorough AP4 !imple session usage Data6ase connecti/ity Thorough e0ception handling -67ect=oriented nature 5*:*- Databases The system will use -racle 6ased !HF for all data6ase transactions. -racle IE will 6e the /ersion used. -racle was chosen for the following reasonsD !ta6ility 5uilt=in data6ase optimi>ation and hints
Team
". # $'
""#$%#$&"'
5*; Phases 5*;*) %nitiation The initiation phase will in/ol/e planning and designing the software modules. )e will design each user interface and design the schema for the data6ase as well. 5*;*- %mplementation +irst, we will implement the user interfaces. )ithin the interface, we can implement the random 6allot positioning system. )e can also integrate access for the /isually impaired as it will ha/e to 6e tied closely to all of the dependent E;4 properties. !econd, we will create the random num6er generator for /oter assignment and implement the real=time data6ase. These will 6e closely tied together as the uniCue /oter key will ha/e to 6e the primary key to our dri/ing ta6le. Third, we will implement the secure ta6ulation system and implement the support we6site for /oter /erification. This will tie 6ack to the data6ase and users will 6e a6le to securely retrie/e their ?and only theirA /otes from the ta6les. 5*;*0 Delivery -nce the system has 6een implemented, it will 6e installed on two PC<s and demonstrated 6efore the Penn !tate 5ehrend C! !enior Design teams. The help documentation will also 6e distri6uted during this phase. 5*)+ Precon!itions an! %nputs The user should only ha/e general understanding of how to use a touch=screen monitor and how general /oting works in a democracy. The interface should 6e a6le to guide them through the whole process. The user will 6e a6le to input their /oting choices and change them at specific times until they finally cast their 6allot. The user<s session ends at that point.
7*+ Sta#ehol!ers
Team
$& # $'
""#$%#$&"'
The stakeholders on this pro7ect includeD Paul Casillo ichael !nyder Tom )orkman Eary )alker ehmet alcok Doug !mith Penn !tate ;ni/ersity
Team
$" # $'
""#$%#$&"'
Team
$$ # $'
""#$%#$&"'
.ibliography
Difranco, Petro, !hear, (ladimiro/ ?$&&2, -cto6erA !mall (oting Elections Can !wing Elections. Communications of the AC , 28, 2'=23 Gason Bitcat ?$&&2, -cto6er A !ource A/aila6ility and E=(oting Communications of the AC , 28, %3=%8 ercuri and Camp ?$&&2, -cto6erA The Code of The Elections Communications of the AC , 28, 3'=38 $&&2 4EEE !ymposium on "$ Proceedings, $8= 2& ay $&&2. ?$&&2, Gune &"A !ecurity and Pri/acy, $&&2.
Team
$' # $'
""#$%#$&"'