An Internet Voting System Manager Yonghua Li Kansas State University March 28, 2002 MSE Project - Phase 2.

Slides:



Advertisements
Similar presentations
Course final project: Online voting system design report
Advertisements

Class Name List of responsibilitiesList of collaborations Layout.
1 CS2SPE- Group project presentation Haia Al-Majali Bojin Zhou Rania Ali Suraj Patel Fatima Tunc Victoria Casas Sam Diab 19 th March 2008.
Software Quality Assurance Plan
1 sqa13b IEEE Standard for SQAP u IEEE Std –Standard for Software Quality Assurance Plans –12 pages u IEEE Guide for Software Quality Assurance.
Stepan Potiyenko ISS Sr.SW Developer.
Overview Lesson 10,11 - Software Quality Assurance
Design of Web-based Systems IS Development: lecture 10.
6.1 Copyright © 2014 Pearson Education, Inc. publishing as Prentice Hall Building Information Systems Chapter 13 VIDEO CASES Video Case 1: IBM: Business.
Software Testing and Quality Assurance
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
Software Configuration Management (SCM)
Kerim KORKMAZ A. Tolga KILINÇ H. Özgür BATUR Berkan KURTOĞLU.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Airline Reservation System
Software Quality Assurance For Software Engineering && Architecture and Design.
Introduction to Software Testing
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE 2 PRESENTATION Bakor Kamal CIS 895.
BRUE Behavioral Reverse Engineering in UML as Eclipse Plugin MSE Presentation 1 Sri Raguraman.
An Internet Voting System Manager Yonghua Li Kansas State University October 19, 2001 MSE Project - Phase I.
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
Justice Information Exchange Model (JIEM) Larry Webster SEARCH January 23, 2004.
Implementation & Integration Phase Implementation, then integration: Implementation, then integration:  Each module is implemented by member of programmer.
Software Testing Life Cycle
AgentTool (III) Dynamic MSE Presentation 1 Binti Sepaha.
Copyright © Jerzy R. Nawrocki Requirements Review Requirements Engineering & Project.
S Q A.
End HomeWelcome! The Software Development Process.
4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong.
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Requirements Verification & Validation Requirements Engineering & Project Management.
Statistics Monitor of SPMSII Warrior Team Pu Su Heng Tan Kening Zhang.
Maintenance and Support Week 15 CMIS570. User Training Need to consider the same 2 groups: End users Use the system to achieve the business purpose Creating,
Maintenance and Support Week 15 CMIS570. User Training Need to consider the same 2 groups: End users Use the system to achieve the business purpose Creating,
Boston University Project Management Association Website Development Group 3 Team3 CS632 Dr. Vijay Kanabar Team Members Mario Soto Emily Ziegler Kevin.
IT Requirements Management Balancing Needs and Expectations.
Student Curriculum Planning System MSE Project Presentation I Kevin Sung.
KS3 Phase4 Client Server Monitoring System October 1, 2008 by Stephen, Seema, Kam, Shpetim.
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE I PRESENTATION Bakor Kamal CIS 895.
Purchasing Contracts Management System MSE Project Presentation II By: Arthi Subramanian.
MUzima INSTALLATION BY RUTH KEITANY 10/29/20151 mUzima Installation.
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
MSE Presentation 1 By Padmaja Havaldar- Graduate Student Under the guidance of Dr. Daniel Andresen – Major Advisor Dr. Scott Deloach-Committee Member Dr.
Self-assembling Agent System Presentation 1 Donald Lee.
Systems Analysis and Design in a Changing World, Fourth Edition
IAD 2263: System Analysis and Design Chapter 3: Investigating System Requirements.
MSE Portfolio Presentation 1 Doug Smith November 13, 2008
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
Performance Study of Message Passing in an Event Service: Java RMI vs. TCP Sockets Laxminarayan Muktinutalapati (Lux) Department of Computing and Information.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Communication Model for Cooperative Robotics Simulator MSE Presentation 1 Acharaporn Pattaravanichanon.
Hall, Accounting Information Systems, 8e ©2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
An Internet Voting System Manager Yonghua Li Kansas State University October 14, 2002 MSE Project - Phase 3.
LOGO e-Citizen. Phan Nhật Minh Phạm Thị Dinh Vũ Xuân Đông Phạm Thị Huyền Nguyễn Thùy Trang
Architecture Review 10/11/2004
Software Project Configuration Management
Bogor-Java Environment for Eclipse
Software Configuration Management (SCM)
Software Verification and Validation
Server Concepts Dr. Charles W. Kann.
FORMAL SYSTEM DEVELOPMENT METHODOLOGIES
Engineering Processes
Introduction to Software Testing
System Construction and Implementation
Unit IV – Chapter 2 V-Test Model.
Presentation transcript:

