Online Voting

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 26

online voting

Batch No:6 and Project No: 6


1. PROBLEM STATEMENT
The basic methodology as applied to online voting system wouldinvolve giving voter realistic voting
tasks to accomplish using a variety of ballotdesigns. A rigorous methodology is used to sample
variable aspects of thesystem, such as voters and ballots. The sample is constructed so as to
provide astatistical basis for generalization from the sample to the populations
theyrepresent. Voting task performance is measured using variables such as accuracy,time, and
workload.In online voting mechanism each voter receives a unique ballot code.The ballot code has an
arbitrary length and is generated randomly to help preventmanipulation. Online voting system mails
virtual ballot papers, including theballot code, to the voters before the election. The voters can then
use their emailclients to return their votes to the voting server.The voting server collects the votes and
filters out duplicate andinvalid votes. Each voter can then check her/his vote online to ensure that
her vote has been counted correctly.

Pa g e 3 9

Analysis
Use case view
2. IDENTIFICATION OF ACTORS
Actors represent system users. They help delimit the system and givea clear picture of what the system
should do. It is important to note that an actor interacts with, but has no control over the use cases.An
actor is someone or something that:1. interacts with or uses the system2. Provides input to & receive
information from the system3. is external to the system and has no control over the use casesAn actor can
be represented as shown below:1. Administrator

Administrator
(from Actors)
2. Candidate
Candidate
(from Actors)
3. E-mail client

Pa g e 3 9

email client
(from Actors)
4. Server
server
(from Actors)
5. Voter
voter
(from Actors)
The following question should be answered to identify actors:
1.Who is interested in a certain requirement?
2.Where in the organization the system is used?
3.Who will benefit from the use of the system?
4.Who will supply the system with the information, use this information andremove this information?
5.Who will support and maintain the system?
6.Does the system use the external resource?
7.Does one person play several different roles?
8.Do several people play same role?
9.Does the system interact with the legacy system?

Pa g e 3 9
Actors identified are:1.
Administrator
: The person who takes care of conducting the elections bydeclaring the election details and declaring the
results. 2
.Voter
:
A member of the organisation who participates in the election bycasting his/her vote. 3.
Candidate
:
A member of the organisation who participates in election bycontesting in it.4.
E-mail client
:
It is used to sent the ballot paper to the voter and voter can replyby sending an e-mail. It is also used to
send acknowledgement to the voter after vote is polled.5.
Server
:
It maintains the database.

Pa g e 3 9
3. IDENTIFICATION OF USECASES AND SUB USE CASES
In its simplest form a use case can be described as a specific way of using the system from a user’s
perspective.A more detailed description might characterize a use case as:

A pattern of behavior the system exhibits

A sequence of related transactions performed by an actor and the system

Delivering something of value to the actor.Use case provides a mean to:1.capture system
requirements2.communicate with the end users and domain experts3.test the systemUse cases are the best
discovered by examining the actors anddefining what the actor will be able to do with the system. Since
all needs of asystem typically cannot be covered in one use case, it is usual to have a collectionof use
cases. Together this use case collection specifies all ways of using thesystem.UML notation for the use
case:1.An ellipse containing the name of the use case inside it.Error: Reference source not found2.An
ellipse containing the name of the use case below it

Voting

Pa g e 3 9
voting
(from voting)
The following questions are to be answered to identify the use cases:1.What are the tasks of each actor?
2.Will any actor create, store, change, remove, or read information in the system?3.What use cases will
store, change, remove or read this information?4.Will any actor need to inform the system about sudden
external changes.5.Does any actor needs to be perform about certain occurrences in the system?6.What
use cases will support and maintain the system?7.Can all functional requirements be performed by the use
cases?Use cases identified are:1.
Call an election
:
The announcement for the election date, candidate list and theeligible voter’s qualifications is done.2.
Create profiles
:
Voters can enroll themselves by sending a request to theserver.3.
Send Acknowledgement
:
The server sends the reply after the voter has enrolledin which it includes the ballot number of voter
which can be used as passwordwhile authentication process.4.
Authentication Process
:

