Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 36

LADOKE AKINTOLA UNIVERSITY OF TECHNOLOGY

FACULTY OF ENGINEERING AND TECHNOLOGY


DEPARTMENT OF COMPUTER SCIENCE AND
ENGINEERING
COURSE CODE: CSE 405
COURSE TITLE:
PROGRAMMING PROJECT
BY
AFOLABI BOLUWATIFE .S
154360
AND
RAHEEM ABDULWASIU .B
154214

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 is to certify that the following students AFOLABI BOLUWATIFE S. with


matric no 154360 together with RAHEEM ABDULWASIU B. with matric no
154214 of the department of Computer Science and Engineering (C.S.E), Ladoke
Akintola University of Technology, Ogbomosho (Lautech), attended, performed,
and completed his programming project at the department of computer science and
Engineering.

DR C.A. OYELEYE DATE


ABSTRACT

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

INTRODUCTION TO PROGRAMMING PROJECT

Web programming, also known as web development, is the creation of dynamic


web applications. Examples of web applications are social networking sites like
Facebook or e-commerce sites like Amazon.

Web Development Overview

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 and Back-end computer programming

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.

The three main languages front-end developers need to know are:

 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.

Depending on the particular implementation, e-voting may use standalone


electronic voting machines (also called EVM) or computers connected to the
Internet. It may encompass a range of Internet services, from basic transmission of
tabulated results to full-function online voting through common connectable
household devices. The degree of automation may be limited to marking a paper
ballot, or may be a comprehensive system of vote input, vote recording, data
encryption and transmission to servers, and consolidation and tabulation of election
results.

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

The aims and objectives of Programming are:


1. Create opportunity for students to apply their theoretical knowledge in
real work situations, thereby bridging the gap between university work
and actual practice
2. To create an avenue for students in the world to acquire programming
skills and experience in their course of study.
3. To serve as their learning backup on their course and what they are
taught in the lecture room
4. It makes students to be more familiar with work methods and technique
in programming that may and may not be available in the universities for
extensive practice.
5. It prepares students for the work situation in which they are most likely
to meet or work with after graduation from the university
CHAPTER TWO

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.

Therefore, we determine the speed of computer in terms of microsecond (10-6 part


of a second) or nanosecond (10 to the power -9 part of a second). From this you
can imagine how fast your computer performs work.

2. Accuracy: - The degree of accuracy of computer is very high and every


calculation is performed with the same accuracy. The accuracy level is 7. which is
determined on the basis of design of computer. The errors in computer are due to
human and inaccurate data.

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.

4. Versatility: - It means the capacity to perform completely different type of work.


You may use your computer to prepare payroll slips. Next moment you may use it
for inventory management or to prepare electric bills.

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, home page.


Fi
g 1.2 homepage code

Fig 1.3
Fig 1.4 About page
This page tells us more about the website.

Fig 1.5 Database implementation


This determines how data of voters and candidates during the election are to be
uploaded and recorded in the database for collation and record keeping.
Fig 1.6 Admin Page
This allows the admin to take full control of the voting process such as
Registration of candidates and voters, Data upload, Election results upload, view
all candidates etc.

Fig 1.7 css coding.


Fig 1.17 Voters registration
CHAPTER THREE

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

 Voting aids must be made available for impaired voters.

Registration of Voters Online

 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

Database programs include report creation functions. Reports allow users to


manipulate their data in numerous ways. Users can insert functions into reports to
help in analyzing the data. For instance, a sales department can create a report that
shows only their first quarter data while giving totals for each month separately.
Report creation typically allows creativity in designing the appearance of the
report. Visual aspects, such as font choices, field locations, insertion of graphics
and manipulation of colors allow the designer of the report to make it visually
pleasing and professional.

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.

RESPONSE TO UNDESIRED EVENTS


An approach to handling run-time errors in software systems. It is often assumed
that in programs which can be proven correct, errors will not be a problem. This
paper is predicted on the assumption that, even with correct programs, undesired
events at run-time will continue to be a problem. Routines to respond to these
undesired events (UEs) must be provided in reliable systems.
A program organization which aims at satisfying the following criteria:
(1) UE response routines are written by each programmer in terms of the abstract
machine which he uses for his normal case code. UEs are reported in those terms.
He is never forced to use information about the implementation of other modules
in the system.
(2) Programs can be written so that the code for UE detection, UE correction, and
normal case, are lexically separate and can be modified independently.
(3) The system can evolve from an initial version that does little recovery to one
which uses sophisticated recovery techniques without a change in the structure of
the system.
(4) Even with unsophisticated recovery procedures, the task of locating the module
containing a bug discovered at run-time does not require internal knowledge of
many modules.
(5) Costs incurred because of the recovery techniques are low as no UE occurs.
SUBSET
The basic functions of the Electronic web design are as follows:
1.Ability to accept data of every registered voter.
2.To be able to store data
3.Ability to transmit data
4.Must consist of a stable Database.
5.Ability to assign proper attributes to each entity.
6.Must be capable of Data Integrity.
7.it must be capable of proper networking of data through web.
Conclusion and Recommendations
Conclusion
Advance Electronic Voting is an improved method of voting compared to the
traditional system in terms many determinant factors
 Maintains your vote’s integrity
 Provides an easy vote administrator experience
 Creates a pleasant experience for voters
 Includes analytics, reporting, and auditing capabilities
Subsequent release of software updates of the advanced electronic voting creates
improvement on the user interface as well as making use of user friendly Graphical
user interface and the development of data encryption for the guaranteed safety of
the data and votes being stored on the software
Extension and creations of more functions within the software while making
use of the best and most reliable database management system at the present age.

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.

You might also like