An Internet Voting System Manager Yonghua Li Kansas State University March 28, 2002 MSE Project - Phase 2

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

Presentation Overview Project Overview Prototype: GUI Project Design: Object Model Formal Specification Test Plan Formal Technical Review (FTR) Software Quality Assurance (SQA) Summary and Question

Project Review: Goals To design an internet voting system where voters can cast ballots through internet;To design an internet voting system where voters can cast ballots through internet; To test some approaches on internet voting system;To test some approaches on internet voting system; Also to improve the integrity and fairness of votingAlso to improve the integrity and fairness of voting

Project Review: Components Emphasis on two componentsEmphasis on two components  IVS manager (IVSM) (sever side)  Voter (client side) Integration with other components, e.g., databaseIntegration with other components, e.g., database

Basic Functions of IVSM Administrator login setupAdministrator login setup login id – administrator ’ s ID;login id – administrator ’ s ID; password – administrator ’ s password;password – administrator ’ s password; Database setupDatabase setup Candidate list database;Candidate list database; Voter database;Voter database; Voting period setupVoting period setup Start time;Start time; Stop time;Stop time;

Basic Functions of IVSM (Cont’d) Server initializing;Server initializing; Ballot counting – doing statistics on the voting ballots.Ballot counting – doing statistics on the voting ballots.

Basic Functions of the Server Idling – waiting for visit;Idling – waiting for visit; Querying – getting ballots for the requested election title from the database;Querying – getting ballots for the requested election title from the database; Caching – storing data and making them available to querying;Caching – storing data and making them available to querying; Uploading – sending required blank ballots to client.Uploading – sending required blank ballots to client.

Basic Functions of Client LoginLogin providing voter ID and password;providing voter ID and password; downloading a blank ballot;downloading a blank ballot; Voting – casting the ballot.Voting – casting the ballot.

Prototype: GUI (Server Side)

Prototype: GUI (Client Side)

Object Model: IVSM

Object Model: Client

Sequence Diagram for Server Side

Sequence Diagram in Client Side

Formal Specification: USE-Class model IVSM -- Class class Administrator attributes password:String password:Stringoperations verifyPassword(password:String):boolean verifyPassword(password:String):booleanend class ConnectionPool end class ConnManager end class QueryWrapper end class Ballot attributes candidates:String candidates:Stringend class CommCandidate end class ServerProtocol end class ConnServer end

Formal Specification: USE-association association session between ConnServer[1] role connserver ConnServer[1] role connserver ConnClient[1] role connclient ConnClient[1] role connclientend association admin between Administrator[1] role manager Administrator[1] role manager IVSM[1] role system IVSM[1] role systemend association service between Server[1] role server Server[1] role server IVSM[1] role system IVSM[1] role systemend association mediator between QueryWrapper[1] role wrapper QueryWrapper[1] role wrapper IVSM[1] role system IVSM[1] role systemend association pool between ConnectionPool[1] role poolsink ConnectionPool[1] role poolsink ConnManager[1] role handler ConnManager[1] role handlerend association connQuery between QueryWrapper[1] role wrapper QueryWrapper[1] role wrapper ConnManager[1] role handler ConnManager[1] role handlerend association thread between Server[1] role server Server[1] role server ConnServer[*] role connserver ConnServer[*] role connserverend association cache between ConnServer[1] role connserver ConnServer[1] role connserver Ballot[*] role ballot Ballot[*] role ballotend association xmlhandler between ConnServer[1] role connserver ConnServer[1] role connserver ServerProtocol[1] role xmlprocess ServerProtocol[1] role xmlprocessend