Any member of the organisation can log on to theonline voting system by entering their e-mail ID and
Ballot number and thisprevents multiple votes by deactivating the account after casting the vote5.
Update profiles
:
The candidates can update their profiles after passing throughan authentication process.6.
View profiles
:
This use case allows the voters to view the profiles of differentcandidates contesting in the election and
their personal profile.7.
Voting
:
Each voter is allowed to cast his/her vote for the candidate of his/her choice with the online voting system
and after casting the vote the ballot number of that voter is made invalid which avoids multiple votes.
Pa g e 3 9
8.
Number of votes
:
Administrator can know the number of votes polled till date.9.
Results
:
Final results of the election are declared and voters can verify whether their vote is considered or not.

Pa g e 3 9
4. FLOW OF EVENTS
A flow of events is a sequence of transactions (or events) performedby the system. They atypically
contain very detailed information, written in termsof what the system should do, not how the system
accomplishes the task. Flow of events are created as separate files or documents in your favorite text
editor andthen attached or linked to a use case using the files tab of a model element.Flow of events
should include:

When and how the use case starts and ends

Use case / actor interactions

Data needed by the use case

Normal sequence of events for the use case

Alternate or exceptional flowsFlow of events in our system is:
Brief Description
This use case allows the voter to cast his vote during the time of election and thenthe server deactivates
the account inorder to avoid the duplicate votes.
Flow of EventsBasic Flow
This use case begins when the voter chooses to cast his vote using ballot paper.
1. The system prompts the voter to cast the vote by providing the ballot paper.
2. The voter chooses the candidate in the ballot paper and castes his vote
3. The system sends a message to voter indicating that the vote is polled.
4. The server automatically deactivates the ballot number.
Alternative Flow

Pa g e 3 9
Invalid voteIf, in the Basic Flow, the voter fails to select a candidate, then the system willprompt with
message “invalid vote” and makes that vote as invalid whilecounting the votes.
Special Requirements

: None.
Pre-Conditions
:
Profile must exist.
Post-Conditions
: Numbers

of votes are counted for results.


Extension Points
: None.

5. CONSTRUCTION OF USE CASE DIAGRAMS


Use case diagrams depict system behavior (use cases).Thesediagrams present a high level view of how
the system is used as viewed from anoutsider’s (actor’s)perspective. A use case diagram may depict all
or some of the use cases of a system.A use-case diagram can contain:

actors (“things” outside the system)

use case(system boundaries identifying what the system should do)

interactions or relationships between actors and use case in the systemincluding the associations,
dependencies, and generalizations.
Uses associations
The
uses
association occurs when we are describing our use casesand notice that some of them have sub flows in
common to avoid describing asub flow more than once in several use cases, you can extract the common
subflow and make it a use case of its own. This new use case then can be used byother use cases. The
relationships among the other use cases and this newextracted use case are called uses association.
Extends association
An
extends
association is a stereo typed association that specifieshow the functionality of one use case can be inserted
in to the functionality of another use case. Extend relationships between use cases are modeled
asdependency by using the extend stereotype.
Includes association
An
include
association is a stereo typed association that connects abase use case to an inclusion use case.
The main use case diagram:
6. BUILD A BUSINESS PROCESS MODEL USING ACTIVITY DIAGRAM

Pa g e 3 9
Activity diagrams provide a way to model the workflow of a businessprocess. An activity diagram is
typically used for modeling the sequence of Activities in a process. Activity diagrams can model many
different types of work flows. A software company could use activity diagrams to model a
softwaredevelopment process. The following tools are used on the activity diagramtoolbox to model
activity diagrams.

Decisions: A decision represents a specific location on activity diagramwhen the workflow may branch
based upon guard conditions.

Synchronization: Synchronization visually defines forks and joinsrepresenting parallel workflow.

Forks and Joins: A fork construct is used to model a single flows. A joinconsists of two or more flows of
control that unite into a single flow of control.

States: “A state represents a condition or situation during the life of anobject during which it satisfies
some condition or waits for some event.

Transitions: A state transition indicates that an object in the source statewill perform certain specified
actions and enter the destination state whena specified event occurs or when certain conditions are
satisfied.

