Major Report

You might also like

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

Online National Polling

Major Project Submitted


Towards partial fulfillment of the
Degree of
Bachelor of Engineering
Year 2010-11

Department of Computer Science & Engineering


Guided By: Submitted By:

Ms. Shweta Pandey Ajit Singh Thakur(CS-1003)

Mr. Zuber Mirza Deepak Agarwal(CS-1016)

Prateek Matharu(CS-1051)

Rohit Sharma (CS- 1048)

Shashank Singh(CS-1053)
Shri Vaishnav Institute of Technology & Science
Indore

CERTIFICATE

This is to Certify that Mr.Ajit Singh Thakur, Mr.Deepak Agarwal, Mr.Prateek


Matharu, Mr.Rohit Sharma and Mr.Shashank Singh working in a group have
satisfactorily completed the major project titled “Online National Polling”
towards the partial fulfillment of the degree in Bachelor of Engineering (Computer
Science & Engineering) Awarded by Rajiv Gandhi Technical University, Bhopal
for the academic year 2010-11.

Project Guide: Dr. Rajeev G. Vishwakarma

Ms. Shweta Pandey Professor & Head Of Department

Mr. Zuber Mirza (Computer Science & Engineering)

Prof. Anand Rajavat

Project In-charge: External:


Acknowledgement
Every endeavor we understand takes an indomitable urge, perseverance and proper
guidance especially when it is most needed. Internally motivated to undertake
some appreciable work as our degree project, we came to undertake the project.
Unsure though but with a hope and then we were introduced to these project work
to be completed, initially when we hardly ever thought of, the kind of work we
were going to do.

We would like to use this opportunity to thank with gratitude our Head of
Department Dr. Rajeev G. Vishwakarma, Ms. Shweta Pandey and Mr. Zuber
Mirza for this excellent guidance. In addition, we would like to thank Mr. Anand
Rajavat of SVITS for their motivation to take this endeavor and perform.

Here we thank from core, everybody who has helped us at work when it started as
an unknown ocean to swim though, we need more than sense of words. In true
sense, beside our guides we are indebted to our friends at SVITS for their constant
help and invaluable contribution on all occasion when they were most needed.
Again, we find the opportunity to acknowledge our regards and thanks to our
family members who have been true support behind us.

Ajit Singh Thakur

Deepak Agarwal

Prateek Matharu

Rohit Sharma

Shashank Singh
INDEX
1.
INTRODUCTION……………………………………………………………………………………
………………………………8

1.1. Problem Statement……………………………………………………………….


…………………………………9

1.2. Objectives……………………………………………………………………………….
………………………………...9

1.3. Scope…………………………………………………………………………..9

1.4. Platform Specification……………………………………………………….10

1.4.1. Hardware Requirements………………………………………………10

1.4.2. Software Interfaces……………………………………………………10

1.4.3. Implementation Language…………………………………………….10

2. SYSTEM ANALYSIS.........................................................................................11

2.1. Identification of Need………………………………………………………...12

2.2. Preliminary Investigation…………………………………………………….12

3. FEASIBILITY STUDY……………………………………………………………13

3.1. Technical Feasibility………………………………………………………….14

3.2. Economical Feasibility……………………………………………………….14

3.3. Operational Feasibility……………………………………………………….15

4. LITERATURE SURVEY…………………………………………………………16

4.1. Work done by other…………………………………………………………..17

4.2. Benefits………………………………………………………………………..17
4.3. Proposed Solution…………………………………………………………….17

4.4. Technology used………………………………………………………………18

5. TECHNICAL PART……………………………………………………………….20

5.1. About J2EE…………………………………………………………………..21

5.2. About MySQL………………………………………………………………...21

5.3. About Eclipse………………………………………………………………...21

5.4. About JavaScript……………………………………………………………..21

5.5. About JQuery ………………………………………………………………...22

5.6. About Dreamweaver………………………………………………………….22

6. SOFTWARE ENGINEERING APPROACH……………………………………….23

6.1. Software Engineering paradigm Applied……………………………………..24

6.1.1. Description……………………………………………………………..24

6.1.2. Advantage……………………………………………………………...25

6.1.3. Disadvantages………………………………………………………….25

6.1.4. Reasons for use………………………………………………………...26

6.2. Requirement Analysis…………………………………………………………27


6.2.1. Software Requirement Specification…………………………………..27

6.2.1.1. Glossary……………………………………………………….27

6.2.1.2. Supplementary Specifications………………………………..28

6.2.1.3. Use Case Model……………………………………………….29

6.2.1.4. Use Cases……………………………………………………...30

6.2.1.5. Conceptual Level Activity Diagram………………………….36

6.3. Planning Managerial Issues…………………………………………………..37

6.3.1. Planning Scope…………………………………………………………37

6.3.2. Project Resources………………………………………………………38

6.3.2.1. Human Resources……………………………………………38

6.3.2.2. Environmental Resources……………………………………39

6.3.3. Team Organization……………………………………………………..39

6.3.4. Project Scheduling………………………………………………………41

6.3.5. Estimation………………………………………………………………42

6.3.6. Risk Analysis………………………………………………………......46

6.3.7. Security Plan…………………………………………………………..47

6.3.8. Configuration Management Plan……………………………………..48

6.4. Design…………………………………………………………………………49

6.4.1. Design Constraints…………………………………………………….49

6.4.2. Design Technique……………………………………………………...49


6.4.3. Modeling……………………………………………………………….50

6.4.3.1. Detailed Class Diagram……………………………………...50

6.4.3.2. Interaction Diagram………………………………………….51

6.4.3.2.1. Sequence Diagram………………………………..51

6.4.3.2.2. Collaboration Diagram…………………………..57

6.4.3.3. Activity Diagram…………………………………………….58

6.4.3.4. Object Diagram………………………………………………66

6.4.3.5. E-R Diagram…………………………………………………..67

6.4.3.6. Deployment Diagram…………………………………………..68

6.4.3.7. Component Diagram…………………………………………...69

6.5. Implementation Phase………………………………………………………...70

6.5.1. Language Used Characteristics………………………………………..70

6.6. Testing……………………………………………………………….73

6.6.1. Testing Objectives……………………………………………73

6.6.2. Testing Methods & Strategies……………………………….73

7. CONCLUSION & DISCUSSION…………………………………………………..76

7.1. Limitation of Project………………………………………………..77

7.2. Future Enhancement Suggestions………………………………… 77

8. BIBLIOGRAPHY & REFERENCES……………………………………………...78

8.1. Reference Books……………………………………………………79


8.2. Other Documentations & Resources………………………………79
Chapter 1
INTRODUCTION

1.1 Problem Statement

1.2 Objective

1.3 Scope

1.4 Platform Specification

1. INTRODUCTION
1.1Problem Statement

The problem of Manual counting, illegal voting, booth capturing


etc.

affects The people

the impact of which is It results in the waste of money and time.

a successful solution would This problem can be overcome by developing a


be system which would provide a better
communication between the candidates and the
voters as well as overcome the flaws of security
related issues.

1.2Objectives:-
To solve the problem of low voting and to provide voter more comfort by giving them a suitable
platform because we live in a democracy and voting is one of our fundamental duties as
responsible citizens of the country, but nowhere around the country a 100% people come to vote
during the elections in their territory. There have been many reasons for that some of them are: 

1. In the rural areas the influential people keep their men at the polling booths to threaten
the common man to vote for them .
2. There are many portions of the country like the North East where there is locally
sponsored terrorism, at such places the security conditions are also not very bright, so
naturally people feel afraid to come out of their houses and go to vote.
3. Net savvy new generation want hassle free voting system. Also the people in metros
want a system through which they can vote for their territory without traveling.
Keeping in mind these situations and to improve the state of democracy in the country
Online Polling System can be thought as a solution, in conjunction with the ongoing
current manual voting system.

1.3Scope:-
Create different system users and assign different roles with related permissions.
1. Manage all the election related details such as Voter ID Registrations, Candidate Details,
Manage election schedules, Notify general public about other details of all the voter
from one central location.
2. Confirmation of end user identity and will verify which voter are authorized to receive
Voter ID.
3. Maintain history of each candidate and their related information .
4. Activities like notification about verifications to be made, updations , creations done in
the records by the field officer will be maintained .