Formal Specification: USE-Constraints context Administrator::VerifyPassword(psword : String) : boolean pre passwordNotNull:psword.isdefined() pre passwordNotNull:psword.isdefined() post resultPost: post resultPost: result = self.password.equals(psword) result = self.password.equals(psword) context IVSM -- Over time must be greater than Start time -- Over time must be greater than Start time inv overtimeGreaterthanstart: inv overtimeGreaterthanstart: self.startTime < self.overTime self.startTime < self.overTime context Server -- system is ready before it can accept the request -- system is ready before it can accept the request inv systemready: inv systemready: self.connserver.isdefined() implies self.system.isdefined() self.connserver.isdefined() implies self.system.isdefined() context ConnServer -- every ConnServer must have its own ConnClient -- every ConnServer must have its own ConnClient inv connServerClientPair: inv connServerClientPair: ConnServer.allInstances->forAll(c1,c2:ConnServer|c1<>c2 implies (c1.connclient<>c2.connclient)) ConnServer.allInstances->forAll(c1,c2:ConnServer|c1<>c2 implies (c1.connclient<>c2.connclient)) -- every ConnServer belongs to the same Server -- every ConnServer belongs to the same Server inv connServerHasSameServer: inv connServerHasSameServer: ConnServer.allInstances->forAll(c1,c2:ConnServer|c1.server=c2.server) ConnServer.allInstances->forAll(c1,c2:ConnServer|c1.server=c2.server) -- Ballot on request -- Ballot on request inv ballotOnRequest: inv ballotOnRequest: self.ballot.isdefined() implies (self.ballot.size = 1 && self.connclient.isdefined()) self.ballot.isdefined() implies (self.ballot.size = 1 && self.connclient.isdefined()) -- QueryWrapper is ready before ballot is ready. -- QueryWrapper is ready before ballot is ready. self.ballot.isdefined() implies (self.server.system.wrapper.isdefined() self.ballot.isdefined() implies (self.server.system.wrapper.isdefined() context ConnClient -- ConnClient set up a connection before receive a ballot -- ConnClient set up a connection before receive a ballot inv connFirst: inv connFirst: self.ballot.isdefined() implies self.connserver.isdefined() self.ballot.isdefined() implies self.connserver.isdefined() -- ConnClient receives ballot after ConnServer gets it ready -- ConnClient receives ballot after ConnServer gets it ready inv ballotready: inv ballotready: self.ballot.isdefined() implies self.connserver.ballot.isdefined() self.ballot.isdefined() implies self.connserver.ballot.isdefined() -- ballot ConnClient received is the one its ConnServer sent -- ballot ConnClient received is the one its ConnServer sent inv sameballot: inv sameballot: self.ballot.candidates.equals(self.connserver.ballot.candidates) self.ballot.candidates.equals(self.connserver.ballot.candidates)

Test Plan Unit Testing: –each class is tested separately. Focus on major functions in each class Integration Testing –tests the program structure, the program is built with unit-tested modules. System Testing: Performance Testing –Stress testing –Boundary testing

Test Plan: Test Case Stress Testing: - From the same machine, keep sending a number of connecting requests to the server to test the performance - From the same machine, keep sending a number of connecting requests to the server to test the performance Boundary testing: - Sending the server some special characters, eg - Sending the server some special characters, eg Authentic testing: - testing voter id, password, registering code - testing voter id, password, registering code

Test Plan: Test Case (Cont’d) Error Handling Testing: - The error handling testing case will test if the server and client will show the right feedback - The error handling testing case will test if the server and client will show the right feedback Log Handling Testing: - This type of testing case will check if the log system will works well when the system run. - This type of testing case will check if the log system will works well when the system run. Voting Period Testing - Voting period testing will check if the server will accept connection in the right time. - Voting period testing will check if the server will accept connection in the right time.

Prototype: Test Suite GUI

Formal Technical Review (FTR) Software Formal Inspection Process Standard NASA-SYD Ensure consistency between previously approved documents of phase I and the new design concepts resulting from documents of phase II In this project, the system design will be subjected to the FTR. A formal checklist will be developed and used to inspect the document

FTR: Checklist Check list * Completeness * Modifiability * Consistence * Tracebility * Correctness * Understandability * Feasibility * Maintainability * Verifiability * Testability * Verifiability * Testability

Software Quality Assurance Plan (SQA) IEEE standard Std Software Quality Assurance Plan documents a plan, which assures the quality of the software during the whole life cycle of the software. Including Purpose, Reference, Management, Documentation, Standards Practices Conventions and Metrics, Review and Audit, Tools Techniques and Methodologies, Code Control, Training, Risk Analysis

Phase III – Implementation User Manual Source Code Formal Technical Review Testing & Reliability Evaluation Project Evaluation

Summary Project OverviewProject Overview Project Design: Object ModelProject Design: Object Model Formal SpecificationFormal Specification Test PlanTest Plan Formal Technical Review (FTR)Formal Technical Review (FTR) Software Quality Assurance (SQA)Software Quality Assurance (SQA) URL: e.htmlURL: e.html

Thank!