Start States: A start state (also called an “initial state”) explicitly showsthe beginning of a workflow.

End States: An end state represents a final or terminal state.

SwimLane: A unique diagram feature that defines who or what isresponsible for carrying out activity or
state.

Work Flow: Each activity represents the performance of a group of actions in a workflow.

Pa g e 3 9
The activity diagram for our system is as follows:
Logical View

7. IDENTIFICATION OF ANALYSIS CLASSES


Identification of classes can be done by the noun phrase approach, thecommon class patterns approach,
the use-case driven sequence/collaborationmodeling approach and the classes’ responsibilities
and collaborators (CRC)approach.
NOUN PHRASE APPROACH

This approach was proposed by Rebecca Wirfs-Brock, Brain Wilker-son, and Luaren Wiener. In this
method, we read through the requirements or use-cases looking for noun phrases. Nouns in the
textual description areconsidered to be classes and verbs to be methods of the classes then, the
nounsare listed, and divided in to three categories: relevant classes, fuzzy classes andthe
irrelevant classes.
COMMON CLASS PATTERN APPROACH
It is based on the knowledge base of common existing classes. Thecandidate classes can be formulated
using the following:
Concept Class:
Concept is an understanding of our world.
Event Class:
These are points in time that must be recorded.
OranisationClass:
It is a collection of people, resources, facilities or groups towhich the users belong.
People class
:
The people class represents the different roles users play ininteracting with the application.
Places Class
:
These are the physical locations.
Tangible things and Devices Class
: It includes physical objects or groups of objects that are tangible
.

USE-CASE DRIVEN APPROACH


:
Here the scenarios are described in text or through a sequence of steps. It is a problem driven
approach to object oriented analysis in which thedesigner first considers the problem at hand and
not the relationship betweenobjects.
CLASSES RESPONSIBILITIES AND COLLABORATORS
This technique is used to identify the classes, responsibilities andtherefore their attributes and
methods. It is based on the idea that an object caneither accomplish a certain responsibility by itself
or it may require the assistanceof other objects in which case it collaborates.Out of these, the noun
phrase is used to identify the classes to increase our understanding of the subject.1.The initial
list of noun phrases:Administrator AcknowledgementBallotBallot codeBallot number Ballot
paper CandidateElectionElection dateE-mail addressE-mail clientE-mail messageInformationLogin
idMember MessageNameNatural hazards

Pa g e 3 9
Online voting systemPasswordProfileRation card number Results dateSecurity
questionSystemVoter Voting server Website2.Reviewing the irrelevant classesIt is safe to eliminate the
irrelevant classes. The candidate classes must beselected from relevant classes and fuzzy classes. The
following irrelevant classescan be eliminated:Administrator AcknowledgementBallotBallot codeBallot
number Ballot paper CandidateElectionElection dateE-mail addressE-mail clientE-mail
messageInformationLogin idMember MessageNameNatural hazardsOnline voting system

Pa g e 3 9
PasswordProfileRation card number Results dateSecurity questionSystemVoter Voting
server Website3.Reviewing the redundant classes and building a common vocabularyH e r e t h e s e v e r a l
c l a s s e s a p p e a r m or e t h a n o nc e . H e n c e w e e l i m i n a t e t h e redundant classesBallot, Ballot
paper = Ballot paper Online voting system, System, Election = Online voting systemBallot code, Ballot
number, Password = Ballot number E-mail address, Login id = login idE-mail message, Message,
Acknowledgement = AcknowledgementMember, Voter =
Voter Administrator AcknowledgementBallotBallot codeBallot number Ballot
paper CandidateElectionElection dateE-mail addressE-mail clientE-mail messageInformationLogin
idMember