1.4.Platform Specification :-
1.4.1. Hardware:-

Server Configuration: Pentium IV, 750 MHz, 20GB HDD


1. RAM: 64MB minimum
2. 4 GB Minimum Free Space on Drive(scalable on demand)
3. One Server machine with Tomcat container
4. A Color Monitor, a Keyboard and a Mouse (optionally).
1.4.2. Software:-

Server Configuration:

1. Operating System: Windows XP


2. Apache Tomcat container
3. Mysql Database Server
4. J2SE 6.0

Technology Processor RAM Disk Space


Firefox 2.0 Pentium II at 500MHz 64 MB 20 MB
Java SDK 1.6 Pentium III at 1GHz 512 MB 132 MB
Apache Tomcat Application
Pentium III at 1GHz 512 MB 1 GB
Server V6.0
1GB (Excluding
Mysql Pentium III at 1 GHz 512 MB
data size)
1.4.3. Implementation Language:-
This project is made using JSP embedded HTML, along with the use of Cascaded Style Sheets in
HTML
Chapter 2

SYSTEM ANALYSIS

2.1 Identification Of Need

2.2 Preliminary Investigation

2. SYSTEM ANALYSIS
2.1. Identification of Need

This project provide solution for low voting problem of country. Since our country have largest
democracy and still our voting rate is near about 50 – 60% and most of them are the person who
are illetrate and give their vote only for money most of the literate person don’t give their vote
because of the hectic procedure of voting which result in low voting of country . To overcome
this problem we have create a project which will give a good platform to voter to vote to their
favourable candidate with an easy way .
2.2 Preliminary Investigation
We investigated a lot before starting this project.We study lot about voting system and the actor
involve in it and their role and also went through number of voting website on the Internet.The
website: “www.indian-elections.com” and “eci.nic.in” impressed us and helped us a lot.

Chapter 3
FEASIBILITY STUDY

3.1 Technical Feasibility

3.2 Economic Feasibility

3.3 Operational Feasibility

3. FEASIBILITY STUDY

After the analysis of the requirement from the proposed system and specification of the
proposed system a feasibility study of the projected system is conducted. The feasibility study is
done to find whether the system is beneficial to user and organization or not. The feasibility
study is carried out to select the best system that meets performance requirements.The feasibility
study includes the investigation of the information needs of the end user and objectives,
constraints, basic resource requirement and cost benefits. The main and prime objective of
feasibility study is not to solve the problem, but to acquire a sense of its scope. Based on this the
feasibility of the proposed system can be evaluated in terms of following major categories:

3.1. Technical Feasibility:-


Our project uses the J2EE technology.We need resources that are easily available:

1. Any Pentium Processor family or equivalent.

2. 1 GB RAM or more.

3. 20 GB or more hard disk.

4. Windows 7 or Windows Server 2000/Professional

5. Mysql 5.1 as database

6. Netbeans 5.5 as IDE

The technical requirements are available to us.Thus, our Project is technically feasible.

3.2 Economical Feasibility:-


All the resources that we use for our project are readily available. Since, we have managed to
arrange for all the software and hardware requirements and no constraint on cost has been
violated, hence, our project is economically feasible. The main issue concerning the economic
feasibility was the availability of a fast processor, enough RAM. Economic Justification is
“bottom-line” consideration for most systems. Economic justification includes a broad range of
concern that includes cost benefit analysis, long term corporate income strategies, and cost of
resources needed for development. As far as monetary matters are concerned we need hard disk
space of 10GB and a Pentium processor. These are only requirements which can be easily met.

3.3 Operational Feasibility:-


Operational feasibility covers the development of any infringement, violation or liability that
could result from development of the system. There is no law or rule, which will be violated by
the development of the software.
Chapter 4
LITERATURE SURVEY

4.1 Work Done by Others

4.2 Benefits

4.3 Proposed Solution

4.4 Technology Used

4. LITERATURE SURVEY

4.1. Work Done by Others


Our team consists of five persons and one guide and one co-guide. Our project is a new
application project. No older version of our project exists. So we had to start from the beginning.
A lot of people have helped us in the completion of this project. There are other people they
motivates us to make this project. We discuss from our project guide regarding to our project.
Many views given by our project guide helped us how to prepare for minor project in a given
time limit with a consistent manner and right direction. Senior also provides information
regarding our project.

4.2Benefits
1. The site has a Graphical User Interface which makes it easier to understand for the users
of the system.
2. This site provides live up-to-date data which is personalized for the individual voter.
3. This website will eliminate paper-based administration and manage data electronically.
4. This tool will help voter to analysis their candidate performance based on the provided
data.
5. The data will be collected electronically.
6. This application will provide all the candidate details of the respected area.
7. The final result can be directly viewed by the all voter .
8. Manual computation has been avoided by the use of this application.
9. This website will increase the voting percentage of country .
10. This website will provide a direct chat between the candidate and voter which will help
the voter to know more about their candidate .

4.3 Proposed Solution


The move from traditional voting system to advance online voting system is extreme need of day
to day life. Online national polling itself calls for a great degree of appreciation of underlying
process. We are maintaining a long list of various information, which can be easily used by the
voter to vote for the best candidate for there area. It is very user friendly.

4.4 Technology Used:-


Java Runtime environment (JRE)
JDK(Java Development Kit) 4 or better
Database:- Mysql 5.1.
Webserver:-Apache tomcat.
IDE:- Netbeans 5.5.
1. XML: (Extensible Markup Language) : It is a set of rules for encoding documents
electronically. XML’s design goals emphasize simplicity, generality, and usability over
the Internet. It is a textual data format, with strong support via Unicode for the languages
of the world.
2. JAVASCRIPT: It is an object-oriented scripting language used to enable programmatic
access to objects within both the client application and other applications. It is primarily
used in the form of client-side JavaScript, implemented as an integrated component of the
web browser, allowing the development of enhanced user interfaces and dynamic
websites.
3. HTML. : HTML, which stands for HyperText Markup Language, is the predominant
markup language for web pages. It provides a means to create structured documents by
denoting structural semantics for text such as headings, paragraphs, lists etc as well as for
links, quotes, and other items. It allows images and objects to be embedded and can be
used to create interactive forms.
4. CSS: It is a style sheet language used to describe the presentation semantics (that is, the
look and formatting) of a document written in a markup language. Its most common
application is to style web pages written in HTML and XHTML, but the language can be
applied to any kind of XML document, including SVG and XUL.
5. NetBeans (an IDE for programming in JavaFx): It refers to both a platform
framework for Java desktop applications, and an integrated development environment
(IDE) for developing with Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala
and Clojure. The NetBeans IDE is written in Java and runs everywhere where a JVM is
installed, including Windows, Mac OS, Linux, and Solaris.
6. Rational Rose (Design tool) : Rational Rose is an object-oriented Unified Modeling
Language (UML) software design tool intended for visual modeling and component
construction of enterprise-level software applications.

Chapter 5
TECHNICAL
5.1 Java Development Kit

5.2 Packages to be Used

5.3 Code

5. Technical Part

5.1 JAVA DEVELOPMENT KIT


When the java programming language was introduced in 1995, the only development tool
available was the JDK from sun. This set of command line tools makes it possible to write,
compile and debug JAVA programs. However, the JDK is the far cry from integrated
development environment such as Visual Basic and Borland C++. An integrated
development environment (IDE) is software that combines several development tools into a
single, cohesive package. The assortment usually includes a source code editor, compiler
debugger and other utilities.These tools work together the development process; most packages
are highly visual and rely on windows, drag and drop, and other graphical elements. The goal is
to make software design faster, more efficient, and easier to debug.

MAIN PROPERTIES OF JAVA:

 JAVA is object oriented


 JAVA is small and simple
 JAVA is safe
 JAVA is platform independent
 JAVA is architectural neutral
 JAVA is Distributed
 JAVA is dynamic

5.2 PACKAGES TO BE USED :-


 LANG:

The java.lang package provides classes that are fundamental to the design of the java
programming language.

 UTIL:

The java.util. * Packages provide support for the event model,collection framework, and date
and time facilities and contain various utility classes.

 SQL:

