Professional Documents
Culture Documents
Debretabor University Faculity of Technology Department of Computer Science
Debretabor University Faculity of Technology Department of Computer Science
DEBRETABOR UNIVERSITY
FACULITY OF TECHNOLOGY
PROJECT TITLE:
June, 2017
Debre Tabor, Ethiopia
DEBRETABOR UNIVERSITY
FACULITY OF TECHNOLOGY
Declaration
The Project is our own and has not been presented for a degree in any other university
and all the sources of material used for the project/thesis have been duly acknowledged.
(Name and Signature up to the number of the project group members)
__________________________ ________________
Name Signature
___________________________ _________________
Name Signature
____________________________ _________________
Name Signature
______________________________ _________________
Name Signature
________________________________ _________________
Name Signature
Faculty of Technology
Department of Computer Science
Project Title: Online Student Union Voting System
I certify that this project satisfies all the requirements as a project for the degree of
Bachelor of Science
_______________________________ __________________
Name of coordinator Signature
This is to certify that I have read this project and that in my opinion it is fully adequate, in
scope and quality, as a thesis for the degree of Bachelor of Science.
_________________________________ _______________
Name of advisor Signature
_________________________________ ______________
Name of Co-advisor Signature
Approvals sheet
Name Signature Date
1. Chairman _______________________ ____________ __________
2. Examiner 1 _______________________ ____________ ___________
3. Examiner 2 ______________________ ____________ ___________
It is approved that this project has been written in compliance with the formatting rules
and we certify that this project satisfies all the requirements as a project for the degree of
Bachelor of Science
Table of Contents
Declaration..................................................................................................................................i
Approvals sheet..............................................................................................................................ii
List of figures.................................................................................................................................vi
List of table...................................................................................................................................vii
Acknowledgment.........................................................................................................................viii
Abstract..........................................................................................................................................ix
Acronyms........................................................................................................................................x
CHAPTER ONE: INTRODUCTION.............................................................................................1
1.1. Existing system study..........................................................................................................1
1.2. Statement of the problem.....................................................................................................2
1.3. Objective of the Project.......................................................................................................3
1.3.1. General objective..............................................................................................................3
1.3.2 Specific Objective..........................................................................................................3
1.4. Scope and Limitation of the Project.....................................................................................4
1.4.1. Scope of the Project......................................................................................................4
1.4.2. Limitation of the project...............................................................................................4
1.5. Significance of the Project...................................................................................................4
1.6. Methodology........................................................................................................................5
1.6.1. Data gathering technique..............................................................................................5
1.6.2. Design Methodology.....................................................................................................6
1.6.3. Implementation Methodology.......................................................................................6
1.6.4. Testing Methodology....................................................................................................7
1.7. Feasibility study...................................................................................................................7
1.7.1. Technical feasibility......................................................................................................7
1.7.2. Operational feasibility...................................................................................................8
1.7.3. Economic feasibility.....................................................................................................8
1.7.4 Schedule Feasibility.....................................................................................................9
List of figures
Figure3.1Use case diagram................................................................................................23
Figure3. 2 Sequences diagram of login into the system....................................................35
Figure3. 3 Sequence diagram for Approve committee......................................................36
Figure3. 4 Sequence diagram for candidate register.........................................................37
Figure3. 5 Sequence diagram for approve candidates.......................................................38
Figure3. 6 Sequence diagram for Search...........................................................................39
Figure3. 7Sequences diagram for generate report.............................................................40
Figure3. 8Sequences diagram for vote/choose..................................................................41
Figure3.9Sequences diagram for logout for all users........................................................42
Figure3.10 Class diagram..................................................................................................43
Figure3.11 Activity diagram of login to the system..........................................................44
Figure3.12 Activity diagram of vote.................................................................................45
Figure3. 13 Activity diagram for create account...............................................................46
Figure4.1 System Decomposition diagram........................................................................49
Figure4. 2 System architecture.........................................................................................50
Figure4. 3 Deployment diagram........................................................................................51
Figure4. 4 persistence data management diagram.............................................................52
Figure4. 5 Home page user interface.................................................................................54
Figure4. 5 Voter registration page....................................................................................55
Figure5.1 Home page sample output.................................................................................60
Figure5. 2 output for login.................................................................................................61
Figure5. 3 Sample output for online vote..........................................................................63
Figure5. 4 Samples of unit testing for login......................................................................66
List of table
Table 1.1 project schedule.................................................................................................10
Table 1.2 budget analysis..................................................................................................11
Table 3.1 actor specification..............................................................................................22
Table 3.2 Use case description for login...........................................................................24
Table 3.3 Use case description for Approve election committee......................................25
Table 3.4 Use case description for register candidate.......................................................26
Table 3.5 Use case Approve candidate..............................................................................27
Table 3.6 Use case description for vote.............................................................................28
Table 3.7 Use case Generate reports..................................................................................29
Table 3.8 Use case description for View result.................................................................30
Table 3.9 Use case logout..................................................................................................31
Table 3.10 Use case description for Create Account.........................................................32
Table 3.11 Use case documentation for Post announcement............................................33
Table 3.12 Use case description for view candidate..........................................................34
Table 4. 1 System access control.......................................................................................53
Table 5 .1The hardware and network requirements for testing activities are:...................58
Table 5.2The software requirements for testing activities are:..........................................59
Table 6. 1Authentication of user login.............................................................................64
Table 6. 2Voter registration...............................................................................................65
Acknowledgment
First of all we want to thanks the glorious and almighty ‘GOD’ for each and everything
throughout our life for keeping our safe, staying power and energy starting from to get in
to the friendship up to the day we have prepared this project documentation successfully.
Secondly we want to take this opportunity to express deepest appreciation and heart full
thanks to the respected adviser Dr. Talasila Ram Kumar and Instructor Tegbaru Nibrete
for their great contribution and advice in our project documentation and source code what
we have to do timely and efficiently. And we would like to express more and more our
supporter Debre Tabor University’s student unions, their provide the information to
support, encouragement, comments and gives necessary information for us on during
preparation of this project. Finally we want to say special thanks to our classmates to
gave more information what our system would going well and supports us to continue at
the end of prepared this documentation.
Abstract
This documentation explains about online student’s union voting system which we would
develop for Debre Tabor University. Currently the services that are given in student
union voting system is handled manually and the number of students who is getting
service that are increasing every year. So to give the services and manage become very
difficult as student union voting system handled its every day activity manually. Having
the above problem, we are going to solve this by making online student voting System.
This voting system claims to change the manual voting system in to Online. The system
is very interactive and useful for Debre Tabor university students since it is applicable
anywhere in the same functionality. Online voting system used to register, vote, contest
online and count the votes casted by the voters. It is advantageous in reducing the
complexity of the election process. We have developed this project using PHP as front
end MY SQL as back end.
Acronyms
CPU: Central processing Unit
Nowadays use of information and communication technology in all over the global world
is become very advantageous in each and every activity. Due to this advantage we are
interested to develop online student union voting system. Students union is the most
important and crucial thing to get proper attention to academic problems of students and
convey the same to the respective authority. Some of the problems that student union
addresses include academic problems such as, food, dormitory problem etc. To solve the
above problems effectively, we need an effective student union committee. The current
system aids us to elect an effective student union committee. Online Student voting
development is to provide all students of the Debre Tabor University with the ability to
quickly, easily and securely vote in their Student Union voting when one or more of the
various elections held each year. By circumventing the need for students to attend voting
stations in person, saving time, effort and the other barriers to voting this will help to
increase voter turnout and thereby make any decision more representative of the
electorate’s views.
Time and resource consumption: DTU student union by using such manual
election system time and materials are wasted. For example to record voters
information and to give candidate cards the Student union needed organize the
committee that implement these mission, the committees who give these service
until the elections are completed they loss their time
Since our system works online, it needs internet connection. While the voting is going, if
suddenly internet is disconnected, it will difficult to proceed the voting. Even if our
system is precise, being dependent on internet makes it difficult to use it in the absence of
internet connection.
It improves time, fraud detection and resource expenditure of the university that
exposed to election.
It provides distributed and equal information through online for all voters
(students) and Information available at time and security for the data.
It gives private online voting system.
Increases accuracy and availability and quality of the voting process and number
of voters as individual will find it easier and more convenient to vote.
Minimize corruption, manpower and working load for the election committee.
To distinguish the candidate by their specific information
The system able to allow the voters to get fair voting
1.6. Methodology
In the system analysis and design phase of a project we use the web design approach that
examines requirements from the perspective of the web pages and web servers found in
the problem domain.
Apache Web server: is software that will use to run Server side application.
PHP: hypertext preprocessor language. It will use to implement server side sub
system of the system.
Dreamweaver: Used to write the specific code.
Microsoft office word 2007 and above(For writing documentation)
Microsoft PowerPoint 2007(For presentation )
Window 7 Operating system and above
Edraw max and Microsoft vision: For drawing UML diagrams
1. Unit Testing
Unit testing is essentially for the verification of the code produced during the coding phase and
the goal is test the internal logic of the module/program. In the Generic code project, the unit
testing is using when coding phase of data entry forms whether the functions are working
properly or not. In this phase all the drivers are willing to test they are rightly connect or not.
2. Integration Testing
All we want to test modules are combined into sub systems, which are then testing. The goal is to
see if the modules are properly integrated, and the emphasis being on the testing interfaces
between the modules. In the generic code integration testing is we will test
software requirements and also the technology is easily available and deployed
everywhere.
The new system posses’ necessarily technical experts: In this project the team
uses languages such as HTML, PHP, Java script and CSS to develop the new
system. All these are the technology side and once the module is developed it
can be easily held by non-technical person, so a technically sound expert is not
required, hence this problem doesn’t arise at all.
Benefit Analysis
Tangible benefits
Those benefits that are easily quantified from our system that we inquire the vote will get are:
Intangible benefits
Those benefits that are believed to be difficult or impossible to quantify from our system
are:
Requirement
analysis
Object design
document
System design
document
Implementation
Testing
and maintenance
Budget analysis
When the voting date is arrive, voters go to the voting station to give their
ballot/voice
Voters take a lesson about how to perform and fill the election form
Voters get in to the secret box to give their voice
at the end of the day counting of each voice is made at voting
centre/station
finally the aggregate winner of among all candidates is announced as the
final winner
Data redundancy and duplication, when the same data is collected and
stored in different location or section.
Weakness
Strength
The election board receives any complain and comment from the candidate
and voters
No need of internet connection during the voting process
The voter and candidate can physically communicate with their
administrator and election committees
Opportunities
More number of persons are employed during the voting system, so they
will be benefited.
Voters can know the process of traditional voting system.
Threats
He/she stand for to be elect and transfer there notice in order to vote.
There must have experience and best performance form registered one and
announce for university society.
Voters/students: These actors who have applying to vote his/her representatives in the
election system and those are:
Who are regular student that learns in the university currently.
The voters can login/logout to the System.
He/ She can view his/her personal details and poll their vote.
The voter can just view the information whereas he/she could not make changes
in the database.
The system shall allow voters to view candidate’s information, election results,
and give only one vote/choose for their representatives
Login: The system shall allow login to the system only authorized and
authenticated system users.
Register: The system shall allow register candidates, election committee.
Post announcement: The system shall provide proper features to post
information like election date, registration date, end date and comments or
questions for all visitors.
Post result: The system shall allows to post result
View candidate info: is a page that The Admin, voter and the election committee
have their own Credentials stored and system can display candidate’s information
from database.
Choose: the system shall allow using users’ friendly and dynamically interactive
online election system.
View result: The system shall allow visitors to view posted information after
election is completed.
Feedback: The system allows give feedbacks to union committee in different
aspects.
Create Account: is a page that allows to create new account for the user
Generates Report: At the end of the election, the system allows generate the
Reports of the election based on the candidate.
The system shall block Nominee/candidates from participation, if they are not
legally registered
Approve election committee: The system allows administrator to approve
election committee of the campus.
Approve candidate: The system allows election committee can approve students
that participate in the election as a candidate
Logout : The system shall allow administrator, election committee and voters can
logout to the system
Error handling Conditions: To reduce input fault, the system will enable the
user to confirm that details are correct before creation, deletion or modification
occurs. · Respond to error inputs by asking the user to reenter data in the correct
format.
Security issues: Changes to the information held within the system may produce
significant changes to the users of the system as these could lead to inconsistent
data. With the system recording confidential information of candidates, it is vital
that the users of the system can only access the information that the administrator
allows them to do.
Efficiency: Specifies how well the software utilizes scarce resources: CPU
cycles, disk space, memory, bandwidth, etc.
Login: The Admin, voter and the election committee have their own
Credentials stored in the database.
Generates Report: At the end of the election, administrator will generate the
Reports of the election based on the candidate.
Administrator This actor who control and manage the systems, and select election
committee from student that learns from the university.
Election Election committee approves the candidate who has the member of our
committee university and do all task related to this election together with student
dean.
Candidate The actor is one who has approved by election committee and who
has the member of our university student are candidate for this
election to represent student.
Alternative If the login name or password is not valid, the login screen is redisplayed
course with an error message.
action The session is terminated.
The login screen is displayed.
4. Fetch Report
Alternative If all users can’t see the result of the election, try again and login to the
course of action system.
Actor Administrator
Alternative If all users can’t see the candidates’ information, try again and
course of action login to the system.
important step to get into the solution domain. So, in this part the design aspect of the
proposed system will be described. System design is the process and it focuses on
decomposing the system into manageable parts. During requirements analysis, we
concentrated on the purpose and the functionality of the system.
The system have client server architecture where the user access the website from the
server having WAMP server for manipulating information about registered users like
customers, employees and suppliers. Normally users are expected to browse the website
in order to view any information in each page of the website. The purpose of this part
(design) is to indicate the transformation of the analysis part into design and also show
how to convert analysis into implementation.
account can login to the system using his/her username and password. So, we can
ensure that our system is definitely secured.
Fault tolerance: The system should be able to give response (error message)
when the user enters incorrect input. If the user enter incorrect data like username,
password and other invalid inputs, then the system displays error message that
inform the user to enter the correct data, to do so, we apply validation to our
system using java script.
Assumptions and dependencies: Since we are going to develop a new
application, it is highly dependent on the existence of web server application
software, and on persistent database management (DBMS). End-users need to
have only basic knowledge on how to use computer application, and they need to
know English language since our system is to be developed using it.
End user Criteria: Usability is the extent to which a product can be used by
specified users to achieve specified goals with effectiveness, efficiency and
satisfaction in a specified context of use. From the end users’ perspective the
system should be designed in such a way that it is easy to learn and use
efficiently.
Manage users
account
Approve candidate
Approve EC
Apply registration
Choose
Post
announcement
Create account
Send password
reset key
5.1 Tools
In order to implement our system we used the following program tools:
5.2. Algorithms
In this part we describe the algorithm of the operations or methods which found in class
diagram using Pseudo code. Pseudo code is one type of algorithm representation method
using English language. So we have used pseudo code algorithm to show how the system
works.
Variables-first name, last name, email , sex, id no, dept, status, year, phone no,image
If (*variables are valid*) {
Then Add to table candidate (first name, last name, email, sex, id no, dept, status, year,
phone, image)
Values (first name variable, last name variable, email variable, sex variable, id no
variable, dept variable, status variable, year variable, phone variable, image variable) ;
}
Otherwise {
Display “invalid inputs error message!”
End if}
End}
Steps/procedure
Method name= vote online
Begin {
Variables: voter ID, Password, status
If (*inputs are valid*) {
(*select the previous entered data from database and compare with entered*)
If voter ID = entered voter ID and Password = entered password
Then (*Display vote page *)
}
If status = Unvoted {
then (*you have successfully voted *)
}
Else if {
status = voted then alert “you are already voted!”;
}
Otherwise {
Display “login error message!”
} End if
End }
5.3 Environments
The goal is to create a testing environment as close to the development environment as
possible and to provide an automated black box test suite that can be run when changes
are made to the software. The test environment is the same windows environment used
for software development. Below are the hardware and software requirements for the test
environment.
Table 16 .1The hardware and network requirements for testing activities are:
Hardware Purpose
1. Any PC and Mobile where we can To be able to run the online voting system.
connect to internet and run browser.
2. A web server to be able to setup To be able to run the online prototype online
web services and online voting web voting system.
pages.
Software Purpose
3. Windows 2007 and above for More secure than the other windows OSs.
the web server Operating
system
<html>
<head>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
<title>Online Student Union Voting System for DTU </title>
</head>
<frameset cols="3%,*,3%" frameborder="0" scrolling="yes">
<frame name="top" src="no.html" noresize>
<frameset rows="19.8%,4%,71%,32" border="no" >
<frame name="top" src="top.html"width="1000"scrolling="no">
<frame name="cont1" src="globallink.html" scrolling="no"noresize >
<frameset cols="10.2%,35%,10%"scrolling="no">
<frame src="left.html"name="yee"scrolling="no" noresize>
<frame name="cont2" src="slid.php" noresize>
<frame name="cont2" src="right.html" scrolling="no"noresize>
</frameset>
<frameset rows="10000%">
<frame name="bottom" src="bootom.html"noresize scrolling="no">
</frameset>
</frameset>
</html
<?php session_start();
unset($_SESSION['account_type']);
unset($_SESSION['username']);
unset($_SESSION['password']);
<td width="72%">
Empty username and Username=” ”, password=” “ Please fill out all the
password necessary filled
Test Data = first name, last name, department, sex, Vote ID, password (invalid ,
Valid ,empty)
Empty first name and Any valid data for Please enter all the
all others filled and Click the other fields necessary filled
register button
Invalid last name and last name=78amsalu Please enter Valid letters
valid input for other numbers not allowed
filled and Click register
button
Enter valid age, empty age= 16 Any valid data Please Enter the valid age
all other filled and for the other fields between 18-65
Click register button
Enter All fields with All fields with valid data Successfully Registered
valid input
Alpha testing: When our system has been completed, we have examined it by
actual users and an independent test team. Hence, Representative of the user would
come to us and test the system by himself whether it meets their need or not.
Beta testing: - The system would have been tested by the users at their own
working place whether it meets their needs or not.
7.1 Conclusion
This system is designed to fulfill the required requirements of student voting for Debre Tabor
university students. And this project has given us vast knowledge on the different
computing technologies. Our project enables a voter to cast his/her vote through internet
without going to voting closet and additionally able to register himself/herself for voting
in advance, proxy vote or double voting is not possible, fast to access, highly secure, easy
to maintain all information of voting, highly efficient , flexible and attractive with easy
GUI approach. Hence, this voting percentage will increase drastically. The use of online
voting has the capability to reduce or remove unwanted human errors. In addition to its
reliability, online voting can handle multiple modalities, and provide better scalability for
large elections. Online voting is also an excellent mechanism. We were also able to learn
a lot of system analysis and design of the project, algorithm design, and all about object
oriented concept with database. We came to know the different issues that come in the
way of the development of the online voting system. Security was the main issue in the
development of this project and we conclude that if these issues are taken into
consideration, online voting system will become and real life system from just more a
project.
7.2 Recommendation
In general, this project contributes an initial work on online voting system for Debre
Tabor University students’ union. But, this work needs to mature in other similar projects
in the future, to be scaled up to the whole university as well as for our countries. It is
recommended also that Debre Tabor University will take this opportunity to reduce work
load to entertain such alternative voting system by Integrating with their official sites
with other security method such as online digital signature and online facial recognition.
[2] Modern system analysis and design third edition by JEFFERY A.HOFFER,
JOEYF.GEORGE, and JOSEPH S.VALACLCH (Show to design sequence diagram with
example.) Retrieved on Sunday13, January 2016 at 3:15am local time
[3] Modern system analysis and design third edition by JEFFERY A.HOFFER, JOEY
F.GEORGE, and JOSEPH S.VALACLCH (for the class diagram detail operation,
attribute, inheritance and association.) Retrieved on Monday07 January 2016, at 2:15pm
local time
[4] Modern system analysis and design third edition by JEFFERY A.HOFFER,JOEY
F.GEORGE,JOSEPH S.VALACLCH (about how to design activity diagram and we
seen some example in this portion.) Retrieved on Friday17, January 2016 at 8:20am local
time
[1].Sequencediagramretrievedfromhttp://www.agilemodeling.com/artifacts/
sequenceDiagram.htm(sequnce diagram and example). On Thursday, 2016 at 2:45am
local time.
[2].UMLclassDiagramretrievedfromhttp://www.tutorialspoint.com/uml/
uml_class_diagram.htm(how to draw class diagram and have details example). On
Saturday, 2016, at 2:20pm local time.
[3].AmericanSecureOnlineVotingSystemretrievedfromhttp://www.scribd.com/doc/
21386702/Secure-Online-Voting-System Trip Adler and Jared Friedman (2007), On
Sunday, 2017, at 1:42pm local time.