Pa g e 3 9
MessageNameOnline voting systemPasswordProfileRation card number Results dateSecurity
questionSystemVoter Voting server 4. Reviewing the classes containing adjectives:In this system we have
no classes containing adjectives that we ca eliminate.5.Reviewing the possible attributesThe noun phrases
used only as values should be restated as attribute classes.The following are attribute
classes:Acknowledgement, Ballot number, Ballot paper, Election date, Information,Login id, Name,
Ration card number, Results date, Security question.Administrator AcknowledgementBallot
number Ballot paper CandidateElection dateE-mail clientInformationLogin idNameOnline voting
systemProfileRation card number Results date
Pa g e 3 9
8. IDENTIFY THE RESPOSIBILITIES OF CLASSES
CRC developed by Cunningham, Wilkerson, and Beck. ClassesResponsibilities and Collaborators is a
technique used for identifying classes’responsibilities and their attributes and methods. They also help
in identifying theclasses. Classes Responsibilities and Collaborators is based on the idea that
anobject either can accomplish a certain responsibility itself or it may require theassistance of
other objects .If it requires the assistance of other objects, it mustcollaborate with those
objects to fulfill its responsibility. By identifying anobject’s responsibilities and collaborators
attributes and methods can beidentified.The Classes, Responsibilities, and Collaborators process
consists of three steps:1. Identify classes’ responsibilities(and identify classes)2. Assign
responsibilities3. Identify collaborators
Class name
Administrator CandidateE-mail client
Online voting System
ProfileVoter Voting server
Responsibilities
This class gives the information aboutelection and status of election.It provides candidate profile.This is
used to send ballot paper andacknowledgement to the voters.It controls the whole system.This class
provides the access to profilesof their own.It provides to cast the vote anddeactivates the account.It
maintains profiles and update thestatus of election.
Pa g e 3 9
9. CONSTRUCTION OF USE CASE REALIZATIONS
A use case realization is a graphic sequence of events, also referred to as ascenario or an instance of a use
case. These realizations or scenarios are depictedin either a sequence or collaboration diagrams.The use
case realizations for our system are:

Authentication processAuthentication process


(from Authentication process)
Call an electioncall an election
(from Call an election)
create profilecreate profile
(from create profile)
polled votespolled votes
(from polled votes)
ResultsResults
(from Results)
send acksend ack
(from send ack)
update profileupdate profile
(from update profile)

view profileview profile


(from view profile)
v o t i n g v o t i n g
(from voting)

Pa g e 3 9
10. CONSTRUCTION OF SEQUENCE DIAGRAM
A sequence diagram is a graphical view of a scenario that showsobject interaction in a time-
based sequence-what happens first, what happensnext. Sequence diagrams establish the roles of
objects and help provide essentialinformation to determine class responsibilities and interfaces. A
sequencediagram has two dimensions: the vertical dimension represents time; thehorizontal
dimension represents different objects. The vertical line is called theobject’s lifeline. The
lifeline

represents the object’s existence during theinteraction. This form was first popularized by Jacobson.
An object is shown as abox at the top of a dashed vertical line. A role is a slot for an object
within acollaboration that describes the type of object that may play the role and
itsrelationships to other roles. However, a sequence diagram does not show therelationships
among the roles ort eh association among the objects. An object roleis shown as a vertical dashed line, the
lifeline.Each message is represented by an Arrow between the lifelines of twoobjects. The order in
which these messages occur is shown top to bottom on thepage. Each message is labeled with the
message name. The label also can includethe argument and some control information and show self-
delegation, a messagethe argument and some control information and show self-delegation, a
messagethat an object sends to itself, by sending the message arrow back to the samelifeline.The
horizontal ordering of the life lines is arbitrary. Often, call arrows arearranged to proceed in one
direction across the page, but this is not alwayspossible and the order conveys no
information.The sequence diagram is very simple and has immediate visual appeal---this is its great
strength. A sequence diagram is an alternative way to understandthe overall flow of the control of a
program. Instead of looking at the code andtrying to find out the overall sequence of behavior.The
following tools located on the sequence diagram toolbox which enable tomodel sequence diagrams:

Object:
An object has state, behavior, and identity. The structure andbehavior of similar objects are defined
in their common class. Each object

Pa g e 3 9
in a diagram indicates some instance of a class. An object that is notnamed is referred to as a
class instance.

Message Icons
: A message icon represents the communication betweenobjects indicating that an action will
follow. The message icon is ahorizontal, solid arrow connecting two lifelines together.