It provides the API for accessing and processing data stored in a data source (usually a relational
database) using the java programming language .This API includes a framework whereby
different drivers can be installed dynamically to access different data sources .Although the
JDBC API is mainly geared to pass SQL statements to a database, it provides for reading and
writing data from any data source with a tabular format.

Chapter 6
SOFTWARE ENGINEERING
APPROACH

6.1 Software Engineering Paradigm Applied


6.2 Requirement Analysis
6.3 Planning Managerial Issues
6.4 Design
6.5 Implementation Phase
6.6 Testing

6.1. Software Engineering Paradigm Applied:-


6.1.1. Description ( INCREMENTAL MODEL )

Online National Polling is implemented using Incremental Model. The project has been
completed by following through several phases where each phase consists of System
engineering, requirement analysis and design, coding, testing and maintaining the application at
different incremental level.

The factors for deciding the process model includes:

 Nature of software
 Application
 Tools and Methods used
 Deliverables

6.1.2. Advantage & Disadvantages:-


Advantages of using Incremental Model:

 Although the team size being small, still the product development is made feasible due to
delivery of product in increments and small team working on each increment and rather
than waiting for formation of a bigger team.
 Because of the development in increment a deliverable version of product was delivered
on time. Thus, model ensures timeliness of the project.
 It combines the iterative nature of prototyping model and linear nature of sequential
model.
 Number of people required is less.
 Easy to add quality.
 The system is designed such that it can be delivered in pieces.
 Increments are developed one after the other after the feedback has been received from
the user.
 Since each increment is simpler than the original system, it is easier to predict the
resources needed to accomplish the development task within acceptable accuracy bounds.

Disadvantages:
 Reusability of code among modules is minimum.
 Integration testing is difficult to do.

Incremental Model:
6.1.3. Reasons for use

As this project is based on hierarchical structure, as the project progresses – at each of the level
we have to go through analysis, design, code and test.On the delivery of operational product with
each increment we step to next increment along with our next level in the hierarchy.Incremental
development is particularly useful when staffing is less since we were only 4 project developers
we used this model. Since this model facilitates further improvements therefore in future
increments can be planned to manage technical risks and enhancements.

6.2 Requirement Analysis:-


Requirements are a feature of a system or description of something that the system is capable of
doing in order to fulfill the systems purpose .It provides the appropriate mechanism for
understanding what the farmer wants, analyzing the needs assessing feasibility, negotiating a
reasonable solution, specifying the solution unambiguously,validating the specification and
managing the requirements as they are translated into an operational system.

6.2.1 Software Requirement Specification:-


 512 MB RAM
 10 GB hard disk space
 Standard monitor
 Standard Keyboard
 Pentium III processor and above

Requirement Specification:-
Quality function deployment is a quality management technique that translates the needs of the
user into technical requirements for software. QFD emphasizes understanding of what is
valuable to the user and deploying these values through the engineering process.QFD identifies 3
types of requirements:

 Normal
 Expected
 Exciting

Functional Requirement:-
The functional requirements describe the interaction between the system and its environment.
For our project functional requirements may be stated as follows – An HTML Along with JSP
Interface will be implemented to allow the software user to interact with the application and use
all the functionality provided by the system like online examination display of result, Creation
and updating of questions etc. and the information regarding registration or edition of
profile.This system has no hardware interface requirements.The project requires the following
software in order to function properly:

 HTML: For the Application Interface implementation.


 JSP: For the Scripting.
 Java Script: For the validation of inputs entered.
 Mysql: For the storage of user & agriculture information .

Non-functional requirements
The non-functional requirement describes a restriction on the system that limits our choice for
developing a solution to problem. The non-functional requirements in our project are –

1) Time
The project should be completed within the stipulated time period.

2) Cost
The cost involved in making the project should be feasible. The automated system ought to be
less expensive than the manually handled system.

General types of requirements

Physical environment
1) The equipment for the software to be used is a simple web-browser which is located at the the
Election Commission office.

2) There are no environmental limitations such as temperature, climate etc.

User and human factors-

1) The clients can use the software on their own PCs.

2) No training is essential to use the software. It is very easy to use.

Functionality:-

1. Online registration for the voter id card which will be verified by the field officers (address and
identity validation) and after receiving the field officer's report only the registration will be
validated and a voter id will beissued (a photograph will have to be uploaded).
2. The election commission will be able to use the site to let the candidates register for their
nomination on the site and their officers will validate it.
3. Candidates can run their election campaign through forums and chat-room.
4. A detailed profile of all the candidates constituency wise will be maintained so that voters can
always know about the candidates of their area.
5. Once registered when ever polling is done in any area that areas' people will be able to vote for
their favorite candidates.
6. Devise a mechanism that ensures duplicates voting (online & offline) is not happening.
7. The system would show the current statistics as well on the web site about how many votes
which candidates have got.
8. Later when the voting ends the administrator can add the manual poling results to the database
to calculate the final results which will immediately be flashed on the site.
6.2.1.1 Glossary:-

Users:-
1. Voter : A citizen of India, who is eligible to cast vote.
2. Candidate : A person who is contesting for the elections.
3. Administrator : An Election Commission officer who allots duties to field officers and manages
the contents of the site.
4. Field Officer : The person who verifies the voter and candidate manually and submits the report
to the election commission officer.
5. Political details: Details of candidate such as Name, Party name, phone number etc.
6. Profile: Details of administrator, field officers associated with the election commission.

Terminologies Used:-

 SLA: SLA is a formal written argument between two parties, the service provider and the
service recipient. It defines the rules that govern the relationship.
 Personal Details: Details of student such as Login id, Name, Contact No., etc.
 HTML: Hyper Text Mark-up Language, used to design static web pages.
 EJB: Enterprise Java Beans
 J2EE: Java 2 Enterprise Edition, used to implement concepts of JSP (Java Server Pages)
and Servlets.
 Mysql: A database management tool used to create databases and required tables.
 Apache Tomcat: Community Edition of the Websphere Application Server. It provides
support for J2EE and is up to web service standards.
 HTTP: Hypertext Transfer Protocol is a transaction oriented web browser-web server
protocol.
 RAD: Rational Application Developer, a web project development tool by IBM. It
provides Java Database Connectivity, J2EE support, inbuilt web-server (Websphere) and
a Web development Environment.

6.2.1.2 Supplementary Specifications

Reliability
The main system must be running all the time because any user can access system at any time.

Security
The system must maintain the security by allowing only authenticated users to use it.

Performance
Many parallel entries are done in database at various time by different user, it is mandatory that
system make simultaneous relevant entries and in correct database.

6.2.1.3 Use Case Model


View polling stats
View area Info <<extend>>

<<extend>>
View differernt info
regarding elections
View Candidate Info <<extend>> Database

view statistics

General public applies


for new voter ID card
Apply for new VID card
General User

People can register to


avail more site features Officers
Register for site

Voter Those wishing to use online


voting service will have to
register seperately
Register for online v oting

General user Log In Field Off icer

General user logs in to get


extra functions as a voter or
candidate List of persons whose
Of ficer Log In records have to be
Candidate View verification list v erified by field of ficer
Allows officer to change role as
administrator or field off icer

Administrator

Use Case Diagram Description


ADMINISTRATOR

1) USE CASE: Login

Login

Figure 2

Brief Description

This use case describes how Admin can log into the System. The use case takes user name and password to
logon and checks for its authentication.

Flow of events

NORMAL FLOW:

Step Actor Description Condition Location

1 Admin/candidate/voter System generate login Window __________ __________


,which request the Admin to enter
User Name and password

2 Admin/candidate/voter The Admin enters User Name and __________ __________


password

3 Admin/candidate/voter The system Authenticate the entered Invalid user ALT1


name and password and logs the ID/password
Admin into the system

4 Admin/candidate/voter System generates Starting page listing __________ __________


all the available operations

5 Admin/candidate/voter Use Case Ends __________ __________

ALT Flow:
Step Actor Description Condition Location

1 Admin/candidate/voter System Generate an error message. __________ __________

2 Admin/candidate/voter Admin select Ok. __________ __________

3 Admin/candidate/voter System sends back admin to login __________ __________


window.

Precondition

User needs a valid User Name and password to logon to the system.

Post condition

If the use case was successful, the actor is logged into the system.

Actor

Admin/candidate/voter

Special Requirements:

The User Name and password should be provided to the Admin/candidate/voter for login purposes.

2) USE CASE: Validate Candidate

Validate candidate

Figure 3

Brief Description

The candidates registering for standing in elections will be required to submit their details which will be
validated by the administrator.

NORMAL FLOW:

Step Actor Description Condition Location

1 Admin Clicks the verification tab to verify the Should be logged __________
details in

2 Admin Verifies the details of the candidate Candidate has __________


already submitted
the documents

3 Admin System generates Starting page listing __________ __________


all the available operations

4 Admin Allot ticket to candidate __________ ALT

5 Admin Use Case Ends __________ __________

ALT Flow:

Step Actor Description Condition Location

1 Admin Reject candidate registration __________ __________

2 Admin Send message to candidate __________ __________

Preconditions

Administrator is already logged in and Candidate has already submitted registration documents.

Post condition

Allot ticket if form is correct. Reject form if details are not properly filled.

Actor

Admin

Special Requirements:

The User Name and password should be provided to the Admin for login purposes.

3) USE CASE: Manage Schedule

Manage Schedule

Figure 4

Brief Description

The administrator will update the site for the forthcoming election polls and related information related to
the elections.
NORMAL Flow:

Step Actor Description Condition Location

1 Admin Clicks the manage schedule tab Should be logged __________


in

2 Admin Updates the schedule and site __________ __________

Precondition

Administrator is already logged in.

Post condition

The site will get updated for forth coming election.

Special Requirements:

The admin should be logged in.

Actor

Admin

Special Requirements:

The User Name and password should be provided to the Admin for login purposes.

4) USE CASE: Add Manual Polling Result

Add manual Polling results

Figure 5

Brief Description
The administrator will, after completion of elections and counting, have to add the result to the database to get
the final vote count.

NORMAL Flow:

Step Actor Description Condition Location

1 Admin Clicks the polling results tab Should be logged __________


in

2 Admin Add polling results to the database Polls have been __________
counted

3. Admin Final election result will be generated __________ __________

Precondition

Administrator is already logged in and polls have been counted manually.

Post condition

Final election result will be generated.

Actor

Admin

Special Requirements:

The User Name and password should be provided to the Admin for login purposes.

5) USE CASE: Generate Reports

Generate Reports

Figure 6

Brief Description

The administrator can generate polling as well as candidates reports from the system.

NORMAL Flow:

Step Actor Description Condition Location


1 Admin Clicks the generate report tab Should be logged __________
in

2 Admin System provide the options for __________


generating reports

3. Admin Report generated __________ __________

Precondition

Administrator is already logged in.

Post condition

Polling or candidate reports will be generated.

Field Officer:

6) USE CASE: Login

Login

Figure 7

Brief Description

This use case describes how field oficer can log into the System. The use case takes user name and password
to logon and checks for its authentication.

NORMAL FLOW:

Step Actor Description Condition Location

1 Field Officer System generate login Window __________ __________


,which request the field officer to
enter User Name and password

2 Field Officer The field officer enters User Name __________ __________
and password
3 Field Officer The system Authenticate the entered Invalid user ALT1
name and password and logs the field ID/password
officer into the system

4 Field Officer System generates Starting page listing __________ __________


all the available operations

5 Field Officer Use Case Ends __________ __________

ALT Flow:

Step Actor Description Condition Location

1 Field Officer System Generate an error message. __________ __________

2 Field Officer Field Officer select Ok. __________ __________

3 Field Officer System sends back Field Officer to __________ __________


login window.

Precondition

User needs a valid User Name and password to logon to the system.

Post condition

If the use case was successful, the actor is logged into the system.

Actor

Field Officer

Special Requirements:

The User Name and password should be provided to the Field Officer for login purposes.

USE CASE: View Verification List

Veiw Verification List

Figure 8

Brief Description
The job of the field officer will be to verify the address of the voters.

NORMAL Flow:

Step Actor Description Condition Location

1 Field Officer Clicks the voter list tab to check the Should be logged __________
details of the voters in

2 Field Officer Select the list of voter and check __________


their details

Precondition

Field Officer should be logged in.

Postcondition

Voter details has been verified and he is able to vote.

General User :

USE CASE: Login

Login

Figure 9

Brief Description

This use case describes how general user can log into the System. The use case takes user name and
password to logon and checks for its authentication.

NORMAL FLOW:

Step Actor Description Condition Location

1 General User System generate login Window __________ __________


,which request the General User to
enter User Name and password

2 General User The General User enters User Name __________ __________
and password
3 General User The system Authenticate the entered Invalid user ALT1
name and password and logs the ID/password
General User into the system

4 General User System generates Starting page listing __________ __________


all the available operations

5 General User Use Case Ends __________ __________

ALT Flow:

Step Actor Description Condition Location

1 General User System Generate an error message. __________ __________

2 General User General User select Ok. __________ __________

3 General User System sends back General User to __________ __________


login window.

Precondition

User needs a valid User Name and password to logon to the system.

Post condition

If the use case was successful, the actor is logged into the system.

Actor

Field Officer

Special Requirement

The User Name and password should be provided to the General User for login purposes.

USE CASE: Register For Site

Register for Site

Figure 10

Brief Description
This use case describes how general user can log into the System. The use case takes user name and
password to logon and checks for its authentication.

NORMAL Flow:

Step Actor Description Condition Location

1 General User Clicks the tab register for the site __________ __________

2 General User System will provide the registration __________ __________


form to the user

3. General User User will submit the form and details Incomplete form ALT
added to the database will be redirected

General User User registration form will be __________ __________


forwarded for the clarification
4

ALT Flow:

Step Actor Description Condition Location

1 General User System Generate an error message. __________ __________

2 General User User correct the form and filled the __________ __________
unfilled entries

3 General User Resubmit the correct form for __________ __________


registration

Precondition

None.

Post condition

The registratration form will be forwarded to the administration for further clarification.

Actor

General User.
USE CASE: USE CASE: Veiw Statistics

Veiw Statistics

Figure 11

Brief Description

User can view election updates and election schedule and other details.

LT Flow:

Step Actor Description Condition Location

1 General User System Generate an error message. __________ __________

2 General User User correct the form and filled the __________ __________
unfilled entries

3 General User Resubmit the correct form for __________ __________


registration

Precondition

User must be registered in the website.

6.2.2 Conceptual Level Class Diagram:-


6.2.3 Conceptual Level SEQUENCE DIAGRAM:-
Use Case: Apply for new VID

Use Case: View statistics


Use Case: Register for online Voting
Use Case: Register for site
Use Case: Voter Log in
Use Case: Candidate Log in
Use case: Field Officer Log in
Use Case: Administrator Log in
Use Case: Cast Vote
Use Case: View Result
Use case: View verification List
Use Case: Add manual poling results
Use Case: Validate Candidate
Use Case: Generate Report
6.2.4 Conceptual Level Activity Diagram:-
GRANT VOTER ID

VALIDATION OF CANDIDATES

MANAGE ELECTON SCHEDULE

ADMINISTATOR

ALOT DUTIES TO FIELD OFFICERS

ADD MANUAL POLLING RESULTS


TO DATABASE

1. Name of use case:- Validation of candidates


Description:-
The candidates registering for standing in elections will be required to submit their details
which will be validated by the administrator.
Preconditions:-
- Administrator is already logged in.
- Candidate has already submitted registration documents.
Normal flow of events:-

- The administrator will check the registration document.


Alternate flow of events:-

- None.
Post condition:-

- Allot ticket if form is correct .


- Reject form if details are not properly filled.
Check candidate
registration form

[incorrect form] Reject candidate


registration

[correct from]

Allot ticket to
candidate

2. Name of use case:- Grant voter id.


Description:-
The voters requesting for voter id would register for the voter id form which after
verification from the field officer will be validated by the administrator.
Preconditions:-
- Administrator is already logged in.
- Voter has already submitted his\her registration form.
Normal flow of events:-

- Administrator will check the feedback given by field officer.


Alternate flow of events:-None.
Post condition:-

