Professional Documents
Culture Documents
************ ************
PAIX-TRAVAL-PATRIE PEACE-WORK-FATHERLAND
************ ************
MINISTERE DE MINISTRY OF
L’ENSEIGNEMENT SUPERIEUR EDUCATION
************ ************
HIGHER INSTITUT OF TERTIARY THE UNIVERSITY INSTITUT
AND INDUSTRIAL TECHNIQUES OF THE TROPIC
CERTIFICATION
1
This is to certify that this report entitled design and implementation of presidential online
voting system is written and submitted by ITEBENG TSAPI ATHUR DONAL in partial
fulfillment for the award of Higher National Diploma in Software Engineering.
Signature:
__________________
Date: ____________________
DEDICATION
2
THIS WORK
IS
DEDICATED
TO
ALL MY
LOVING ONE
3
ACKNOWLEDGEMENT
This work would not have been achieved without the precious help, the advice and the
encouragements of numerous people. For all the people found below, I express my sincere
recognition;
The Director of the university institute of the tropic (IUGET) MR. JIOSEPH
NGUEPI
My supervisor Mr. NDZO KUME ROLLAND for his support, help, his availability
during my period of practice.
All the board of administration of IUGET for their teaching and their effort to assure
us a training of quality.
MADAME EYOUM EMMA for her hospitality, advice and financial support.
My parents, brothers and sisters for their immeasurable sustain and their
encouragement.
Digiplus Consulting group
My classmates for their support and advice.
4
PREFACE
This program has grown considerably in Cameroon over the past two decades. This change
has affected practically all fields, all sectors and all specialties. At the higher education level,
the government, by encouraging the creation of Private Higher Education Institutes has
enabled students to benefit from vocational training in the ten regions of Cameroon.
With the aim of ensuring its development and supplying its industry with supervisors and
qualified executives in different specialties, the State of Cameroon, by ministerial decree N
90/E/58/MINEDUC / DUET of December 24, 1971. Created a cycle of Brevet de Technician
Superior (BTS) and Higher National Diploma (HND). It is with this in mind that many
Private higher institutions have emerged. This is the case of ISTTI (now IUGET) which has
chosen to rely on quality by focusing on professionalism and ethics.
Indeed, the Higher Institute of Tertiary and Industrial Techniques in abbreviation ISTTI,
created by authorization N 08/0095/MINESUP of May 05, 2008 and opened by authorization
N14/0402/MINESUP/SG/DDES of 04 July 2014, was raised to the status of University
Institute of the Tropics (IUGET) by decree N° 18/03976/L/MINSUP/SG/
DDES/ESUP/SDA/AOSB of 15 May 2018 with its three schools (ISTTI, SOUTH
POLYTECH and the School of Health Sciences (SHS)).
This university institute provides students with training cycles leading to the obtaining of
diplomas at HND, BACHELOR and MBA levels in Following specialties:
5
- Comptabilité et Gestion des - Electro technique - Techniques de laboratoires
Entreprises - Génie logiciel et d’analyse médical
- Ressources Humaines - Sciences infirmières - Techniques
- Gestion Logistique et Transport - Sage-femme Kinésithérapie pharmaceutiques
- Douane et Transit - Techniques de laboratoires et
- Communication des organisations automatisme
- Assurance - D’analyse médicale
- Droit des Affaires et des - Informatique Industrielle et
Entreprises Automatisme
- Gestion de la qualité - Génie Logiciel
- Ingénierie Pétrolière
- Réseau et Sécurité
- Télécommunication
- Gestion des Systèmes d’Information
- Infographie et web design
- Maintenance des Systèmes
- Informatiques Energie
Renouvelable
- Maintenance des Systèmes
- Electroniques et Urbanisme
6
- Supply Chain Management - Télécommunications et d’entreprise
- Droit des affaires et conseil Réseaux - Fiscalité
d’entreprise - Génie Electrique et Industrielle - Gestion des Ressources
- Ingénierie de la Communication Humaines
- Gestion des Ressources humines - Marketing Communication
During their training, students benefit from an academic internship ranging from (01 to 06)
months depending on the level of study. At the end of this immersion in business, they must
write an internship report or a dissertation thesis defended before a jury. This internship
requires an individual follow-up work in a logic of detection and problem solving allowing
the student-intern to formulate proposals or concrete suggestions in the face of a situation on
the ground.
ABSTRAC
School today is one of the most important aspect of life. And we talk about school,
automatically we also talk about the handling of it.
7
Many students have the difficulty in reading and understanding their lessons especially those
students preparing for the GCE both A and O level.
So, now there is a propose solution for all those students who like to test their knowledge
before the great day of the GCE exam.
The proposed solution is an ONLINE REVISION ASSISTANT, who actually prepare student
by asking them several random multiple chois questions on different subject they are
offering. At the end of the evaluation, the individual is going to be generated a report card
that would saw all scores on each subject. All with a general average.
By then, the individual will know were to revise more due to it marks obtained in each
subject.
RESUME
8
L'école est aujourd'hui l'un des aspects les plus importants de la vie. Et on parle d'école,
De nombreux étudiants ont des difficultés à lire et à comprendre leurs leçons, en particulier
Il existe donc désormais une solution proposée pour tous les étudiants qui aiment tester leurs
l'étudiant en lui posant plusieurs questions aléatoires à choix multiples sur les différents sujets
qu'il propose. À la fin de l'évaluation, l'individu recevra un bulletin qui verra tous les scores
D’ici là, l’individu saura s’il doit réviser davantage grâce aux notes obtenues dans chaque
matière.
9
List of Figures
Figure 1: Architecture Diagram
Figure 2: Context Model Diagram
Figure 3, 3.1: Use Case Diagrams
Figure 4, 4.1, 4.2: Data Flow Diagrams
Figure 5, 5.1, 5.2, 5.3: Activity Diagram
Figure 6, 6.1, 6.2, 6.3: Class Diagrams
Figure 7: ER Diagram
Figure 8, 8.1: Sequence Diagram
10
List of Tables
Table 1: Admin Table
Table 2: Voter Table
Table 3: Candidate Table
11
Identification form of the company
On the 5/08/2023, AT douala-bonaberi, I attainted a continue program of internship in ASCI
company which was for one month. where my first class on ASCI was talking about and was
based on orientation and contact meeting between my classmates and our teachers. our
teacher was guiding us on the program we were to cover for the entire month. furthermore, a
brief explanation, capacity and history of ASCI company was told to us. They also tell us
about how our defense will look like, project to choose, and how to present it. They also
advise us to take Beter and different project from others that we should take projects which
have not yet been discovered and can solve certain problems in the society.
Different program that we were to cover was proposed to us such as (web application,
desktop application, front and back-ends web programming, and programming) during the
week, different programs were send in our group. Two projects were sent, a web
programming project containing. (HTML, CSS And JavaScript), and also a programming
project (code block), and it was to be submitted the next week. Group 1 2 3 and 4 were
invited in ASCI for the correction and checkup of the project given, and that was all for that
day. A new timetable was sent in the group telling us the rendez-vous of our next class in
which a new chapter was to be taught (bootstrap) that was send using a link by the teacher.
Bootstrap (it is a platform in the internet that serve as a template and help millions OS of web
developer and contains several and different variety of Web projects examples restaurantly,
shopping, medicine care, Zen Blog, Yummy, We Build, Vatican, Up Construction, Mentor
Etc. we were mostly concerned with “restaurantly” , where we were taught how to modify,
comment, edit ,how to navigate on the website from one page to another, how to link
12
different pages and how to organize our data in difference folders not necessary mixing
everything together in one folder.
on the next day, we were mostly base and focus on how to host a web page online and create
our personal account using the platform www.frehost.infinity.net in which If someone want
to see our work or what will did does not necessary need a copy from us, but can see, admire
and comments it online by using a link given to him/her to get access.
In restaurantly index.html the pages were group all in one, we therefore separate the pages so
each should be on a single page and we related them using “links”. And to do that, we use the
following steps:
Steps
We created a new page on Sublime Text and in visual studio.
We copy all the codes on the home pages and paste it on the about page.
we change all the title or name of restaurant to about us.
now we modify the page by commenting the about page for the page to show just the.
home footers and the bottom page.
continue like that for all the other Pages using the open and close tag respectively
(<! -- and -->).
And that was all about my internship during my holidays.
13
List of abbreviation
TABLE OF CONTENTS
14
1. INTRODUCTION
The online voting system is the system that aims in reducing the complexity
and cost of the election process. Here the voter can vote in spite of his absence
in the particular locality. The administrator’s effort is much reduced by
checking the election status of all the localities individually forms a place and it
is easy for him to announce the election result. The administrator is the soul
controller of the online voting system in all process including refreshing the
votes, editing the voter details, creating new nominee and so on. Thus, the
online voting system can reduce the cost and effort of election process.
In this voting system each voter will be provided with a specific voter-id and
a password through which access for the voting can be granted. If once the
access is granted for a voter-id then the access is denied for logging in till the
voting system is refreshed for the next election. Similarly, the administrator
15
will be provided with a special id through which he can view the status of the
election.
Based on the id segregation between the voter and administrator is carried
out initially. If the user id is invalid then an error message will be displayed. If
the id entered is of type administrator, then an information i.e., the election
status will be displayed which changes dynamically. Otherwise, the voter
information will be displayed which changes dynamically depending on the
changes made which will proceed him to the next level in which he can cast his
vote and it is updated automatically.
The advantages of the online voting system are that the speed of information
retrieval and updating is made easy and other advantages are:
Online implementation makes it easy for voters to participate in election.
It becomes easier to conduct election.
Election expenses can be reduced.
Non-Residential citizens can also participate in the election.
The study of this online revision is based on the general fact that, generally before
the date of the examination reaches, teachers generally organize revision classes with
their students. Where they revised several passed GCE MCQ questions. By this
16
1.3. Research Question
The following are questions that where been ask before carrying out the project
What is the use of the site?
What problem have promoted this proposed solution?
Who is the target customer?
How will new customer integrate the site?
Would the site solve their problem?
1.4. Aim/Objective
For me, my end product objective is based on some factors which are being stated
below
Self-improvement:
In building this project, my first objective is to test my knowledge and
making sure that I have improved in one way or the order
17
If students don’t work with the website, then they might not do
better.
18
The designing part is then done for a clean view of the system project. Which
is done by the designer
Following by the Front-End coding
Then then the Back-End coding is then followed
After the above, I have now submitted a test just to verify if all is going
smoothly
The product is now deployed by the Devops
19
The proposed system is divided into four stages: Register,
Authentication, Voting and Counting. All are based on the Client-
Server model.
Register Stage: First, all the users who want to vote in the election
ought to register in advance. Here, the user is provided with a
unique username and password that would later be used to log-in
on an election day.
Authentication: The registered voters will need to log-in using
access credentials provided at the registeration stage. They will be
allowed to vote once they are verfied.
Voting Stage: The voter casts his vote once he is verified. Then,
the vote is encrypted and stored.
Counting Stage: All the votes cast are decrypted and then result is
declared.
In order to encrypt and decrypt the votes, RSA algorithm is used.
This asymmetric primitive has a pair of two keys, the public key
and the private key. It involves three steps that are: key generation
(which occurs at the Registration Stage), encryption (during the
Voting Stage) and decryption (at the Counting Stage). Any
encrypted text with one key of the pair, can be decrypted with the
other one. If encryption occurs with the public key then it must be
decrypted using the private key and vice versa. The key pairs are
generated based on two large prime numbers that must be kept in
secret just as the private key. Then, AES-256 is implemented on
the system to grant the security needed to keep safe the
asymmetric cryptography keys that are being generated. The
encryption/decryption keys are stored in the Database with limited
20
access; however, they are encrypted using AES-256 before being
stored on the server.
21
1.4.3 TECHNOLOGIES USED
Paper-based voting: The voter gets a blank ballot and use a pen or a
marker to indicate he want to vote for which candidate. Hand-counted
ballots is a time and labor consuming process, but it is easy to
manufacture paper ballots and the ballots can be retained for
verifying, this type is still the most common way to vote.
22
and counting the votes is very quickly. But the other DRE without
keep voting records are doubted about its accuracy.
23
data without network. Another example is to limit voter to input
particular data, so that we can prevent the command injection from
running.
Too much paper work: The process involves too much paper work and
paper storage which is difficult as papers become bulky with the
population size.
Errors during data entry: Errors are part of all human beings; it is very
unlikely for humans to be 100 percent efficient in data entry.
Loss of registration forms: Some times, registration forms get lost after
being filled in with voters’ details, in most cases these are difficult to
follow-up and therefore many remain unregistered even though they are
voting age nationals and interested in exercising their right to vote.
Short time provided to view the voter register: This is a very big problem
since not all people have free time during the given short period of time
to check and update the voter register.
Above all, a number of voters end up being locked out from voting.
24
SOFTWARE REQUIREMENTS:
HARDWARE REQUIREMENTS:
25
o Processor: 800MHz Intel Pentium III or equivalent
o Memory: 512 MB
Ubuntu 9.10:
o Memory: 512 MB
3 DESIGN
FUNCTIONAL REQUIREMENTS:
NON-FUNCTIONAL REQUIREMENTS:
26
Secure access of confidential data (user’s details). SSL can be
used.
24 X 7 availability on the voting day.
Better component design to get better performance at peak time
on the Election Day.
Flexible service based architecture will be highly desirable for
future extension.
User friendly interface for inexperienced internet users.
Counting
Registration
Authentication
27
Voting Stage
Voter
Voters Database
Voters
Management
System Update Voters
details
Online Voting
System
Registration
Add and
Remove
candidates
Candidates
Results Database
28
3.2.2.2 BEHAVIOURAL MODEL
DFD LEVEL 0:
User
and
Administrator
29
System
Figure 4: Data Flow Diagram
DFD LEVEL 1:
Login Voter
Process Registration
Process
Voter Voting
information Process Final
checking Report
process
Figure 4.1: Data flow Diagram
30
DFD LEVEL 2:
Administrator Voter
Login Process
31
Voter data Stored Data Voting Data Results
ACTIVITY DIAGRAMS
LOGIN:
32
Figure 5: Activity Diagrams
VOTER DETAILS:
CAST VOTE:
33
Figure 5.2: Activity Diagrams
STATUS:
34
3.2.2.3 STRUCTURAL MODELS
CLASS DIAGRAMS
LOGIN:
Class diagram-Login
Login
user name
password
user id
authentication
authentication()
voter
User name administrator
User id User name
Password User id
Password
Validate()
Class diagram-Personal details Validate()
Personal details
Administrator
Voter
View()
Edit()
Exit()
administrator
voter
user name
user name
voter id
voter id
DOB
DOB
Area
Area
Gender
Gender Figure 6.1: Class Diagrams Phone number
Phone number
Age
Age
35 View()
View()
Edit()
Exit()
Exit()
CAST VOTE:
Polling form
Nominee name Polling controller
Symbol
Validate()
Select()
Accept()
Poll account
Nominee name
Symbol
User name
Save()
STATUS:
Display() Print()
Save()
ER DIAGRAM
Delete Candidate
Check Results
Figure 7: ER Diagram
SEQUENCE DIAGRAMS
37
Figure 8.1: Sequence Diagrams
38
3.3 DATABASE DESIGN
ADMIN TABLE:
Field Name Data Description
Type
VOTER TABLE:
Table 2: Voter Table
Field Name Data Type Description
CANDIDATE TABLE:
39
Field Name Data Type Description
4 IMPLEMENTATION
HOME WINDOW
40
SIGN UP WINDOW
LOGIN WINDOW
41
REGISTRATION FORM
SELECT REGION
42
SELECT CANDIDATES
43
5 CONCLUSION
This Online Voting system will manage the Voter’s information by which voter
can login and use his voting rights. The system will incorporate all features of
the traditional Voting system. It provides the tools for maintaining voter’s vote
to every candidate and it counts total number of votes of every candidate. There
is a database which is maintained by the Administrator in which all the names
of voter with complete information are stored.
In this, user who is above 18 year’s registers their information on the database
and when they want to vote they have to login by their id and password and can
vote to any candidate only single time. Voting detail is stored in database and
the result is displayed by calculation. By online voting system the percentage of
voting increases. It decreases the cost and time of voting process. It is very easy
to use and it is very less time consuming. Also, it is very easy to debug in case
some of technical malfunction.
44
6 REFERENCES
45
9. Roger S. Pressman, Software Engineering- A Practitioner’s Approach,
McGraw-Hill International Edition, Seventh Edition, 2009.
10. Software engineering 8th edition by Ian Sommerville.
11. Simply Voting System Project https://www.simplyvoting.com/
12. Wikipedia: http://en.wikipedia.org/wiki/Unified_Modeling_Language
13. Wikipedia: http://en.wikipedia.org/wiki/Electronic_voting
46