Focus of Control
: Focus of Control (FOC) is an advanced notationaltechnique that enhances sequence
diagrams. It shows the period of timeduring which an object is performing an action, either directly or
throughan underlying procedure.

Message to Self
: A Message to Self is a tool that sends a message fromone object back to the same object. It
does not involve other objectsbecause the message returns to the same object. The sender of a
messageis the same as the receiver.

Note
: A note captures the assumptions and decisions applied duringanalysis and design. Notes may
contain any information, including plaintext, fragments of code, or references to other documents.

Note Anchor
: A note anchor connects a note to the element that it affects.

Pa g e 3 9
Sequence diagram for our system is as follows

: voter : s e r v e r : A u t h e n t i c a t i o n p r o c e s s : e m a i l c l i e n t 1 : e n t e r l o g i n i d a n d b a l l o t
number 2 : v e r i f i c a t i o n 3 : V a l i d 4 : b a l l o t p a p e r 5 : c a s t v o t e 7 : s e n d a c k n o w l e d g

e m e nt 6: send email id and status


Pa g e 3 9
11. CONSTRUCTION OF COLLABORATION DIAGRAM
Collaboration diagram is an interaction diagram that shows the order of messages that implement an
operation or a transaction. Another type of interaction diagram is the collaboration diagram.
A
collaboration diagram
is aset of objects related in a particular context, and interaction, which is a set of messages
exchanged among the objects within the collaboration to achieve adesired outcome. In a
collaboration diagram, objects are shown in figures. As in asequence diagram, arrows indicate the
message sent within the given use case. Ina collaboration diagram, the sequence is indicated by
numbering the messages.Some people argue that numbering the messages makes it more difficult
to seethe sequence than drawing the lines on the page. However, since thecollaboration
diagram is more compressed, other things can be shown moreeasily. A collaboration diagram
provides several numbering schemes.Two types of Numbering Sequences are:
1
.
Flat Sequence.2. Decimal Sequence
The disadvantage of interaction diagrams is that they are great only for representing a single sequential
process; they begin to break down when you wantto represent conditional looping behavior.
However, conditional behavior can berepresented in sequence or collaboration diagrams for each
scenario.
Differences between sequence and collaboration diagrams:

Sequence diagrams show time-based object interaction whileCollaboration diagrams show how
objects associate with each other.

The Create Collaboration Diagram Command creates a collaborationdiagram from
information contained in the sequence diagram. The CreateSequence Diagram Command creates a
sequence diagram frominformation contained in the interaction's collaboration diagram.

Sequence diagrams are closely related to collaboration diagrams and bothare alternate representations of
an interaction. Sequence diagram is easier to read where as collaboration diagram shows how objects
are statically connected.

Pa g e 3 9
Collaboration diagram for our system is as follows

: v o t e r : s e r v e r :
Authenticationprocess: email client1: enter login id and ballot number 5: cast vote4: ballot paper 2:
verification3: Valid6: send email id and status7: send acknowledgement
12. IDENTIFICATION OF ATTRIBUTESAND METHODS OF CLASSES
Guidelines for identifying attributes of classes are as follows:

Attributes usually correspond to nouns followed by prepositional phrases.Attributes also may correspond
to adjectives or adverbs.

Keep the class simple; State only enough attributes to define the objectstate.

Attributes are less likely to be fully described in the problem statement.

Omit derived attributes.

Do not carry discovery attributes to excess.The following questions help in identifying the
responsibilities of classes anddeciding what data elements to keep track

What information about an object should we keep track of?

What services must a class provide?A n s w e r i n g t h e f i r s t q u e s t i o n h e l p w e t o i d e n t i f y t h e
a t t r i b ut e s o f a c l a s s .Answering the second question help us to identify class methods.
The attributes identified in our system are
:
Attributes for Administrator class
:
Election date, Results date.Attributes for Candidate class: Party symbol, ConstituencyAttributes for E-
mail client class
:
NoneAttributes for Online voting system class
:
None.Attributes for Profile class
:
Name, Ration card number, Address, Age.Attributes for Voter class
:
E-mail address, Login id, Ballot number.Attributes for Voting server class: Votes polled, Ballot paper,
Status of vote.
The responsibilities identified in our system are:
Methods for Administrator class: Declare results, Polled votesMethods for Candidate class: Submit
nominationMethods for E-mail client class: Send acknowledgement, Send ballot number Methods for
Online Voting System class: None.Methods for Profile class: Create profile, Update profile, View profile,
Viewcandidate profile.Methods for Voter class: Casting vote, View results

