Escolar Documentos
Profissional Documentos
Cultura Documentos
Under Supervision
Dr. Vandana Gandotra
(Associate Professor)
2 | Page
CERTIFICATE
This is to certify that the project entitled, ONLINE
VOTING SYSTEM FOR COLLEGE ELECTIONS
has been done by:Kunal Sharma and Shubham Nauriyal of Bachelor of
Computer Science (Hons.) during semester IV from Ram Lal
Anand College, University of Delhi under the supervision of
Dr. Vandana Gandotra.
3 | Page
ACKNOWLEDGEMENT
The Project was jointly undertaken by Shubham Nauriyal and Kunal
Sharma as their 4th Semester Software Engineering Project, under the
able guidance and supervision of Dr. Vandana Gandotra. Our primary
thanks goes to her, who poured over every inch of our project with
painstaking attention and helped us throughout the working of the
project. Its our privilege to acknowledge our deepest sense of gratitude
to her for her inspiration which has helped us immensely. We are
extremely grateful to her for her unstilted support and encouragement in
the preparation of this project.
4 | Page
TABLE OF CONTENTS
Acknowledgement
1. INTRODUCTION
1.1 Problem statement
1.2 Process model
2. REQUIREMENT ANALYSIS
2.1 Data Flow Diagram (DFD)
2.2 Data Dictionary (DD)
3. PROJECT MANAGEMENT
3.1 Function Points
3.2 Effort Estimation
3.3 Schedule Estimation
3.4 Risk Table
3.5 Timeline Chart
4. DESIGN ENGINEERING
4.1 Architectural Design
4.2 Data Design
4.3 Component Level Design
5. SOFTWARE TESTING
5.1 Computing Basis Path Testing
6. REFERENCES
5 | Page
1. INTRODUCTION
ONLINE VOTING SYSTEM FOR COLLEGE ELECTIONS is an online voting
technique. In which student can give his \her vote online without going to the college
on the day of elections. This will surely consume less time as whole the day is being
consumed on the day of elections.
There is a DATABASE which is maint ained in which all the names of students with
complete information are stored. Each student is provided by a User ID and
Password by using that ID and PASSWORD he \she can use his\her vote. The scope
of this project will be that it will surely increase the voting percentage in university
and college elections. Online Voting System will be fast enough to calculate the
results and reduce the human efforts, as all the things will be automated.
6 | Page
Advantages:
1.Good for large projects
2.Waterfall suits a principled approach to design
3.Waterfall divides the project into manageable areas
4.Waterfall separates the logical and physical
7 | Page
2. REQUIREMENT ANALYSIS
The basic function of requirement analysis is that it translates the ideas in the mind of the clients
into a formal document. Thus the output of this phase is a set of precisely specified requirements
which are complete and consistent. This document is called Software Requirement Specification.
In order to provide the user with a feeling of community, the following requirement should be
taken care:
Each user will have to create their own profile that they can log into each time they visit the
site.
If the user does not create or log in to an account they will only be able to browse
questions on the site, they will not be able to use any of the sites other functionalities.
In order to create an account the user must have a college email address (verified by
server).
Once they create an account the user will be able to Log in and out of the system, Upload a
picture, choose their status (i.e. Student, TA, Professor).
Upload information about themselves (name, AIM, college email, hobbies, etc.)
Select a college and area of study.
View and send private messages to other users through a custom messaging client.
Questions and Answer functionality: Users will be able to post new questions, able to answer
questions and post sources for their answers, search for questions containing key words, thumbs up
and thumbs down questions and responses Users can bookmark questions, send questions to
friends.
8 | Page
USERNAME/
PASSWORD
LOG IN
VOTING
PROCESS
STATUS
LOG OUT
COLLEGE
DATABASE
STUDENT DETAILS
COLLEGE
VOTING
DATABASE
successful
VOTER
AUTHENTICATION
Authentication
VOTING
PROCESS
LOG IN
Username/
password
Voting
done
unsuccessful
HOME
PAGE
LOG OUT
Receipt
USER
USER
9 | Page
Username = Name|Digit
Name = First + Middle + Last
First = [a|b|c_ _ _ _ _ _ _|z|A|B|C_ _ _ _ _ _|Z]*
Middle = [a|b|c_ _ _ _ _ _ _|z|A|B|C_ _ _ _ _ _|Z]*
Last = [a|b|c_ _ _ _ _ _ _|z|A|B|C_ _ _ _ _ _|Z]*
Digit=[0|1|2|3|_ _ _ _ _ |9]*
Successful = Done
Unsuccessful = Not Done
Authenticated = Done
Status = Yes/No
Receipt = [Code] + digit + digit + digit + digit + Name
Password = [word] | digit
Word = [0|1|2|3|_ _ _ _ _|9]*
3. PROJECT MANAGEMENT
Project management involves the planning, monitoring, and control of the people, process, and
events that occur as software evolves from a preliminary concept to an operational
implementation. Project managers plan, monitor, and control the work of a team of software
engineers. Effective software project management focuses on the four Ps: people, product,
process, and project.
10 | P a g e
items within a report are not counted separately.
Number of user inquiries: An inquiry is defined as an on-line input that results in the generation
of some immediate software response in the form of an on-line output. Each distinct inquiry is
counted.
Number of files: Each logical master file (i.e., a logical grouping of data that may be one part of a
large database or a separate file) is counted.
Number of external interfaces: All machine readable interfaces (e.g., data files on storage media)
that are used to transmit information to another system are counted.
Table 3.1
Measurement factors
Weighting factor
Count
Simple
Average
Complex
4(2)
5(2)
10
4(3)
12
10(1)
15
10
7(2)
10
14
Count total
54
11 | P a g e
1. Does the system require reliable backup and recovery?
2. Are data communications required?
3. Are there distributed processing functions?
4. Is performance critical?
5. Will the system run in an existing, heavily utilized operational environment?
6. Does the system require on-line data entry?
7. Does the on-line data entry require the input transaction to be built over multiple?
8. Are the master files updated on-line?
9. Are the inputs, outputs, files, or inquiries complex?
10. Is the internal processing complex?
11. Is the code designed to be reusable?
12. Are conversion and installation included in the design?
13. Is the system designed for multiple installations in different organizations?
14. Is the application designed to facilitate change and ease of use by the user?
Once these data have been collected, a complexity value is associated with each count.
Organizations that use function point methods develop criteria for determining whether a particular
entry is simple, average, or complex. To compute function points (FP), the following relationship
is used:
FP = count total *[0.65 + 0.01 * (Fi)]
= 54*(0.65 + 0.01*51)
=54*1.16
=62 (approx.)
Where count total is the sum of all FP entries obtained from Figure.
12 | P a g e
project effort can be derived as
Estimated effort = NOP/PROD
Object type
No. of objects
Screen
Report
3GL component
Object points sum
Complexity Weight
Simple
1(2)
2(2)
4
2
2
Medium
2(2)
5(1)
Difficult
3(1)
8(0)
10(2)
Count
7
9
20
36
.333
] ( 4 )
(equation 1)
0.01.333
8000
] ( 4 )
13 | P a g e
Hence estimated schedule of the project is 0.06 months.
Category
Probability
Impact
Hacker attack
TE
30%
Environmental
factors
Delivery deadline
will be tightened
Staff
inexperienced
BU
30%
BU
50%
ST
30%
Size
estimates
may
be
significantly low
Staff
turnover
will be high
PS
60%
ST
60%
PS
70%
TE
20%
BU
20%
30%
Unavailability of
team members
Reviews may not
be
conducted
BU
RMMM
Appoint experts team to
overcome the situation.
Replication to different data
centres.
Increase the amount of resources
available.
Meet
with
experienced
developer and experts of
projects.
Check the modules and revise
the algorithm
Meet with current staff to
determine causes for turnover.
Assign the backup staff member
for every critical technologist.
Revise the components than to
be used.
Consult
the
experienced
software makers.
Ensure that there is always an
emergency person who can
always take over the task assign
is not available.
Set dates for reviews for each
documentation.
14 | P a g e
regularly
Impact values:
1catastrophic
2critical
3marginal
4negligible
Category
PS: product size
DE: Development environment
ST: staff size
15 | P a g e
Jan 2013
ID
Feb 2013
Mar 2013
Apr 2013
Task Name
1/13
Document FIO
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1/20
1/27
2/3
2/10
2/17
2/24
3/3
3/10
3/17
3/24
3/31
4/7
4/14
4/21 4/28
4. DESIGN ENGINEERING
The design of a system is essentially a blueprint or a plan for a solution for the system. A design
methodology is a systematic approach to creating a design approach, a system is viewed as a
transformation function, transforming the inputs to the desired outputs.
The design process for software systems often has two levels. At the first level the focus is on
deciding which modules are needed for the system, the specifications of these modules, and how
the modules should be interconnected. This is what is called the system design or top-level design.
In the second level, the internal design of the modules, or how the specifications of the module can
16 | P a g e
be satisfied, is decided. This design level is often called design to contain a more detailed
description of the processing logic and data structures so that the design is sufficiently complete
for coding.
17 | P a g e
COLLEGE
DATABASE
STUDENT DETAILS
COLLEGE
VOTING
DATABASE
successful
LOG IN
VOTER
AUTHENTICATION
Authentication
VOTING
PROCESS
Username/
password
Voting
done
unsuccessful
HOME
PAGE
LOG OUT
Receipt
USER
USER
18 | P a g e
COLLEGE
DATABASE.
STUDENT DETAILS
COLLEGE DATABASE.
VOTING DETAILS
MOST
ABSTRACT
INPUT
successful
LOG IN
Username/
password
VOTER
AUTHENTICATION
MOST
ABSTRACT
OUTPUT
Authentication
VOTING
PROCESS
Voting
done
unsuccessful
HOME
PAGE
LOG OUT
Receipt
USER
USER
19 | P a g e
vote
ls
tai
de
List of
candidates
ONLINE VOTING
SYSTEM
Ge
tr
ec
eip
t
VOTING
PROCESS
LOGIN
CONFIRMATION
STATUS
Details
Username/
Password
details
Username/
password
ed
at
tic
en
th
Au
Ge
t
de stud
ta en
ils t
LOGIN
Authentication
20 | P a g e
Voting Process
V
s ot
ca ele e fo
nd cte r
id d
at
es
t
lis
Voting
Candidate list
eip
ec
tr
Ge
vo
te
CONFIRMATION
STATUS
STATUS
SUCCESSFULLY
VOTED
21 | P a g e
DATA TYPE
LENGTH
Char
Char
Char
20
20
20
Char
Char
Char
Char
20
20
20
50
SEX
Char
CONTACT NUMBER
Int
12
PASSWORD
Char
10
AGE
Int
COURSE
Char
20
USERNAME
Char
20
ROLL NUMBER
Int
10
ENROLLMENT NUMER
Int
10
NAME
First Name
Second Name
Last Name
FATHERS NAME
First Name
Second Name
Last Name
ADDRESS
ATTRIBUTE
DATA TYPE
LENGTH
USERNAME
Char
20
PASSWORD
Char
20
22 | P a g e
DATA TYPE
LENGTH
STUDENT
First Name
Second Name
Last Name
USERNAME
Char
Char
Char
Char
20
20
20
20
PASSWORD
Char
10
ROLL NUMBER
Int
10
PSEUDOCODE:
OVS homepage_Load()
{
DBconnection.Open
Button Login.enable = true
Button Logout.enable = true
}
Button Login_click()
{ Flag =false
Username =InputBox(Enter Your Name)
Password =InputBox(Enter Your Password)
DBStudent_Details.MoveFirst
Do while DBStudent_Details.EOF=false
{ if
DBStudent_Details.Feilds(Username)<>UsernameAnd
DBStudent_Details.Feilds(Password)<>Password
then
23 | P a g e
DbStudent_Details.MoveNext
Else
flag =true
EXIT do
End if
}Loop
if
flag =false
then
MsgBox(Username or Password is not correct)
End if
if
flag =true
then
MsgBox(Login as voter successful)
Voting Process()
End if
}
Voting Process_Load()
{ count_president1= 0
count_president2=0
count_president3=0
count_Vice_president1=0
count_Vice_president2=0
Please select one candidate from each category
{President Candidate:-
if Radiobutton.1=true then
{ President =1
count_president1++
}
else if Radiobutton.2=true then
President=2
count_president2++
}
else if Radiobutton.3=true then
{
President=3
count_president3++
}
End if
Vice President Candidates:-
if Radiobutton.1=true then
{ Vice president =1
count_Vice_president1++
24 | P a g e
}
else if Radiobutton.2=true then
{
Vice president =2
count_Vice_president2++
}
End if
Button Save_click()
{
DBVoting_Details.Feilds(President) =President
DBVoting_Details.Feilds(Vice President) =Vice President
}
MsgBox(Voted Successfully)
}}
Button Logout_click()
{ unload OVShomepage
End
}
25 | P a g e
5. TESTING
Testing is the process of running a system with the intention of finding errors. Testing enhances the
integrity of a system by detecting deviations in design and errors in the system. Testing aims at
detecting error-prone areas. This helps in the prevention of errors in a system. Testing also adds
value to the product by conforming to the user requirements.
The main purpose of testing is to detect errors and errorprone areas in a system. Testing must be
thorough and well-planned. A partially tested system is as bad as an untested system. And the price
of an untested and under-tested system is high.
The implementation is the final and important phase. It involves user-training, system testing in
order to ensure successful running of the proposed system. The user tests the system and changes
are made according to their needs. The testing involves the testing of the developed system using
various kinds of data. While testing, errors are noted and correctness is the mode.
5.1 FLOWGRAPH
1
2
4
10
11
12
26 | P a g e
27 | P a g e
REFERENCES
Software Engineering- A practitioner's Approach by Roger S. Pressman: 6th edition
McGraw Hill, 2005
An Integrated Approach to Software Engineering by Pankaj Jalote: 3rd edition
Springer, 2005