- Reject voter id if information are incorrect.


- Issue voter id if voter details are correct.

Check feed back from


field officer

[incorrect information] Reject voter id


request

[ correct information ]

Accept voter id
request

.
3. Name of use case:-Manage election schedule.
Description:-
The administrator will update the site for the forthcoming election polls and related
information related to the elections.
Precondition:-
- Administrator is already logged in.
Normal flow of events:-

- The administrator will update site.


Alternate flow:-
- None .

Postcondition:-

- The site will get updated for forth coming election.

Manage election
schedule

Select schedule / new


schedule

[update schedule]

[selected schedule]

[delete schrdule]
[new schedule]

Previous schedule will be Previous schedule New schedule will be


updated will be deleted added

4. Name of use case:-Allot duties to field officers.


Description:-
The administrator will allot duties to field officers about the areas they will have to cover
to verify registrations for voter ids etc.
Precondiotion :-
- Administrator is already logged in.
- The election schedule have been decided.
Normal flow of events:-

- The administrator will allot duty.


Alternate flow:-
- None .
Post condition:-

- The allotment schedule will be sent to respective field officer.

Allot duties to field


officers

Details of duties will be sent


to field officers

5. Name of the case:-Add manual polling results to database.


Description:-
The administrator will, after completion of elections and counting, have to add the result
to the database to get the final vote count.

Precondition :-
- Administrator is already logged in.
- The manual polls have been counted.
Normal flow of events:-
- Polling result will be added.
Alternate flow of events:-

None .

Postcondition :-

- Final election result will be generated.


Add m anual poll results to
database

Final polling res ults are


obtained

Collect Area Details

<<extends>>

ViewProfile
Field Officer

Update Profile

Verify Details

1. Name of Use Case:-Collect Area Details.

Description :- The field officer will be able to view the information aboutthe verifications to
be made in the area allotted to him.
Precondition :-

Filed officer should been logged in.

Election schedule will be updated.

Normal flow of events:-

He will be able to see number of verification to be made.

Alternate flow of events:-

Send error message to administrator if area details is not able to view.

Post condition:-He will be able to view area details.

New registrations in
his area can be viewed

1. Name of use case:- VIEW Profile.


Description:-The profile of the field officer has to be maintained in which information
about the areas allotted to him will be maintained and also be updated for complaints
againsthim.
Precondition:- Filed officer should been logged in.
Normal flow of events:-Will be able to view the profile.
Alternate flow of events:-Profile can also be updated.
Post condition:-Will be able to update its progress in profile.
Own profile and details
can be viewed

2. Name of the case:-Update profile


Description:-
The user can update his/her already created profile.
Precondition:- Filed officer should been logged in.
Normal flow of condition:-The field officer will be allowed to update in his profile.
Alternate flow of condition:-None
Post condition:-Result will be sent to administrator.

as k for
conform ation

[ No ]

[ Yes ]

Update profile
Return to
profilre page
3. Name of the case:-Verify Details.
Description:-
The field officer after verification of details of voter id registrations will submit whether
the information presented is correct or not.
Precondition:- Filed officer should been logged in.
Normal flow of condition:-Will be able to submit verification details.
Alternate flow of condition:-None.
Post condition:-Result will be sent to administrator.

Send report to Administrator


after manual inspection
<<Extends>>

Profile

Candidate
Update profile

Forum

1) Name of the use case :-Profile.


Description :-The profile of the candidate will be maintained at the site .
Precondition:-The candidate is logged in.
Normal flow of events:-The candidate will be directed to the profile page.
Alternate flow of events:-None.
Post condition:-The update and area info facilities will be available.

User Profile
can be viewed

2) Name of the case:-Update profile


Description:-
The user can update his/her already created profile.
Precondition:- Candidate should been logged in.
Normal flow of condition:-The Candidate will be allowed to update in his profile.
Alternate flow of condition:-None
Post condition:-Result will be sent to administrator.
as k for
conform ation

[ No ]

[ Yes ]

Update profile
Return to
profilre page

3) Name of the use case:-Forum.


Description:-The candidates will be allowed to run their own forums through which
they will be allowed to promote their election agendas and participate in discussions
and chats.
Precondition:- Candidate is logged in.
Normal flow of events:-The candidate will be able to participate in discussion.
Alternate flow of events:-None.
Post condition:-Communication between public and him will be there.
Register for online voting

<<Extends>>

Voter View profile

Update profile

Cast vote

Submit complaint

 Name of Use Case: Register for online voting


Description:The candidates having a voter id will be provided a account, if they wish, to
take part in online voting system.
Pre conditions:
- The user is already logged in as voter.
- The user already posses a voter ID.

Normal flow of events:

- The candidate will apply for online voting registration.


- The user entry will be matched with those already present in database.

Alternate flow of events: None.

Post conditions:

- If a new entry comes it will be added and database will be updated.


- If entry already exists reject application.
Check existance
of user

exit

Grant online
voting ID

 Name of use case:Profile


Description:
The users will be allowed to view different profiles.
Pre conditions:
- The user must be logged in as voter.

Normal flow of events:

- The user can choose to view his/her profile.

Alternate flow of events: None.

Post conditions:

- The segments of profile selected to be viewed will be shown to the user.


Show profile
details

4) Name of the case:-Update profile


Description:-
The voter can update his/her already created profile.
Precondition:- Voter should been logged in.
Normal flow of condition:-The Voter will be allowed to update in his profile.
Alternate flow of condition:-None
Post condition:-Result will be sent to administrator.

as k for
conform ation

[ No ]

[ Yes ]

Update profile
Return to
profilre page
 Name of use case: Cast Vote
Description:The user after registering for online voting system will be able to cast their
votes whenever elections will be conducted in their areas.
Pre condition:
- The user is logged in as voter.
- The user has registered for online voting.

Normal flow of events:

- The voter can vote for the selected candidate from the list of available candidates.

Alternate flow of events:

- The voter has already cast his/her vote.

Post condition:

- The vote of the voter will be registered.


- The database base will be updated and the voter will be marked as voted.
- If voter is already marked as voted he/she will be displayed a message and will not be
further allowed to vote.

Provide list of
candidates

register
users vote

update user
status and results
 Name of Use Case : Submit Complaints
Description:
The users will be able to submit complaints regarding the delay in verification by field
officers and any other matter.
Preconditions:
- The user is logged in as voter.

Normal flow of events:

- The user will submit any complaints regarding his/her ID or any other problems.

Alternate flow of events: None

Post conditions:

- The user complaints will be forwarded to the respective field officers.

Submit complaint
to field officer

Update field
officers table
<<Extends>>

<<Include>>
Voter ID Registration
<<Extends>>
View Area Details
Register View
User
<<Include>>
Candidate Registration

View Candidate Details

Name of the use case: Register.

Description: User can register through this either for a voter ID card or for standing in the
election as a Candidate.

Precondition:None

Normal flow of events:

The user will be provided with a registration form.

The details will be accepted by database.

Alternate flow of events: Incomplete form will be redirected.

Post conditions:

The registratration form will be forwarded to the administration for further clarification.
The user wil as k for
regis tration form

Voter Id Candidate

Us ers will regis ter for Candidate will apply for


Voter ID Card s tanding in election

Incom plete Incomplete

Complete

Com plete

Form will be forwaded to


adm inis tration

Name of use case: view.

Description: User can view election updates and election schedule and other details.

Pre condition : None.

Normal Flow of events: Users will be able to view area details, candidate details and
other details.

Alternate flow of events: None.

Post conditions: Wesite can be view.


Select Inforamtion to
be viewed

Area info
Candidate info

Candidate Info will be Area Info will be


dis played dis played
6.3 Planning Managerial Issues:-

6.3.1 Planning Scope:-

The objectives of software project planning are to provide a framework that enables a teller and

other users of product to make reasonable estimates of resources, cost and schedule. This

planning objective is achieved through a process of information discovery that leads to

reasonable estimates. Software project management begins with a set of activities that are

collectively called project planning.

The first step in planning a project is to define the scope of the project and the resources

available for its development. This should be followed by the details of the project team

organization and a technical description of the project.

The scope of ONLINE NATIONAL POLLING is very wide. The project would provide high

performance over low cost. Various tasks could be completed in lesser time. Web based services

is an important feature enabling inter/intranet communication.


6.3.2 Project Resources:-

Reusable Software
person Component

H/w or S/w tools

The project resources can be categorized under the following heads:

Human Resources:-

It refers to the persons who were actually involved in analysis, design, planning of the software

system. This is the most important resource required for the development of the software. For

our project the human resource includes the internal project guides, Ms. Shweta Tiwari, Mr.

Zuber Mirza and the developers of the project.

There are five developers involved in the project:

Ajit Singh Thakur

Deepak Agarwal

Prateek Matharu

Rohit Sharma

Shashank Singh
Environmental Resources :-

Environmental resources consist of hardware and software resources and indicate the hardware

and software that will be used for the development of the system.

Hardware Resources :-

Server Requirements:-

Minimum HDD required is 20 GB

Processor Pentium 4 or above RAM 1 GB & above

Client Requirements:-

Minimum HDD required is 10 GB

Processor Pentium family or equivalent

RAM 256 MB & above

Software Resources :-

Server Requirements :-

Operating System required is Win NT/2000/XP

Internet Explorer 5.0 & above

Database Mysql

Java Development kit 1.4 or above and JRE

Client Requirements

Operating System required is Win 98/2000/XP

Internet Explorer 5.0 & above

Apache tomcat
6.3.3 Team Organization:-

There are basically three types of project teams namely:

1. Democratic Decentralized (DD)

2. Controlled Decentralized (CD)

3. Controlled Centralized (CC)

The best team structure depends on the management style of the organization, the number of

people who will populate the team and their skill levels, and the overall problem complexity. In

accordance with our project the team structure is :

Democratic Decentralized: This software engineering team has no permanent leader rather task

coordinator for short duration of time and then replaced by other who may coordinate other task.

Decisions on problems and approach are made by group consensus. Communication among team

members is horizontal.

A B

D C
DEMOCRATIC DECENTRALIZED TEAM STRUCTURE:-

GUIDES:-
DEMOCRATIC DECENTRALIZED TEAM STRUCTURE
MS SHWETA TIWARI

MR.ZUBER MIRZA

DEVLOPER:-

DEEPAK AGARWAL

CODING AND DATABASE


DEVLOPER:-
DEVLOPER:-

AJIT SINGH THAKUR


ROHIT SHARMA

ANALYSIS AND DESIGN


ANALSIS AND DESIGN

DEVLOPER:-

DEVLOPER:-
SHASHANK SINGH
PRATEEK MATHARU
ANALSIS AND DESIGN
CODING AND DATABASE

6.3.4 Project Scheduling:-

 Registration of the Users


 Browse the site
 Accessing information of latest updates.
 Profile management
Detailed Schedule:-

We are giving the detailed schedule of my project in terms of the deliverables, phases, the
activities, steps and milestone in the project.

Deliverables:-

Deliverables are the items that the customer expects to see during the project development. For
our project, the following are the deliverables:

 Registering the users.


 Browsing the site.
 Accessing information of latest updates.
 Profile management

Work Break Down Structure:-

 Breaking down the goal of the project into several.


 Each intermediate goal can in turn be broken down further. The process is repeated until
each goal is small enough to be well understood.
 Its objective is to identify all the activities that a project must undertake.
 That task can be broken down into, as is directed or necessary.
 Once the manageable pieces have been identified, they can be used as a work assignment.
 Work break down structure is used as an input to the scheduling process.
The work break down structure of our project is as follows:

FACULTY FEEDBACK ANALYSER

ANALYSIS PLANNING DESIGN IMPLEMENTATION TESTING

PROB. PROCESS DESIGINING MODULE 1


DEFINATION MODEL MODEL 1

MODULE 2
INFO PROCESS SCOPE DESIGINING
GATHERING MODEL 2
MODULE 3
FUN PROJECT DESIGINING
SPECIFICATION RESOURCE MODEL 3 TESTING OF ALL
MODULE
REQ PROJECT VERIFICATION
ELICITATION SCHEDULE
AND ANALYSIS

6.3.5 Estimation:-

Cost Estimation:

Cost estimation is part of the planning phase of any engineering activity. The cost of software
can be calculated based on the following factors:

 Size
 Complexity
 Level of Reliability
 Level of Technology Utilized
 Availability, Feasibility & Stability of the system used to produce the product.

Software cost estimation has two uses in software management:

 During the planning stage, one needs to decide how many engineers are needed for the
project and develop a schedule.
 In monitoring the project’s progress, one needs to assess whether the project is
progressing according to schedule and take corrective action if necessary.
6.3.5.1 COCOMO Model:

For estimating the cost of our project, we have used the COCOMO model. Constructive cost
model (COCOMO model). It is a hierarchy of software estimation model. It uses empirically
derived formulas to predict efforts as a function of LOC estimated. It consists of three different
models of increasing complexity and levels of detail. A brief description of the three models is
presented below:

i. Basic COCOMO or Model 1:

In this model, the cost is estimated solely on the basis of the delivered source

instructions, or lines of code measured in thousands (KLOC).

The equation for the basic COCOMO model is as follows:

E = a0* (KLOC)b0

Where,

E = Effort

KLOC = Lines of Code

Expressed in thousands

a0 and b0 are constants

ii. Intermediate COCOMO or Model 2:

The cost is estimated on the basis of two parameters – the delivered source instructions or lines
of code measured in thousands (KLOC), and an associated formula for determining the nominal
development effort, known as the Effort Adjustment Factor (EAF).

The formula for the Intermediate COCOMO model is:

E = a0 *(KLOC)b0 * EAF

Where,

E = Effort

KLOC = Lines of Code expressed in thousands

EAF = Effort Adjustment Factor

a0 and b0 are constants


The duration of the project is estimated by the following equation:

D = (2.5) * E0.35

This equation helps in verifying whether the project category chosen is correct or not.For the
COCOMO model, the equation for calculating the number of persons involved in the
development process is:

N=E/D

Where

N = Number of Persons involved

E = Effort involved

D= Duration

iii. Advanced COCOMO or Model 3:

The advanced COCOMO model uses the same formula as the Intermediate COCOMO model,
but the equation is applied separately for each of the following phases:

 Analysis Phase
 Design Phases
 Maintenance Phase
 Testing Phase

MODE :-

Using Boehm’s terminology there are 3 modes:

 Organic Mode- relatively small, simple software projects.


 Semi-detached Mode- intermediate software project.
 Embedded Mode- a software project that must be developed within a set of

tight hardware, software and operational constraints.

For our project, we have used the Intermediate COCOMO Model for cost estimation.The project
lies in the category of semidetached mode for the COCOMO model. The various variables
needed for the calculation are listed below for the project.

 KLOC-The no. of lines delivered code is approx. 6.


 N- no. of persons involved in the development is 2.9, approx. 3.
 D- Time required for the completion of the project is 2 months.
E comes out to be 1.88 person month.

Cost/Benefit Analysis:

 Intangible Cost: The intangible cost related to our project comprises of the labor put in,
study hours devoted, in making the project and the advice given to us by our guide in
making this project. The intangible benefits involved in our project are the satisfaction of
our guide and colleagues who will test and use our project.
 Indirect Cost: The indirect expenses related to our project are: electricity
consumed depreciation of the computer systems and other equipment that are used in the
development of the project. It also includes the cost of gathering the information
regarding the project and the cost of the books that were bought in concern with the
project.
 Variable Cost: Variable cost includes the cost of the stationary used for project report
and also the cost of the auxiliary storage media required as a backup of our project.
Variable cost also includes the traveling expense that was done for the project.

6.3.6 Risk Analysis:-

A risk is any unfavorable event or circumstances that can occur while a project is underway. If a
risk becomes true, it can hamper the successful and timely completion of a project. Therefore, it
is necessary to anticipate and identify different risks that a project is susceptible to, so that a
contingency plan may be prepared in advance to contain the effects of each risk. Risk
management aims at dealing with all kinds of risks that might affect a project. We quantify the
level of uncertainty and the degree of loss associated with each risk, when we analyze the
different categories of risks that are considered.

