Professional Documents
Culture Documents
Cse 405
Cse 405
PROJECT TOPIC:
DESIGN A WEB VOTING SYSTEM
Supervisor
DR C.A. OYELEYE
DEDICATION
This programming project is dedicated to the Almighty, invisible God only wise, to
all lecturers in the department of Computer Science and Engineering. LAUTECH
my Citadel of learning, my family and to the use of mankind.
ACKNOWLEDGEMENT
My undivided thanks goes to the Almighty God, the creator of earth and all that’s
in it, the giver of wisdom, understanding, ideas, time and strength which all
together make the completion of this programming project possible and not to
make mention of my able supervisor in name of DR C.A. OYELEYE. for his all
time invaluable advice and guidance when they are required, for the way she
helped us focus on the task at hand and asked us individually if we had gain
anything from the program. Finally, I appreciate my programming partner, for his
collective efforts and every contribution to complete the task we had been given.
CERTIFICATION
This project is titled Electronic web design, This particular software is created
purposely for all kinds of voting processes involved in a particular organization.
e.g. Independent National Electoral Commission(I.N.E.C) is a federal government
owned organization established in 1998 put in place to direct and control all forms
of electoral processes from the local level, state and even federal level in Nigeria.
whenever voting is required or taking place which helps our able country to try and
create and maintain a free and fair election.
Presently, INEC is presently making use of permanent voters card(PVC)
accompanied with card readers in which every registered voter’s biometric data has
been uploaded into and this will prevent imposters from making use of someone’s
else identity while voting However, the software was not only made for INEC
because of its functions and flexibility. it can be used for other organizations as
well as countries.
One of the laid down rules of the independent national electoral commission is that
for a citizen to be able to register for a PVC he or she must be of the minimum age
of 18years in order to be eligible to vote and be voted for. All candidates and
political parties are registered with the organization before the commencement of
the election.
All staffs and members of the organization must hold a minimum of HND in a well
known polytechnic or Bsc, B.tech e.t.c from an accredited university and must
have completed National youth service corps(NYSC).thereafter received training
in the organization on how to properly carry out each task within election periods.
The organizations also makes use of a well structured Database for record keeping
of all registered voters, candidates running in an election as well as votes recorded
from different polling units, wards, LGA, state.
TABLE OF CONTENT
Title page i
Dedication ii
Acknowledgement iii
Abstract iv
Table of content
CHAPTER ONE
Introduction to Programming Project i
Aims and objectives of programming project vi
Background Information vii
Programming Languages and Tools used viii
CHAPTER TWO
Design Issues ix
Input and Output Diagrams x
Related Diagrams xi
CHAPTER THREE
Implementation and Discussion xii
Interfaces of the program
Recommendation
Conclusion
Reference
CHAPTER ONE
There are two broad divisions of web development – front-end development (also
called client-side development) and back-end development (also called server-side
development).
Front-end development refers to constructing what a user sees when they load a
web application – the content, design and how you interact with it. This is done
with three codes – HTML, CSS and JavaScript.
HTML, short for Hyper Text Markup Language, is a special code for ‘marking up’
text in order to turn it into a web page. Every web page on the net is written in
HTML, and it will form the backbone of any web application. CSS, short for
Cascading Style Sheets, is a code for setting style rules for the appearance of web
pages. CSS handles the cosmetic side of the web. Finally, JavaScript is a scripting
language that’s widely used to add functionality and interactivity to web pages.
Back-end development controls what goes on behind the scenes of a web
application. A back-end often uses a database to generate the front-end.
Front-end development involves working with code that produces the elements that
users can see and interact with; it’s all about how a website looks and feels.
Back-end web developers make sure the website works as it should do, and the
code they write is normally invisible to users. Back-end web developers work with
databases that store information such as customer details, and servers which are
where databases (virtually) live.
Both front-end and back-end computer programming jobs are creative in their own
ways, but front-end developers often need to have a visual eye so they can judge
what will work best for site users.
Basic examples of front-end development include that pretty-looking font on your
favorite web page, or that slider on the homepage of a news site, or even the
dropdown menu where you can choose your preferred option. Everything from the
color scheme to the layout to the positioning to the typography is a front-end
developer’s responsibility.
HTML
Javascript
CSS
BACKGROUND STUDY
Electronic voting (also known as e-voting) is voting that uses electronic means to
either aid or take care of casting and counting votes.
A worthy e-voting system must perform most of these tasks while complying with
a set of standards established by regulatory bodies, and must also be capable to
deal successfully with strong requirements associated with security, accuracy,
integrity, swiftness, privacy, auditability, accessibility, cost-effectiveness,
scalability and ecological sustainability.
Programming languages and Tools used
HTML
HTML is the standard markup language for creating Web pages.
HTML stands for Hyper Text Markup Language
HTML describes the structure of a Web page
HTML consists of a series of elements
HTML elements tell the browser how to display the content
HTML elements are represented by tags
HTML tags label pieces of content such as "heading", "paragraph", "table",
and so on
Browsers do not display the HTML tags, but use them to render the content of the
page
CSS
CSS stands for Cascading Style Sheets
CSS describes how HTML elements are to be displayed on screen, paper, or
in other media
CSS saves a lot of work. It can control the layout of multiple web pages all
at once
External stylesheets are stored in CSS files
JavaScript
JavaScript ("JS" for short) is a full-fledged dynamic programming language that,
when applied to an HTML document, can provide dynamic interactivity on
websites. It was invented by Brendan Eich, co-founder of the Mozilla project, the
Mozilla Foundation, and the Mozilla Corporation.
JavaScript is incredibly versatile and beginner friendly. With more experience,
you'll be able to create games, animated 2D and 3D graphics, comprehensive
database-driven apps, and much more!
JavaScript itself is fairly compact yet very flexible. Developers have written a large
variety of tools on top of the core JavaScript language, unlocking a vast amount of
extra functionality with minimum effort. These include:
Browser Application Programming Interfaces (APIs) — APIs built into web
browsers, providing functionality like dynamically creating HTML and setting
CSS styles, collecting and manipulating a video stream from the user's webcam, or
generating 3D graphics and audio samples.
Third-party APIs — Allow developers to incorporate functionality in their sites
from other content providers, such as Twitter or Facebook.
Third-party frameworks and libraries — You can apply these to your HTML to
allow you to rapidly build up sites and applications.
PHP
The PHP Hypertext Preprocessor (PHP) is a programming language that allows
web developers to create dynamic content that interacts with databases. PHP is
basically used for developing web based software applications. This tutorial helps
you to build your base with PHP.
Why we Learn PHP
PHP started out as a small open source project that evolved as more and more
people found out how useful it was. Rasmus Lerdorf unleashed the first version of
PHP way back in 1994.
PHP is a MUST for students and working professionals to become a great Software
Engineer specially when they are working in Web Development Domain. I will list
down some of the key advantages of learning PHP:
PHP is a recursive acronym for "PHP: Hypertext Preprocessor".
PHP is a server side scripting language that is embedded in HTML. It is used to
manage dynamic content, databases, session tracking, even build entire e-
commerce sites.
It is integrated with a number of popular databases, including MySQL,
PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL Server.
PHP is pleasingly zippy in its execution, especially when compiled as an Apache
module on the Unix side. The MySQL server, once started, executes even very
complex queries with huge result sets in record-setting time.
PHP supports a large number of major protocols such as POP3, IMAP, and LDAP.
PHP4 added support for Java and distributed object architectures (COM and
CORBA), making n-tier development a possibility for the first time.
PHP is forgiving: PHP language tries to be as forgiving as possible.
PHP Syntax is C-Like.
Characteristics of PHP
Five important characteristics make PHP's practical nature possible −
Simplicity
Efficiency
Security
Flexibility
Familiarity
MySQL is the most popular database system used with PHP.
MySQL
MySQL is a database system used on the web
MySQL is a database system that runs on a server
MySQL is ideal for both small and large applications
MySQL is very fast, reliable, and easy to use
MySQL uses standard SQL
MySQL compiles on a number of platforms
MySQL is free to download and use
MySQL is developed, distributed, and supported by Oracle Corporation
MySQL is named after co-founder Monty Widenius's daughter: My
The data in a MySQL database are stored in tables. A table is a collection of
related data, and it consists of columns and rows.
Databases are useful for storing information categorically. A company may have a
database with the following tables:
Employees
Products
Customers
Orders
TOOLS
Visual studio(compiler)
Laptop
Xamp server for php
AIM AND OBJECIVES OF PROGRAMMING
DESIGN ISSUES
All modern engineering system include certain aspects of control systems at some
point in their broadcast sense, control engineering and the associated theory are
concerned with the means by which systems may be made to behave an a desired
way.
Characteristics of computers required For Electronic Web Design It requires the
following
1. Speed: - As you know computer can work very fast. It takes only few seconds
for calculations that we take hours to complete. You will be surprised to know that
computer can perform millions (1,000,000) of instructions and even more per
second.
3. Diligence: - A computer will perform every calculation with the same accuracy.
Due to this capability it overpowers human being in routine type of work.
5. Data retrieval: - Computer has the power of storing any amount of information
or data. Any information can be stored and recalled as long as you require it, for
any numbers of years. It depends entirely upon you how much data you want to
store in a computer and when to lose or retrieve these data.
6. It must be able to perform the instructions at tremendous speed and with
accuracy given by the personnel.
7. Storage: - The Computer must possess a in-built memory where it can store a
large amount of data. A wide storage capacity both internal and external storage
devices for storing and transferring of data. You can also store data in secondary
storage devices such as floppies, which can be kept outside your computer and can
be carried to other computers.
A computer or laptop with the following basic requirement such as a minimum of
4gb ram, strong processor such as Intel, AMD as well as a fully functional
windows installed and properly drived with a minimum of windows 7 or preferably
windows 10.
It must have a good battery capacity.
Hardware And Software Interfaces
Hardware Interfaces
Hardware interfaces are the plugs, sockets, cables and electrical signals traveling
through them. Examples are USB, Biometric scanner, keyboard, mouse, scanner
FireWire, Ethernet, ATA/IDE, SCSI and PCI.
SCANNER
ETHERNET
EXTERNAL
STORAGE
CPU
MOUSE
BIOMETRICS KEYBOARD
SCANNER
MONITOR
INPUT AND OUTPUT
Fig 1.3
Fig 1.4 About page
This page tells us more about the website.
Implementation of Project
Rules
Guidelines must be made to the public on how to cast their votes without
any complications.
Measures must be put in place to build trust among stakeholders and
especially voters in the development of the internet voting system.
Conducts of the electronic voting must follow the electoral acts as stated by
law.
Technical Assistance
Technical solutions have been put in place to respect the secrecy of the
votes.
An important goal of electronic voting technology is to enhance accessibility
across all voter groups.
All ethnics groups were considered during the development of the electronic
voting system due to diversity in languages.
Voting Aids
All voters must be above the legal age in other to participate in the voting
exercise
All candidates and voters must register on the Online voting Platform before
access is given to vote and be voted for.
Software/Programming Interfaces
Software interfaces (programming interfaces) are the languages, codes and
messages that programs use to communicate with each other and to the hardware.
Examples are the Windows, Mac and Linux operating systems, SMTP email, IP
network protocols and the software drivers that activate the peripheral devices
VOTER
BIODATA
FINGERPRINT PASSPORT
& ID CARD
KEYBOARD
BIOMETRICS SCANNER
SCANNER
MOUSE CPU
MONITOR
ETHERNET
PERSONNEL DATABASE
EXTERNAL STORAGE
SOFTWARE FUNCTIONS
Tables
The basic information stored in a database program gets entered into a table.
Similar in appearance to a spreadsheet, like Microsoft Excel or Lotus 123, tables
provide an organized way to input information. Users have the ability to create
field names, such as name, address and customer identification number. Users may
also format the fields in the table. For example, a numeric field can appear with
monetary formatting such as dollars or euros. Most database software programs
have templates available for frequently used formats, such as contact management,
sales or inventory tracking. Users have the ability to modify these templates to
personalize them for their own specific purposes.
Forms
Database software includes the option of creating user-friendly forms to make the
task of entering data easier on the operator's eyes. Workers have the power to adapt
forms to suit their needs. Using customizable templates for forms makes the
creation process faster and easier. To help those entering data into the form, the use
of messages gives guidance. For instance, when those entering data need to choose
from a drop-down menu for a given field, the creator of the database has the option
of adding a pop-up message when that field gets selected, reminding users to select
from the drop-down menu.
Reports
Data Functions
Database software provides users with features to organize their information
simply and specifically. For example, using sorting functions allows for alpha or
reverse-alpha sequence, usually by simply clicking an icon. Filtering functions let
users draw out information by specified criteria.
TIMING CONSTRAINTS
Timing constraints play an important role in software development, particularly in
real time systems. This paper proposes an approach for checking the compliance of
execution of tasks in an application with their timing constraints. In this approach,
timing constraints are specified by UML timing diagrams. Aspect oriented
programming technology is used to observe the execution of the program and to
check if the execution of tasks satisfies their timing constraint specification. The
approach is illustrated by a case study of an automatic teller machine system
The software is capable of collecting voters and personnel data before, during and
after the voting processes with the minimum speed of a computer with the
accuracy required and as well store the data without any data corruption while
being input on the computer system on a permanent database with proper data
structure and algorithms as well transmit the data stored through the world wide
web for public display.
ACCURACY CONSTRAINTS
Accuracy constraints can also be related to data integrity.
Data integrity is the maintenance of, and the assurance of the accuracy and
consistency of, data over its entire life-cycle and is a critical aspect to the design,
implementation and usage of any system which stores, processes, or retrieves data.
The term is broad in scope and may have widely different meanings depending on
the specific context even under the same general umbrella of computing. It is at
times used as a proxy term for data quality. while data validation is a pre-requisite
for data integrity. Data integrity is the opposite of data corruption The overall
intent of any data integrity technique is the same: ensure data is recorded exactly as
intended (such as a database correctly rejecting mutually exclusive possibilities,)
and upon later retrieval, ensure the data is the same as it was when it was originally
recorded. In short, data integrity aims to prevent unintentional changes to
information. Data integrity is not to be confused with data security, the discipline
of protecting data from unauthorized parties.
Any unintended changes to data as the result of a storage, retrieval or processing
operation, including malicious intent, unexpected hardware failure, and human
error, is failure of data integrity. If the changes are the result of unauthorized
access, it may also be a failure of data security.
Recommendations
Although the objectives of this project has been achieved, User must be
conversant with the use of database management system in other to operate
the software properly.
A basic computer training and orientation must have been carried out before
the use of the software.
Personnel to make use of the software must have obtained a secure login
access
Guaranteed stable power supply with backups for unseen circumstances.
References
1. Allan, C. (1997). The Principle of Computer Hardware 2nd Edition,
Oxford Science Publication, New York.
2. Hughes, E. (1998). Electrical Technology, Longman Scientific
Technological Book Series, London, 6th Edition.
3. http://www.maxim IC SG 3524 Pulse Width Modulation.
4. http://www.maxim IC TC 4066BP.
5. Nelson, J. C. (1986). Basic Operation Amplifier, London, Butter
Worth and Co. Limited.
6. Ronald, J. T. and Neal, S. W. (1998). Digital System Principle and
Applications, 7th Edition, Prentice-Hill International Inc., London.
7. Theraja, A. K. and Theraja, B. L. (1997). A text book of Electrical
Technology, 22nd Edition, S. Chan and Co. Ltd, Delphi.
8. Thomas, C. B. (1991). Computer Architecture and Logic Design,
McGraw-Hill, New York.