Professional Documents
Culture Documents
1. PROBLEM STATEMENT:
The online voting system is the system implemented to make the voting system easy for both polling and also for the administrator to view and check the result for each area individually. Here the voting is done anywhere with in spite of the area in which they reside. The voters or the administrator can login only if they already have a user id and password. New user can be only created by the administrator. The voter can login with his user id only if he has not casted the vote already. If he has already casted the vote the voter status is changed to voted and he cannot login with that user id unless the administrator refreshes the voting system. The administrator controls all parts of the online voting system except the vote casting part which is restricted to the voters only. The administrator is the only one who can create new voter. The administrator is the soul controller of the online voting system. He can create new nominees for the election and he can view the individual election status for each locality. The graphs are enabled to show the election status easily. The voter when logs in he can view his personal details which cannot be edited by him he can only report the changes to the administrator who can edit the details. The voter is granted permission only to view his personal details and vote. The voter while voting is provided with two options, one he can vote to any one of the nominees in the ballot page and another he can register his vote as not willing to vote to avoid the illegal voting. The flow of the administrator and the voter completely differs based on the authentication type which they choose.
administrator is the soul controller of the online voting system in all process including refreshing the votes, editing the voter details, creating new nominee and so on. Thus the online voting system can reduce the cost and effort of election process. In this voting system each voter will be provided with a specific voter-id and a password through which access for the voting can be granted. If once the access is granted for a voter-id then the access is denied for logging in till the voting system is refreshed for the next election. Similarly the administrator will be provided with a special id through which he can view the status of the election. Based on the id segregation between the voter and administrator is carried out initially. If the user id is invalid then an error message will be displayed. If the id entered is of type
administrator then an information i.e., the election status will be displayed which changes dynamically. Otherwise the voter information will be displayed which changes dynamically depending on the changes made which will proceed him to the next level in which he can cast his vote and it is updated automatically. The advantages of the online voting system is that the speed of information retrieval and updating is made easy and other advantage are High level security to avoid illegal polling. Online implementation makes it easy for voters to participate in election. As for considering election commission board it becomes easier to conduct election. Election expenses can be reduced. Non-Residential citizens can also participate in the election.
2.2.Rational Rose:
The Rational Environment was organized around a persistent intermediate representation (DIANA), providing users with syntactic and semantic completion, incremental compilation, and integrated configuration management and version control. To overcome a conflict between strong typing and iterative development that produced recompilation times proportional to system size rather than size-of-change, the Rational Environment supported the definition of subsystems with explicit architectural imports and exports; this mechanism later proved useful in protecting application architectures from inadvertent degradation. The Environment's Command Window mechanism made it easy to directly invoke Ada functions and procedures, which encouraged developer-driven unit testing. The Rational Environment ran on custom hardware, the Rational R1000, which implemented a high-level architecture optimized for execution of Ada programs in general and the Rational Environment in particular. The horizontally-microprogrammed R1000 provided two independent 64-bit data paths, permitting simultaneous computation and type checking. Memory was organized as a single-level store; a 64-bit virtual address presented to the memory system either immediately returned data, or triggered a page fault handled by the processor's microcode. Rational provided code generators and the cross-debuggers for then-popular instruction set architectures such as the VAX, Motorola 68000, and x86; much of this was accomplished through a partnership with Tartan Labs, founded by Bill Wulf to commercialize his work on optimizing code generators semi-automatically produced from architecture descriptions (PQCC).
2.3.VISUAL BASIC:
Visual Basic (VB) is the third-generation event-driven programming language and integrated development environment (IDE) from Microsoft for its COM programming model. VB is also considered a relatively easy to learn and use programming language, because of its graphical development features and BASIC heritage. Visual Basic was derived from BASIC and enables the rapid application development (RAD) of graphical user interface (GUI) applications, access to databases using Data Access Objects, Remote Data Objects, or ActiveX Data Objects, and creation of ActiveX controls and objects. Scripting languages such as VBA and VBScript are syntactically similar to Visual Basic, but perform differently. A programmer can put together an application using the components provided with Visual Basic itself. Programs written in Visual Basic can also use the Windows API, but doing so requires external function declarations. The final release was version 6 in 1998. Microsoft's extended support ended in March 2008 and the designated successor was Visual Basic .NET (now known simply as Visual Basic). Microsoft has developed derivatives of Visual Basic for use in scripting. Visual Basic itself is derived heavily from BASIC, and subsequently has been replaced with a .NET platform version. Some of the derived languages are:
Visual Basic for Applications (VBA) is included in many Microsoft applications (Microsoft Office), and also in many third-party products like SolidWorks, AutoCAD, WordPerfect Office 2002, ArcGIS, Sage Accpac ERP, and Business Objects Desktop Intelligence. There are small inconsistencies in the way VBA is implemented in different applications, but it is largely the same language as VB6 and uses the same runtime library.
and VBScript should not be confused with ASP.NET which uses the .NET Framework for compiled web pages.
Visual Basic .NET is Microsoft's designated successor to Visual Basic 6.0, and is part of Microsoft's .NET platform. Visual Basic.Net compiles and runs using the .NET Framework. It is not backwards compatible with VB6. An automated conversion tool exists, but fully automated conversion for most projects is impossible.[14]
StarOffice Basic is a Visual Basic compatible interpreter included in StarOffice suite, developed by Sun Microsystems.
Gambas is a Visual Basic inspired free software programming language. It is not a clone of Visual Basic, but it does have the ability to convert Visual Basic programs to Gambas.
VBScript is the default language for Active Server Pages. It can be used in Windows scripting and client-side web page scripting. Although it resembles VB in syntax, it is a separate language and it is executed by vbscript.dll as opposed to the VB runtime. ASP All versions of the Visual Basic development environment from 1.0 to 6.0 have been retired and are now unsupported by Microsoft. The associated runtime environments are unsupported too, with the exception of the Visual Basic 6 core runtime environment, which will be officially supported by Microsoft for the lifetime of Windows 7. Third party components that shipped with Visual Studio 6.0 are not included in this support statement. Some legacy Visual Basic components may still work on newer platforms, despite being unsupported by Microsoft and other vendors.Development and maintenance development for Visual Basic 6 is possible on legacy Windows XP, Windows Vista and Windows 2003 using Visual Studio 6.0 platforms, but is unsupported. Documentation for Visual Basic 6.0, its application programming interface and tools is best covered in the last MSDN release before Visual Studio.NET 2002. Later releases of MSDN focused on .NET development and had significant parts of the Visual Basic 6.0 programming documentation removed. The Visual Basic IDE can be installed and used on Windows Vista, where it exhibits some minor incompatibilities which do not hinder normal software development and maintenance. As of August 2008, both Visual Studio 6.0 and the MSDN documentation mentioned above are available for download by MSDN subscribers.
Plus, Project 2010 can be used with existing Project files and previous versions of Microsoft Office applications, so you can start enjoying the benefits right away.
Project Professional 2010 also provides collaborative enterprise project management capabilities when used with Microsoft Office Project Server 2010.
Create and Maintain Plans: Schedule projects to get productive quickly and ensure that projects are delivered on time and within a budget. Set up projects quickly to lower project cycle time and improve efficiency. The Project Guide, a step-by-step interactive guide, has been improved to quickly and easily enable users to set up projects, manage tasks, resources, and task status, and report project information. This feature helps start projects faster and manage project elements effectively. Save time with templates and promote consistency throughout the project to increase overall effectiveness.
A rich set of out-of-the-box templates in Project 2010 helps accelerate the project creation process. A Project template pre-populates task and resource information, and applies formatting, macros, and other project-specific settings. Forecast and Manage Costs: Monitor project financials to forecast and manage project costs and track variances against the budget. Assign costs to project tasks, providing a clearer picture of the projects total cost The new Cost Resources feature enables users to assign costs to tasks and provides new fields for cost information that enable better project accounting, resulting in precise project cost estimates. This feature also supports integration of Project 2010 with many popular accounting systems. Track and Analyze Progress: Track and analyze project progress effectively according to the project plan to get clear visibility into project risks and issues, and to gain better project insight.
GANTT CHART:
ATTRIBUTE MATRIX The Attribute Matrix view is a spreadsheet like display that lists the requirements of a specific requirements type and their attributes. Requirements are arranged in rows, listed by tag number and followed by requirement name. Attributes are arranged in columns.
TRACEABILITY MATRIX Traceability Matrix is a view that illustrated the relationships between requirements of the same or different types. We can use this matrix to create, modify and delete traceability relationships and view indirect relationships and view direct relationships and traceability relationships with a suspect state. We can also use the traceability matrix to filter and sort the requirements and columns requirements separately.
Figure 3.3.2 - The traceability matrix for the online voting system
TRACEABILITY TREE A view that displays all internal and external requirements traced to or from a requirement. The traceability tree only displays the first level project traceability.
Figure 3.3.3 - The traceability tree for the online voting system
The COCOMO II model makes its estimates of required effort (measured in PersonMonths PM) based primarily on your estimate of the software project's size (as measured in thousands of SLOC, KSLOC)): Effort = 2.94 * EAF * (KSLOC)E Where EAF Is the Effort Adjustment Factor derived from the Cost Drivers E Is an exponent derived from the five Scale Drivers
As an example, a project with all Nominal Cost Drivers and Scale Drivers would have an EAF of 1.00 and exponent, E, of 1.0997. Assuming that the project is projected to consist of 8,000 source lines of code, COCOMO II estimates that 28.9 Person-Months of effort is required to complete it: Effort = 2.94 * (1.0) * (8)1.0997 = 28.9 Person-Months
The COCOMO II schedule equation predicts the number of months required to complete your software project. The duration of a project is based on the effort predicted by the effort equation:
Where Effort Is the effort from the COCOMO II effort equation SE Is the schedule equation exponent derived from the five Scale Drivers
Continuing the example, and substituting the exponent of 0.3179 that is calculated from the scale drivers, yields an estimate of just over a year, and an average staffing of between 3 and 4 people: Duration = 3.67 * (42.3)0.3179 = 12.1 months Average staffing = (42.3 Person-Months) / (12.1 Months) = 3.5 people In our project we are going to estimate the cost for 12 module like login, view personal details, select the voting area, ballot sheet, administrator menu, view status, New nominee, change authentication, change voter details, new voter, select status area, voter authentication.
COCOMO II MODEL:
OVERALL PHASE:
Brief Description The use case describes how Voter and administrator logs into the online voting system.
Flow of Events
Basic Flow This use case starts when the Voter and administrator wishes to Login to the Online voting system. 1. The System requests that the Voter and administrator to enter his/her voter-id, user-id, authentication type and password. 2. The voter and administrators user-id, voter-id and password. 3. The System validates the entered user-id, voter-id, authentication type and password and logs the user into the System Alternative Flows Invalid Name/Password If, in the Basic flow, the user enters an invalid user-id, voter-id, atuthentication and/or password, the system displays an error message. The user chooses to either return to the beginning of the Basic flow or cancel the login, at which point the use case ends. Special Requirement None Pre-Conditions None Post-Conditions If the use case was successful, the user is now logged into the system based on the authentication type. If not, the System State is unchanged.
SELECT AREA
Brief Description The administrator and the voter have to select the area in which either the voting has to be done or the locality where the voting status has to be viewed.
Basic flow 1. The user must provide the system with the state, district and locality. 2. The user has to lock each and every selection so that the locality cannot be altered.
Alternate flow If the voter or the administrator doesnt select the locality completely then they will neither be allowed the cast the vote nor can view the election status in progress.
Pre-Conditions The user has to first login by giving the type of authentication which allows them to select area.
Post-Conditions If the use case was successful, the voter will reach the ballot sheet where he can cast the vote and the administrator will reach the election status page to view the election status of the particular locality.
BALLOT SHEET
Brief Description This use case is enables the voter to cast the vote and register him as valid voter and his status as voted.
Basic flow 1. The voter moves on to the ballot sheet by providing the following details a) State b) District c) Locality 2. If the voter does not select any nominee to cast his vote then his decision is first confirmed by the system and then his vote is registered as not willing to vote to anyone. Else the vote is registered to the selected nominee.
Alternative flow If the passenger gives an invalid credit card no or specified a bank where does have any account. Error message will be displayed.
Pre-Conditions The voter has to initially provide the online voting system with the state, district and locality.
Post-Conditions If the casting of vote is successful then the voter-id is registered to voted status such that he cannot login again.
ELECTION STATUS
Brief Description This use case helps the administrator to view the election status for each locality uniquely with graph to enable easy view of status
Basic flow This use case used by the administrator to view the election status of the election which is already in progress which is displayed based on the locality which the administrator selects.
Alternate flow If the election viewing area is not selected then the election status cannot be viewed by the administrator unless he provides the full details about the area.
Pre-Conditions The administrator can view the status only if the election viewing locality is already being given to the system as input.
Post-Conditions If the use case was successful, the passenger can cancel the ticket.
PERSONAL DETAILS:
CAST VOTE:
System displays the no. of vote of each nominee & also winner
CLASS DIAGRAM:
The class diagram is the main building block in object oriented modelling. They are being used both for general conceptual modelling of the systematics of the application, and for detailed modelling translating the models into programming code. The classes in a class diagram represent both the main objects and or interactions in the application and the objects to be programmed LOGIN:
REGISTERATION:
7. CODE IMPLEMENTATION:
Form 1 - LOGIN FORM
Dim db As Database Dim rs As Recordset Dim a As String Dim b As String Dim c As String Dim d As Integer
Private Sub Command1_Click() MsgBox ("Previous step not available") End Sub
Private Sub Command2_Click() Dim xs As String Dim n As Integer If (Text1.Text = "") Then xs = MsgBox("Enter the user id", , "user id missing") End If If (Text2.Text = "") Then xs = MsgBox("Enter the password", , "Password missing") End If If (Text3.Text = "") Then xs = MsgBox("Enter the voter id", , "voter id missing") End If rs.MoveFirst If (Option1.Value = True) Then For i = 1 To rs.RecordCount a = Trim(rs(0))
b = Trim(rs(1)) c = Trim(rs(2)) d = Trim(rs(3)) If (Text1.Text = a) And (Text2.Text = b) And (Option1.Caption = c) And (CInt(Text3.Text) = d) Then If (Trim(rs(4)) = 0) Then Form2.Show Form1.Visible = False Else n=1 End If Else rs.MoveNext End If Next i ElseIf (Option2.Value = True) Then For j = 1 To rs.RecordCount a = Trim(rs(0)) b = Trim(rs(1)) c = Trim(rs(2)) d = Trim(rs(3)) If (Text1.Text = a) And (Text2.Text = b) And (Option2.Caption = c) And (Text3.Text = d) Then Form5.Show Form1.Visible = False Else rs.MoveNext End If Next j Else xs = MsgBox("Select authentication type", , "Authentication error") End If If (n = 1) Then
xs = MsgBox("You have casted the vote already", , "illegal voting") End If End Sub
Private Sub Form_Load() Dim xs As String Set db = OpenDatabase("C:\Users\yogibear\Desktop\Venkatesh\Online.mdb") Set rs = db.OpenRecordset("Authentication") xs = MsgBox("Connected to the database", , "Connection") Command4.Enabled = False End Sub
Dim db As Database Dim rs As Recordset Dim rs1 As Recordset Dim xa As String Dim xb As String Dim xc As String
Private Sub Command2_Click() Dim xs As String Dim x As Integer Dim m As Integer x=0 m=0
If (Option1.Value = True) Then rs1.MoveFirst For i = 1 To rs1.RecordCount If (Trim(Text1.Text) = Trim(rs1(3))) Then rs1.Edit rs1(4) = CInt(rs1(4)) + 1 rs1.Update rs1.MoveNext m=1 Else rs1.MoveNext End If Next i ElseIf (Option2.Value = True) Then rs1.MoveFirst For i = 1 To rs1.RecordCount If (Trim(Text2.Text) = Trim(rs1(3))) Then rs1.Edit rs1(4) = CInt(rs1(4)) + 1 rs1.Update rs1.MoveNext m=1 Else rs1.MoveNext End If Next i ElseIf (Option3.Value = True) Then rs1.MoveFirst For i = 1 To rs1.RecordCount If (Trim(Text3.Text) = Trim(rs1(3))) Then rs1.Edit rs1(4) = CInt(rs1(4)) + 1
rs1.Update rs1.MoveNext m=1 Else rs1.MoveNext End If Next i Else xs = MsgBox("You are not willing to vote for any one", vbYesNo, "Not interested to vote") If (vbYes) Then x=0 End If If (vbNo) Then xs = MsgBox("Try voting by selecting respective radio buttons", , "Try to vote again") End If End If rs.MoveFirst For i = 1 To rs.RecordCount If (Form2.Label12.Caption = CInt(Trim(rs(3)))) Then rs.Edit rs(4) = 1 rs.Update x=1 Else rs.MoveNext End If Next i If (x = 1) Then xs = MsgBox("Your decision has been registered", , "No vote") End If Form1.Text1.Text = "" Form1.Text2.Text = ""
Form1.Text3.Text = "" Form1.Option1.Value = False Form1.Option2.Value = False Form1.Show Form1.Show Form4.Visible = False If (m = 1) Then xs = MsgBox("Vote casted", , "vote") End If End Sub
Private Sub Command4_Click() Form3.Show Option1.Value = False Option2.Value = False Option3.Value = False Form4.Visible = False End Sub
Private Sub Form_Load() Set db = OpenDatabase("C:\Users\yogibear\Desktop\Venkatesh\Online.mdb") Set rs = db.OpenRecordset("Authentication") Set rs1 = db.OpenRecordset("Voting") If (Form3.Combo1.ListIndex = 0) Then xa = Form3.Combo1.List(0) ElseIf (Form3.Combo1.ListIndex = 1) Then xa = Form3.Combo1.List(1) End If
If (Form3.Combo2.ListIndex = 0) Then xb = Form3.Combo2.List(0) ElseIf (Form3.Combo2.ListIndex = 1) Then xb = Form3.Combo2.List(1) End If If (Form3.Combo3.ListIndex = 0) Then xc = Form3.Combo3.List(0) ElseIf (Form3.Combo3.ListIndex = 1) Then xc = Form3.Combo3.List(1) End If rs1.MoveFirst For i = 1 To rs1.RecordCount If (Trim(rs1(0)) = xa And Trim(rs1(1)) = xb And Trim(rs1(2)) = xc) Then If (Text1.Text = "") Then MsgBox ("Entered 1") Text1.Text = rs1(3) rs1.MoveNext ElseIf (Text2.Text = "") Then Text2.Text = rs1(3) rs1.MoveNext Else Text3.Text = rs1(3) rs1.MoveNext End If Else rs1.MoveNext End If Next i Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False End Sub
Private Sub Form_Load() Set db = OpenDatabase("C:\Users\yogibear\Desktop\Venkatesh\Online.mdb") Set rs1 = db.OpenRecordset("Voting") If (Form11.Combo1.ListIndex = 0) Then xa = Form11.Combo1.List(0) ElseIf (Form11.Combo1.ListIndex = 1) Then xa = Form3.Combo1.List(1) End If If (Form11.Combo2.ListIndex = 0) Then xb = Form11.Combo2.List(0) ElseIf (Form11.Combo2.ListIndex = 1) Then xb = Form11.Combo2.List(1) End If If (Form11.Combo3.ListIndex = 0) Then xc = Form11.Combo3.List(0)
ElseIf (Form11.Combo3.ListIndex = 1) Then xc = Form11.Combo3.List(1) End If rs1.MoveFirst For i = 1 To rs1.RecordCount If (Trim(rs1(0)) = xa And Trim(rs1(1)) = xb And Trim(rs1(2)) = xc) Then If (Label11.Caption = "") Then Label11.Caption = rs1(3) Label12.Caption = rs1(4) rs1.MoveNext ElseIf (Label13.Caption = "") Then Label13.Caption = rs1(3) Label14.Caption = rs1(4) rs1.MoveNext Else Label15.Caption = rs1(3) Label16.Caption = rs1(4) rs1.MoveNext End If Else rs1.MoveNext End If Next i Label2.Caption = xa Label8.Caption = xb Label10.Caption = xc MSChart1.Row = 1 MSChart1.RowLabel = Label11.Caption MSChart1.Data = Label12.Caption MSChart1.Row = 2 MSChart1.RowLabel = Label13.Caption MSChart1.Data = Label14.Caption
8. SCREEN SHOTS
Figure 8.1 - The login page for moving to the next screen based on authentication type
Figure 8.2 - The personal details which is viewed by the voter after logging in
Figure 8.3 - The area selection menu for the voters to move to ballot sheet
Figure 8.4 - The ballot sheet screen for the voter to cast their vote
Figure 8.5 - The administrator menu appears if the authentication type is administrator
Figure 8.7 - The status viewing locality is first selected by the administrator to view status
Figure 8.8 - The administrator is viewing the election status with graph and no. of votes
Figure 8.9 - The new nominee details are entered to register him for the election
Figure 8.10 - The authentication user-id and password of the administrator is changed
Figure 8.11 - The voters personal details is edited and password is changed by the administrator
Figure 8.13 - The user name and password is created for the new voter created
9. CONCLUSION:
Thus the mini project on online voting system was done. The main aspects that are behind online voting system is that they enabled us to bring out the new ideas that sustained within us for many days. This project will be a successful one because this project offers the voters to cast their vote easily through internet and also counting votes are made easy.
10. BIBLIOGRAPHY
Software Engineering Theory and practices, M.Atlee, Third edition, Pearson Education,2006. Roger S. Pressman, Software Engineering- A Practitioners Approach, McGraw-Hill International Edition, Seventh Edition, 2009. Mastering UML with Rational Rose 2002, Wendy Boggs, Michael Boggs, Sybex International Edition 2005 http://sunset.usc.edu/COCOMOII/cocomo.html, information about COCOMO-II. http://stsc.hill.af.mil/stscs.html, project management and cost estimation details. http://en.wikipedia.org/wiki/Unified_Modeling_Language, information. Shari Lawrence pfleeger, Joanne
UML
modeling