Risk always involves two characteristics:

 Uncertainty: The risk may or may not happen; that is, there are no 100% probable risks.
 Loss: If the risk becomes reality, unwanted consequences or losses will occur.When risks
are analyzed, it is important to quantify the level of uncertainty and the degree of loss
associated with each risk. To accomplish this different categories of risk are considered.

Types of Risks:-

 PROJECT RISK
 TECHNICAL RISK
 BUSINESS RISK
 KNOWN RISK
 PREDICTABLE RISK
 UNPREDICTABLE RISK
Risk Prioritization:-

Based on the impact of the individual risks, we can prioritize them in the order of their removal
as follows:

 Design does not meet requirements.


DECREASI
 Size of Project becomes large. NG
 Delivery Deadline will be tightened. PRIORITY
 Insufficient Time for Testing .
 Larger Number Of user than Planned.
 Customer changes the requirements.
 Lack of Training on Development Tools.
 Technology does not meet requirements.
 End users resist system.
 Project Loss due to Hard Disk Failure.

6.3.7 Security Plan :-

Why does software need a security policy and plan? What’s the point of having them?A security
policy, included within a security plan, helps to ensure that everyone is in the sync with the
software’s needs and requirements. With a firm policy in place. Every employee knows what is
expected—what the rules are – and how the requirements are to be implemented. The limits are
clearly defined and consistent guidance is provided for everyone. Statements within a security
plan can help to ensure that each employee knows the boundaries and what the penalties of
overstepping those boundaries will be.

6.3.8 Configuration Management Plan:-

Software configuration management is an important element of software quality assurance. Its


primary responsibility is the control of change.

We are using Java in which modular mechanism can be implemented easily and modular
mechanism is very helpful for the future enhancements. So if any further enhancements being
happen than with the slightly change in the related module the new functions can be
implemented easily. Any changes occur in the system is acceptable, our system is not limited to
certain functionality only.

Each and every models (MODULE) contains the object which can be easily identify by there
name and the type of object. The whole description of the object is given in very clear and
precise way.
6.4 Design:-
6.4.1. Design Constraints:-

Software design is an iterative process through which requirements are translated into a
“blueprint” for constructing the software. Initially the blueprint depicts a holistic view.Here
design is at a high level of abstraction – a level that can be directly traced to specific system
objective and more detailed data, functional and behavioral requirements. As design iteration
occur, subsequent refinement leads to design representation at much lower levels of abstraction.

Design Concepts:-

Design concepts provide the software designer with a foundation from which more sophisticated
design methods can be applied.

The main design concepts are outlined below:

1.Abstraction: It permits one to concentrate on a problem at some level of generalization


without regard to irrelevant low level details; use of abstraction permits one to work with
concepts and terms that are familiar in the problem environment without having to transform
them to as unfamiliar structure.

2.Refinement: It is a top level design activity which involves developing program by


successively refining levels of procedural detail. In each step one or several instructions of given
program are decomposed into more detailed instruction until all of them are expressed in terms
of any underlying computer or programming language.

3.Modularity: It is a design concept in which software is divided into separately named and
addressable components, often called modules that are integrated to satisfy problem
requirements.

4.Software Architecture: It alludes to ‘the overall structure of the software and the ways in
which the structure provides conceptual integrity for a system ‘.It is the hierarchical structure of
modules, the manner in which those components interact and the structure of data that are used
by the components.

5.Control Hierarchy: Also known as the program structure, the control hierarchy represents the
organization of the program components and implies a hierarchy of control.

6.Structure Partitioning: It is the process of partitioning the program structure both


horizontally and vertically .Horizontally partitioning involves defining separate branches of the
modular hierarchy for each major program function .Vertical partitioning ,on the hand suggests
that control and work should be distributed top down in the program structure.
7.Data Structure: It is a representation of logical relationship among the individual elements if
data .It dictates the organization, methods of access, degree of associatively and processing
alternatives for information.

8.Software Procedures: It focuses on the processing details of each module individually


and must provide a precise specification of processing including sequence of events, exact
decision points repetitive points and even data organization and structure.

9. Information Hiding: The principle pf information hiding states that modules should be
specified and designed so that information contained within a module is inaccessible to other
modules that have no need for each information.

There are two major phases to any design process:

 Diversification
 Convergence

Diversification is acquisition of a repertoire of alternatives, the raw material of


design:components, component solution and knowledge all contained in catalogues, textbooks
and the mind. During convergence the designer chooses and combines appropriate elements from
this repertoire to meet design objectives as stated in the requirements documented as agreed to
by the customer .The second phase is gradual elimination of all but one particular configuration
of components, and thus creation of final product.

What is the design phase?

Design is a meaningful engineering representation of something that is to be built .It can be


traced to a customer’s requirements and at the same time assessed for quality against a set of pre
defined criteria for good design. In the software engineering context, design focuses in four
major areas of concern : data, architecture, interfaces and components.

6.4.2. Design Technique :-

In the use of pre written library modules, in particular reuse of modules in our project we have
used hybrid design approach, starting from an abstract design and identifying the major modules
of the online shopping system and decomposing them in to their lower level modules. At low
levels where there are more number of modules, the acceptance of reusability of modules and
common sub modules come in to picture.
6.4.3. Modeling :-
6.4.3.1 DETAILED CLASS DIAGRAM:-
6.4.3.2 INTERACTION DIAGRAM:-

6.4.3.2.1 SEQUENCE DIAGRAM:-

Use Case: Apply for new VID


Use Case: View statistics
Use Case: Register for online Voting
Use Case: Register for site
Use Case: Voter Log in
Use Case: Candidate Log in
Use case: Field Officer Log in
Use Case: Administrator Log in
Use Case: Cast Vote

Use Case: View Result


Use case: View verification List

Use Case: Add manual poling results


Use Case: Validate Candidate
Use Case: Generate Report
6.4.3.2.2 COLLABORATION DIAGRAM:-

1)ADMIN LOGIN:-
2)APPLY FOR VOTER ID:-
3) CANDIDATE LOGIN:-
1: grade faculty :Boundar
3: feedback form(complete) y

7: feedback complete msg


2: feedback form
: Student

6: updation msg
4: check and validate form

:Databas
5: update database
e

:Controll
er

4)CAST VOTE:-
5)FIELD OFFICER LOGIN:-
6) GENERATE REPORT:-
7) REGISTER FOR SITE:-
8)REGISTER FOR ONLINE VOTE:-
9)VALIDATE CANDIDATE:-
10)VIEW RESULT:-
11)VIEW STATISTICS:-
12)VIEW VERIFICATION LIST:-
13)VOTER LOGIN:-
6.4.3.3 STATE DIAGRAM:-
LOGIN UNSUCESSFULL

LOGIN LOGIN SUCESSFULL DISPLAY


OPTIONS

TASK UNSUCESSFULL OPTION SELECTED

RELEVAN TASK
T TASK PERFORMED
6.4.3.5 OBJECT DIAGRAM:-

Officers
RAJ
General User home
RAJAT Database
techno
12000
voters list
user list
officer list
ARVIND

Field Officer
YASH
Candidate Prithvi
22, Navi Mumbai
Kumund
9876543210 Administator
Kirorimal
456001
3, janvihar colony, Mumbai RAGAV
3
Voter 965487136 PREMDAS
Janmorcha 32, Swami Vivekanand
CHETAN
political background 9988776655
BRIJESH
jankshetra Senior Officer
3-A, Vasant Kunj
10
011-45698798
photo

Officer database
reports
schedule
candidate list
vote details
verification list
6.4.3.6DEPLOYMENTDIAGRAM:-

6.4.3.7 COMPONENT DIAGRAM:-


6.5 Implementation Phase:-
6.5.1. Language Used Characteristics:

We have used java language for our project. General facilities which encourage to use java are:

1. It supports to Object -Oriented Paradigm.

2. It is portable language so we can extend our software to some other operating

systems like Linux as well.

3. It support multithreading so it is increases efficient by parallel execution.

4. It provides sufficient components for making GUI.

5. It provides inbuilt class library for image processing and implementation of

affine transformation.

We have chosen JAVA as the language for implementing the project The primary motivation for
the use of java in our project is its platform independent features. JAVA with various extra
features clubbed with features of c++ makes it the more suitable language for networking which
is the basic requirement of our project. The various features of java are summarized below
Simple Security Portability Object-Oriented Robust Multithreaded.

