29 - MiniProject - ONLINE VOTING SYSTEM
29 - MiniProject - ONLINE VOTING SYSTEM
By
NOVEMBER 2022
BONAFIDE
SIGNATURE SIGNATURE
Objectives:
The student should be made to:
Learn the basics of OOP concepts in C++
Learn the basics of OOP analysis and design skills.
Be exposed to the UML design diagrams.
Be familiar with the various testing techniques
Course Learning Rationale (CLR): The purpose of learning this course is to:
Course Learning Outcomes (CLO): At the end of this course, learners will be able to:
Total 25
COURSE ASSESSMENT PLAN FOR OODP LAB
S.No List of Experiments Course Blooms PI No of
Learning Level Programs
Outcomes in each
(CLO) session
1. Implementation of I/O Operations in CLO-1 Understand 2.8.1 10
C++
2. Implementation of Classes and Objects CLO-1 Apply 2.6.1 10
in C++
3, To develop a problem statement. CLO-1 Analysis 4.6.1 Mini Project
1. From the problem statement, Identify Given
Use Cases and develop the Use Case
model.
2. From the problem statement, Identify
the conceptual classes and develop a
domain model with a UML Class
diagram.
4. Implementation of Constructor CLO-2 Apply 2.6.1 10
Overloading and Method Overloading in
C++
5. Implementation of Operator Overloading CLO-2 Apply 2.6.1 10
in C++
6. Using the identified scenarios, find the CLO-2 Analysis 4.6.1 Mini Project
interaction between objects and represent Given
them using UML Sequence diagrams and
Collaboration diagrams
7. Implementation of Inheritance concepts CLO-3 Apply 2.6.1 10
in C++
8. Implementation of Virtual function & CLO-3 Apply 2.6.1 10
interface concepts in C++
9. Using the identified scenarios in your CLO-3 Analysis 4.6.1 Mini Project
project, draw relevant state charts and Given
activity diagrams.
10. Implementation of Templates in C++ CLO-3 Apply 2.6.1 10
11. Implementation of Exception of CLO-4 Apply 2.6.1 10
Handling in C++
12. Identify the User Interface, Domain CLO-5 Analysis 4.6.1 Mini Project
objects, and Technical Services. Draw Given
the partial layered, logical architecture
diagram with UML package diagram
notation such as Component
Diagram, Deployment Diagram.
13. Implementation of STL Containers in CLO-6 Apply 2.6.1 10
C++
14. Implementation of STL associate CLO-6 Apply 2.6.1 10
containers and algorithms in C++
15. Implementation of Streams and File CLO-6 Apply 2.6.1 10
Handling in C++
LIST OF EXPERIMNENTS FOR UML DESIGN AND MODELLING:
BONAFIDE I
About the course:- II
Table 1: Rubrics for Laboratory Exercises III
COURSE ASSESSMENT PLAN FOR OODP LAB IV
LIST OF EXPERIMENTS: V
TABLE OF CONTENTS VI
ABSTRACT 1
MODULE DESCRIPTION 2
Use Case Diagram 3
Class Diagram 4
Sequence Diagram 5
Collaboration Diagram 6
State Chart Diagram 7
Activity Diagram 8
Package Diagram 9
Component Diagram 10
Deployment Diagram 11
Conclusion 12
References 13
1) Problem Description:
Online Voting is a web-based voting system that will help you manage your elections easily and
securely. This voting system can be used for casting votes during the elections held in colleges, etc.
In this system the voter do not have to go to the polling booth to cast their vote. They can use their
personal computer to cast their votes. There is a database which is maintained in which all the name
of the voters with their complete information is stored. The System Administrator registers the
voters by simply filling a registration form to register the voters. After registration, the voter is
assigned a secret voter ID with which he/she can use to login to the system and cast his/her vote. If
invalid/wrong details are submitted, then the person is not registered to vote. After the user
successfully registers themselves, a link is sent on their respective E-mail IDs. The link is a key for
the activation of the account of the user. The account is activated only after the user clicks on that
link.The site will be activated only on the day of voting. Once the user logs in, they will be provided
with a One Time Password (OTP) which has to be entered by the user before casting his/her vote.
The password will be destroyed after casting of their respective vote. A receipt of the vote will be
sent to the user on their respective E-mail IDs. The advantage of online voting is that the voters have
the choice of voting at their own free time and there is reduced congestion. It also minimizes on
errors of vote counting. The individual votes are submitted in a database which can be queried to
find out who of the aspirants for a given post has the highest number of votes
Oftentimes, these decisions are made on a yearly basis - during an event (e.g. your organization’s
AGM) or at a particular time of the year. Or you might run ongoing polls amongst your group (e.g.
anonymous employee feedback surveys).
SCOPE OF PROJECT
It’s a good idea to use an online voting system to:
Elect your leadership: A board of directors election is a good example, where there are
multiple positions (e.g. chair, vice president, secretary, treasurer). All of which may
include supporting documentation (e.g. biographies, resumés, headshots).
Admit new members to your group. This helps you stick to a regular, fair process of
evaluation and lets candidates know what to expect.
Vote on yearly budgets. And since adjustments to your budget are often needed, an
online voting system will keep voting secure and accessible - no matter where the
members of your group may happen to be.
Alter your operational procedures and bylaws. Just like leadership elections, expect
group members to react strongly toward changes - no matter how minor - to
organizational processes. You’ll want to collect individual responses to these changes in a
systematic manner.
In all of these cases, an online voting system will enable better decisions, justify those decisions, and
let you share proof that these decisions were carried out in line with the standards of your group.
SYSTEM FUNCTIONS
LOGIN
The Login module contains the form which contain membership name and Member password. It
includes Username and Password.
LOGIN SUCCESS
This form contains the information about account holder,uptdating status.
After the user logged in they can see the profile status.
CITIZENSHIP VERIFICATION
After the user logged in the user can verify the current status of citizenship
VOTER ID DETAIL
After the VERIFICATION user can now see the his/her voter id detail.
VOTE CASSTING
Now the user can caste the vote .
USER CHARESTERISTICS
VOTER
Here the the citizen act as
voter to caste the vote
CLASS DIAGRAM
A Class diagram in the UML gives an overview of the system by showing its classes and
the relationships among them. Class diagrams are static-they display what interacts but not what
happens when they do interact.
Basic Elements
1) Class
A class is a set of objects that share a common structure and common behavior. Its represented
by a rectangle divided into three parts: class name, attributes and operations.
2) Relationships
Relationships between classes are the connecting links. Relationships between classes are
generally represented in class diagrams by a line or an arrow joining the two classes.
a) Dependency
If A depends on B then this is shown by a dashed arrow between A and B.
3) Association
There is an association between two classes if an instance of one class must know about
the other in order to perform its work. An association between A and B shown by a line joining
two classes.
4)Aggregation
Aggregation is the association in which one class belongs to the collection.if B aggregates
A,then A is the part of B.
5)Generalization
Generalization is an inheritance link indicating one class is a superclass of the other.A
genalization has a triangle pointing to the superclass.An inheritance relationship is indicated in
the UML by an arrow with a triangular arrow head pointing towards to the general.
ACTIVITY DIAGRAM
Activity diagrams are used to document workflows in a system, from the business level down to
the operational level. The activity diagram is a variation of the state diagram where the “states”
represent operations, and the transition represent the activities that happen when the operation is
compleate. The general purpose of Activity diagrams is to focus on flows driven by internal
processing vs. external events.
Basic Elements
1) Activity states
Activity states mark an action by an object. The notations for these states are rounded
rectangles, the same notation as found in state chart diagrams.
2)Transition
When an activity state is completed, processing move to the other activity state.Transitions are
used to mark this movement and modeled using arrows.
3) Initial state
The initial state marks the entry point and the initial activity state. The notation for the initial
state is the same as in state chart diagrams, a solid circle. There can only be one initial state
diagram.
4) Final state
Final states mark the end of the modeled work flow. There can be multiple final states on a
diagram and these states are modeled using a solid circle surrounded by another circle.
5) Synchronization bar
Activities often can be done in parallel. To split processing, or to resume processing when
multiple activities have been completed, synchronization bars are used. These are modeled as
solid rectangles, with multiple transactions going in and/or out.
Interaction Diagram
Interaction diagram describes how group of objects are collaborated with each other.
Two types of Interaction diagrams
1) SEQUENCE DIAGRAM
2) COLLABORATION DIAGRAM
SEQUENCE DIAGRAM
COLLABORATION DIAGRAM
STATE CHART DIAGRAM
A UML statement diagram illustrate the intresting events and states of an object and the behavior
of an object in reaction to the event transition are shown as arrows , labeled with their events
state are shown as rounded rectangles .
BASIC ELEMENTS
1)Events
An event is a siginificant or noteworthy occurrence
For examples : A telephone reciver is taken off the hook
2)States
A state is a condition of an object at a movement in a time , the time between events
For example
A telephone is in the state of being “idle” after the reciver is placed on the hook and until it is
taken off the hook.
3)Transitions
Transition is a relation between states that indicates that when an event occurs,the object
moves from the prior state to the subsequent state.
For example
When the event “off hook”occurs,transition the telephone from “idle to “active”state.
4)Transition action
A trancition can cause a action to fire . in a software implementation , this may represent
the invocation of a method of the class of the state chart diagram
PACKAGE DIAGRAM
Component and Deployment Diagram
Implementation shows the implementation phase of system development. Two types of
implementation diagrams:
i. Component diagram
ii. Deployment diagram
A component diagram depicts how the components are wired together to form larger
components and or software systems. Components are wired together by using an assembly
connector to connect the required interface of one component with the provided interface of
another component.
The components are slightly fuzzy thing.
It describes the module part of the system which encapsulates its components.
It describes the behaviour in terms of interface.
It is a design level perspective.
The main component in the component diagram is foreign trading system. The trader who come
to do the trading process and administrator who manages all the other processes is the sub
components.