Pa g e 3 9
Methods for Voting server class: Authentication, Ask security question,Deactivate ballot number,
Count votes, Send ballot paper.

13. IDENTIFICATION OF RELATIONSHIPSAMONG CLASSES

There are three types of relationships between classes. They are:



Association
: This relationship represents a physical or conceptualconnection between two or more objects.

Super-sub structure
(Generalization hierarchy): These allow objects tobe build from other objects. The super-sub class
hierarchy is arelationship between classes , where one class is the parent class of another class

A-part-of relationship
(Aggregation): This represents the situationwhere a class consists of several component classes
14. CONSTRUCTION OF UML STATE CHART DIAGRAM

State chart diagrams model the dynamic behavior of individualclasses or any other kind of object. They
show the sequences of
states
that anobject goes through, the events that cause
a transition
from one state to another and the actions that result from a state change.State chart diagrams are closely
related to
activity diagrams
. Themain difference between the two diagrams is state chart diagrams are statecentric, while activity
diagrams are activity centric. A state chart diagram istypically used to model the discrete stages of an
object’s lifetime, whereas anactivity diagram is better suited to model the sequence of activities in a
process.Each state represents a named condition during the life of an object during whichit satisfies some
condition or waits for some event. A state chart diagramtypically contains one
start state
and multiple
end states
. Transitions connectthe various states on the diagram.The following tools are used on the state chart
diagram toolbox to modelstate chart diagrams:

Decisions:
A decision represents a specific location on state chart diagramwhere the workflow may branch
based upon guard conditions.

Synchronizations
: Synchronizations visually define forks and joinsrepresenting parallel workflow.
Forks and Joins
: A fork construct is used to model a single flow of control that divides into two or more
separate, but simultaneous flows. A joinconsists of two of more flows of control that unite into
a single flow of control.

States
:
A state represents a condition or situation during the life of an objectduring which it satisfies some
condition or waits for some event.

Transitions
:
A state transition indicates that an object in the source state willperform certain specified actions
and enter the destination state when aspecified event occurs or when certain conditions are
satisfied.

Start states
:
A start state (also called an "initial state") explicitly shows thebeginning of a workflow

End States:
An end state represents a final or terminal state

Pa g e 3 9
The state chart diagrams for our system is as follows

LoginRegistrationViewprofileCast voteViewresultsAcknowledgementDeclareresults
Pa g e 3 9
15. CONSTRUCTION OF UML STATIC CLASS DIAGRAM

A class diagram is a picture for describing generic descriptions of possible systems. Class diagrams and
collaboration diagrams are alternaterepresentations of object models. Class diagrams contain classes and
objectdiagrams contain objects, but it is possible to mix classes and objects whendealing with various
kinds of metadata, so the separation is not rigid.Class diagrams are more prevalent than object diagrams.
Normallyyou will build class diagrams plus occasional object diagrams illustratingcomplicated data
structures or message-passing structures.Class diagrams contain icons representing classes, interfaces,
andtheir relationships. We can create one or more class diagrams to depict theclasses at the top level of
the current model; such class diagrams are themselvescontained by the top level of the current model. We
can also create one or moreclass diagrams to depict classes contained by each package in your model;
suchclass diagrams are themselves contained by the package enclosing the classesthey depict; the icons
representing logical packages and classes in class diagrams.We can change properties or relationships by
editing the specificationor modifying the icon on the diagram. The associated diagrams or
specificationsare automatically updated.Classes may be of 3 types. They are:1. Entity class2. Boundary
class3. Control class

Entity class
: An entity class models information and associated behavior that is generally long live.

Boundary Class
: They handle the communication between the systems.They can provide the interface to the user or
another system. Ex:Registration form.

Control Class
: Control class model sequencing behavior specific to oneor more use-cases. You can think of control
class as running or executingthe use-case i.e., they represent the dynamics of the use-case.
Ex:Registration Manager.
Pa g e 3 9

16. REFINE ATTRIBUTES, METHODS & RELATIONSHIPS

The following is the attribute presentation suggested by UML:


visibility name:type-expression=initial-value
where
visibility
is one of the following:+ public visibility (accessibility to all classes)# protected visibility (accessibility to
sub classes and operations of the class).
-
private visibility (accessibility only to operations of the class).
Type-expression
is a language
-
dependent specification of the implementationtype of an attribute.
Initial-value
is a language-dependent expression for the initial value of a newlycreated object. The initial value is
optimal.The UML style guidelines recommend beginning attribute names with a lower-case letter. In the
absence of a multiplicity indicator (array), an attribute holdsexactly one value. Multiplicity may be
indicated by placing a multiplicityindicator in brackets after attribute name.At this stage, we need to add
more information to these attributes, such asvisibility and implementation type.
Refining attributes for the Administrator class:
Here is the refined list of attributes for the Administrator class:+ election date: Date+ results date: Date
Refining attributes for the Candidate class:
Here is the refined list of attributes for the Candidate class:+ party symbol: Symbol+ constituency: String
Refining attributes for the Profile class:
Here is the refined list of attributes for the Profile class:# name: String# ration card number: Number #
Address: String# Age: Number
Refining attributes for the Voter class:
Here is the refined list of attributes for the Voter class:

Pa g e 3 9
-
e-mail address: String
-
login id: String
-
ballot number: Number
Refining attributes for the Voting server class:
Here is the refined list of attributes for the Voting server class:- votes polled: Number + ballot paper:
Paper - status of vote: StringA class can provide several types of methods:

Constructor: Method that creates instances (objects) of the class

Destructor: The method that destroys instances.

Conversion method: The method that converts a value from one unit of measure to another.

Copy method: The method that copies the contents of one instance to another instance.

Attribute set: The method that sets the values of one or more attributes.

Attribute get: The method that returns the values of one or more attributes.

I/O methods: The methods that provide or receive data to or from a device.

Domain specific: The method specific to the application.The following operation presentation has been
suggested by the UML. Theoperation syntax is this:
visibility name: (parameter-list) : return-type-expression
where visibility is one of:+ public visibility(visibility to all classes)# protected visibility(accessibility to
sub classes and operations of the class).- private visibility (accessibility only to operations of the
class).Here,
name
is the name of the operation.
Parameter-list
: is a list of parameters, seperated by commas, each specified by
name: type-expression = default value.Return-type-expression
: is a language-dependent specification of theimplementation of the value returned by the method. If
return-type is omitted, theoperation does not return a value.

Pa g e 3 9
Refinement of relationships:
A package groups and manages the modeling elements , such as classes, their associations and
their structures. Packages may be within other packages. Apackage may contain both
packages and ordinary model elements .The entiresystem description can be thought of as a
single high level sub-system packagewith every thing else in it .All kinds of UML model
elements and diagrams canbe organized into packages .Some packages may contain groups of
classes andtheir relationships ,subsystems ,or models .A package provides a hierarchy of different
system components and can reference other packages .Relationships may be drawn between package
symbols to showrelationships between atleast some of the elements in the packages.
Inparticular ,dependency between packages implies one or more dependenciesamong the
elements.Our system does not contain any packages every class is independentclass ,so our entire
system is considered as a single high level system packagewith every thing in it.Since there are no
packages there are no specific refinementin relationships.

Pa g e 3 9
17. OVERALL REFINED CLASS DIAGRAM
Refining of class diagram involves the following steps:Apply design axioms to design classes, their
attributes, methods, associations,structures, and protocols.1.Refine and complete the static UML class
diagram by adding details to thatdiagram.

Refine attributes.

Design methods and the protocols by utilizing a UML activity diagram torepresent the method’s
algorithm.

Refine the associations between classes (if required).

Refine the class hierarchy and design with inheritance (if required).2.Iterate and refine.

The refined class diagram of our system is as follows:

You might also like