6.6 Testing:-
Software testing is a critical element of software quality assurance and the ultimate review of
specification, design and code generation .Testing of the software leads to uncovering of errors
in the software and reveal that whether software functional and performance requirement are
met. Testing also provides a good indication of software reliability as software quality as a
whole. The result of different phases are evaluated and then compared with the expected results.
If the errors are uncovered they are debugged and corrected. A strategy approach to software
testing has the generic characteristics:

 Testing begins at the module level and works outwards towards the integration of the
entire computer based system
 Different testing technique are appropriate at different point of time.
 Testing and debugging are different activities, but debugging must be accommodating in
the testing strategy.
A strategy for the software testing must be accommodate low level tests that are necessary to
verify that a small source code segment is performing correctly according to the customers
requirement and that of developers expectations .

6.6.1. Testing Objectives :-

Software testing is a critical element of software quality assurance and represents the ultimate of
specification, design and code generation. Once source code has been generated, software must
be tested to uncover and correct as many errors as possible before delivery to the customer. Our
goal is to design a series of test cases that have a high likelihood of finding errors.

That’s where techniques come into the picture. These techniques provide systematic guidance for
designing tests that

1. Exercise the internal logic of software components.

2. Exercise the input and output domains of the program to uncover in program

function, behavior and performance.

Testing of software leads to the uncovering of errors in the software functional and performance
requirements are met. Testing also provides a good indication of software reliability as software
quality as a whole. The result of the different phases of testing are evaluated and then compared
with the expected results. If the errors are uncovered they are debugged and corrected.

A strategy approach to software testing has the generic characteristics:

1. Testing begins at the module level and works “outward” towards the integration of the entire
computer based system.

2. Different testing techniques are appropriate at different points of time.

3. Testing and Debugging are different activities, but debugging must be accommodated in
testing strategy.

A strategy for the software testing must accommodated low level tests that are necessary to
verify that a small source code segment is performing correctly according to customer’s
requirements and that of developer’s expectations.

Testing Principles:

 All tests should be traceable to user requirements.


 Tests should be planned long before testing begins.
 The Pareto principle applies to software testing.
 Testing should begin “in the small” and progress towards testing “in the large”.
 Exhaustive testing is not possible.
 To be most effective, testing should be conducted by an independent third party.

6.6.2. Testing Methods & Strategies used along with Test Analysis for Use Cases:-

In any engineered product can be tested in one of two ways:

White Box Testing

White box testing sometimes called as glass-box testing, is a test case design method that uses
the control structure of the procedural design to derive test cases. Using white box testing
methods, the software engineer can derive test cases that guarantee that

1. All independent paths within a single module have been exercised at least once.

2. Exercise all logical decisions on their true and false sides.

3. Execute all the loops at their boundaries and within their operational bounds

4 Exercise internal data structures to assure their validity

White box testing should not be dismissed as impractical. A limited number of important logical
paths can be selected and exercised. Important data structures can be probed for validity.

Flow Graph

1. View home page.


2. Enter user name and password
3. Register as new VOTER/ADMINISTRATOR/CANDIDATE/FIELD
OFFICER.
4. View VOTER’s home page.
5. View CANDIDATES’s home page.
6. View OFFICER’s home page.
7. View ADMINISTRATOR’s home page.
8. Cast vote.
9. Give Suggestion.
10. View candidate’s profile.
11.Update profile.
12. View Feedback.
13. View Suggestion.
14. Give modifications.
15. View modifications.
16. Manage Database
17. Logout

4 5 6 7

8,9,10 10,12,13,14,15 10,11,12,13 15,16

177
Determination of Cyclomatic complexity of the resultant flow graph:

a. Based on the no. of regions:


The number of regions found out to be 5
V(G)=5
b. In mathematical terms the Cyclomatic complexity V(G) for a flow
graph is defined as
V(G) =E-N+2
Where E = number of edges
N = number of nodes
The number of edges = 10
And the number of nodes = 7
So
V(G) = 10-7 +2 = 5
c. Cyclomatic complexity V(G) is also defined as
V(G)= Number of predicate nodes (P) + 1
The number of predicate nodes = 4
So
V(G) = 4 +1 = 5
The Cyclomatic complexity of the resultant flow graph is found out to
be 5 from all the three methods.
Determine the basis set of Linearly Independent Paths.
1. 1-2-4-7-8-9-10-14-15-20…1
2. 1-2-5-7-8-9-11-12-14-15-18-20…1
3. 1-2-6-7-8-9-13-16-17-19-20…1
4. 1-3-2-4-7-8-9-10-14-15-20…1
5. 1-7-20…1
6. 1-8-20…1
63
Prepare test cases that will force execution of each path in the basis set.

1. PATH 1 Test Case:


Input: Sign in with preexisting farmer account and see information’s,
asking queries etc. more than once and log out
Expected Output: Task accomplished successfully.
Actual Output: Same as expected.

2. PATH 2 Test Case:


Input: Sign in with preexisting employee account , add farmer, see
information’s, asking queries etc. more than once and log out
Expected Output: Task accomplished successfully.
Actual Output: Same as expected.

3. PATH 3 Test Case:


Input: Sign in with preexisting admin account, add employee, see
information’s, answer queries etc. more than once and log out
Expected Output: Task accomplished successfully.
Actual Output: Same as expected.

4. PATH 4 Test Case:


Input: Sign in with new farmer account and see information’s, asking
queries etc. more than once and log out
Expected Output: Task accomplished successfully.
Actual Output: Same as expected.
64

5. PATH 5 Test Case:


Input: Sign in as farmer see weather updates and log out
Expected Output: Task accomplished successfully.
Actual Output: Same as expected.

6. PATH 6 Test Case:


Input: Sign in as farmer see mandi updates and log out
Expected Output: Task accomplished successfully.
Actual Output: Same as expected.

Black Box Testing

It focuses on the functional requirements of the software. It helps to derive sets of

input conditions that will fully exercise all of the functional requirements for a

program. This testing helps in finding the errors for the following categories:

1. Incorrect or missing functions.

2. Interface errors.

3. Errors in the data structure or the external data access.

4. Performance errors.

5. Initialization errors.
Chapter 7
CONCLUSION AND
DISCUSSION

7.1 Limitation Of Project

7.2 Difficulties Encountered

7.3 Future Enhancement Suggestion


7. Conclusion & Discussion :-
7.1.1. Limitation of Project :-

1. Voter must at least some knowledge of using website.

2. The voter, if by some reason gets disconnected from the internet connection
then he will have to re-register so that he can continue with navigation in site.

3.The voter must remember all the information that he/she provide during
registration because during voting a bundle of question will be put in front of
him/her so that it will proof its identity.

7.1.2. Difficulties Encountered:-

During the development of the project there were certain obstacles which we faced.

Prominent ones being were;

 At first, the use-cases were somehow difficult to implement as we had to


deal with the RMI concept. On the other hand, lots of pieces of the
architecture were then reusable as business objects in the model, act the
same way in a major part.
 Finally, to implement reusable and efficient distributed application is a real
difficult task.
 The main problem that we countered during this project is how we will
minimize the fake voting percentage for that we read a research paper and
come to know about the idea of asking random 5 question during voting.

7.1.3. Future Enhancement Suggestions:-


 Few changes can be made to provide safety to the system and to make it
more efficient for voting .
 Interface can be improved to make it user friendly.
 Changes can be made to improve the server side security.
 Project can be scaled for large level like for country .

Chapter 8

BIBLIOGRAPHY AND
REFERENCE

8.1 Reference Books

8.2 Other Documentation & Resources


8. Bibliography & References
8.1.1. Reference Books:-

1. Roger.S.Pressman, software engineering – A Practitioners Approach.

2. UML Bible.

3. Core Servelets and JSP, Marty and Hall.

4. Herbert Schieldt, Java 2 complete reference.

8.1.2. Other Documentations & Resources:-

1. www.homepages.uel.ac.uk/D.Bowden/

2. www.agilemodelling.com

3. www.google.com

4. www.indian-elections.com

5. www.eci.nic.in

You might also like