0% found this document useful (2 votes)
1K views23 pages

29 - MiniProject - ONLINE VOTING SYSTEM

This document describes a mini project report for an online voting system. It includes an abstract, module description, various UML diagrams including use case, class, sequence, collaboration, state chart, activity, package, component and deployment diagrams. It also includes a problem description, conclusion, and references. The project aims to develop a web-based voting system to help manage elections easily and securely, allowing voters to cast their votes online without going to polling booths.

Uploaded by

Rupesh Roshan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (2 votes)
1K views23 pages

29 - MiniProject - ONLINE VOTING SYSTEM

This document describes a mini project report for an online voting system. It includes an abstract, module description, various UML diagrams including use case, class, sequence, collaboration, state chart, activity, package, component and deployment diagrams. It also includes a problem description, conclusion, and references. The project aims to develop a web-based voting system to help manage elections easily and securely, allowing voters to cast their votes online without going to polling booths.

Uploaded by

Rupesh Roshan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

ONLINE VOTING SYSTEM

MINI PROJECT REPORT

18CSC202J- OBJECT ORIENTED DESIGN AND PROGRAMMING


LABORATORY
(2018 Regulation)
II Year/ III Semester
Academic Year: 2022 -2023

By

RUPESH ROSHAN SAHOO (RA2111028010194)


AADIT MAAN SINGH(RA2111028010195)
AAFHAN ROSHAN(RA2111028010196)

Under the guidance of


Dr. Angayarkanni S A
Assistant Professor, NWC

DEPARTMENT OF NETWORKING AND COMMUNICATIONS


COLLEGE OF ENGINEERING AND TECHNOLOGY
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY
KATTANKULATHUR- 603 203

NOVEMBER 2022
BONAFIDE

This is to certify that 18CSC202J - OBJECT ORIENTED DESIGN


AND PROGRAMMING LABORATORY Mini Project report titled
“Project Title” is the bonafide work of Student Name 1 (Reg no 1), Student
Name 2 (Reg no 2) who undertook the task of completing the project within the
allotted time.

SIGNATURE SIGNATURE

Dr. Angayarkanni S A Dr. Annapurani Panaiyappan K

Assistant Professor Professor and Head


Department of Networking Department of Networking
and Communication and Communication
SRM Institute of Science SRM Institute of Science
and Technology and Technology
About the course:-
18CSC202J/ 8AIC203J - Object Oriented Design and Programming are 4 credit courses with LT
P C as 3-0-2-4 (Tutorial modified as Practical from 2018 Curriculum onwards)

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:

1. Utilize class and build domain model for real-time programs


2. Utilize method overloading and operator overloading for real-time application development
programs
3. Utilize inline, friend and virtual functions and create application development programs
4. Utilize exceptional handling and collections for real-time object-oriented programming
applications
5. Construct UML component diagram and deployment diagram for design of applications
6. Create programs using object-oriented approach and design methodologies for real-time
application development

Course Learning Outcomes (CLO): At the end of this course, learners will be able to:

1. Identify the class and build domain model


2. Construct programs using method overloading and operator overloading
3. Create programs using inline, friend and virtual functions, construct programs using standard
templates
4. Construct programs using exceptional handling and collections
5. Create UML component diagram and deployment diagram
6. Create programs using object oriented approach and design methodologies

Table 1: Rubrics for Laboratory Exercises

(Internal Mark Splitup:- As per Curriculum)


CLAP- 5=(2(E-lab Completion) + 2(Simple Elab test
1 Exercises)( from CodeZinger, and any other coding
platform) + 1(HackerRank/Code chef/LeetCode
Weekend Challenge)
CLAP- 7.5=(2.0(E-lab Completion)+ Elab test
2 2.0 (Simple Exercises)( from CodeZinger, and any
other coding platform) + 3.5 (HackerRank/Code
chef/LeetCode Weekend Challenge)
CLAP- 7.5=(2.0(E-lab Completion(80 Pgms)+ 2 Mark - E-lab Completion 80
3 2.0 (Simple Exercises)( from CodeZinger, and any Program Completion from 10
other coding platform) + 3.5 (HackerRank/Code Session (Each session min 8
chef/LeetCode Weekend Challenge) program)
2 Mark - Code to UML
conversion GCR Exercises
3.5 Mark - Hacker Rank Coding
challenge completion

CLAP- 5= 3 (Model Practical) + 2 (Oral Viva) 3 Mark – Model Test


4 2 Mark – Oral Viva

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:

To develop a mini-project by following the exercises listed below.


1. To develop a problem statement.
2. Identify Use Cases and develop the Use Case model.
3. Identify the conceptual classes and develop a domain model with UML Class diagram.
4. Using the identified scenarios, find the interaction between objects and represent them
using UML Sequence diagrams.
5. Draw relevant state charts and activity diagrams.
6. Identify the User Interface, Domain objects, and Technical services. Draw the partial
layered, logical architecture diagram with UML package diagram notation.

Suggested Software Tools for UML:


StarUML, Rational Suite, Argo UML (or) equivalent, Eclipse IDE and Junit
TABLE OF CONTENTS

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

2) Software Requirements Specifications


1.1 OVERVIEW
Online voting tools and online election voting systems help you make important decisions by
gathering the input of your group in a way that’s systematic and verifiable.

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.

 Gather anonymous feedback from your employees. Managers (and managers of


managers) want to know how their employees truly feel about their jobs and work life.
Using an online voting system with a capacity for secret balloting helps employees
express their true feelings, by understanding and trusting that their feedback will be heard,
but not tied directly to them.

 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

VOTER ACCOUNT DATABASE


After the vote weather the vote that is casted is registered in the database or not it checked and
verified here.

USE CASE DIAGRAM


Use case diagrams identify the functionality provided by the system,the users who interact with
the system(actors),and the association between the users and the functionality. Use cases are
used in the analysis phase of the software development to articulate the high level requirements
of the system.
Basic Elements:
Actor
Actor is something with behaviour,and is depicted using a stick figure. Actors are not limited to
humans. If a system communicates with another application, the that application can also be
considered an actor.
Use case
A Use case describes a sequence of actions that provide something of measurable value to
an actor. A use case is the functionality provided by the system.
Association
Associations are used to link Actors with Use cases ,and indicate that an actor participate
in the use case in some form. Associations are depicted by a line connecting the actor and the use
case.

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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy