Web Based Voting System in PHP Research Methodology
Project success within systems development is difficult to measure as it consist of multiple factors such as: technical, economic, behavioral, psychological and political dimensions. The researchers will utilize several analytical tools to help and justify the conduct of the study and also guide the researchers to resolve the problems encountered by the school in the election period. The analytical tools include interview, observation and brainstorming which will be employed by the researchers in analyzing the problems of the existing system.
To determine the requirements definition process, a part of a questionnaire was used covering how the requirements were setup and which software development methods were used during the process. Survey questionnaires are given to the student and faculty to obtain information. The researchers prepare questionnaire guide composed of list of questions to help researchers to validate the system proposed.
By observing users, an analyst can identify a process flow, awkward steps, pain points and opportunities for improvement. Brainstorming is used in requirements elicitation to get as many ideas as possible from a group of people and individual. Generally used to identify possible solutions to problems, and clarify details of opportunities. Brainstorming casts a wide net, identifying many different possibilities. Prioritization of those possibilities is important to finding the solutions to the problem of the existing system.
On system development, the researchers will utilize the Systems Development Life Cycle (SDLC) method in the development of the system. The SDLC method is the process employed in the analysis and design of the Web Based Voting System in PHP as shown in Figure 1.
Figure 1 illustrates the Modified Waterfall Model that will be used by the researchers in developing the Web Based Voting System in PHP for Supreme Student Government. The model develops systematically from one phase to other, like a waterfall. It is made up of several phases and the details of these phases are:
Requirement Analysis. In this phase, the researchers will study how the system works, determine the user’s wants, needs and requirements, and recommend a solution. It also involves developing estimates for the work to be performed, establishing the necessary commitments, and defining the plan to perform the work.
System and Software Design.
On this phase, the system will be designed based on the requirements needed in the system. Process and data model will be done to present the system’s data and the relationship between different data elements. Data Flow Diagram (DFD) will be used to represent the flow of data in the system. Entity Relationship Diagram (ERD) shall be employed as data model for the system. After finalizing the ERD, the system database will be created to fulfill the system’s information and processing needs. The programmer will create the source codes necessary for the system to be constructed.
Testing. This phase aimed to find out whether the software functions and features work according to the specification, ensure that the produced system is complete and performs efficiently, evaluate whether the software perform all activities after integration with the existing operating environment, and measure up the reliability and overall quality of the software.
Implementation. In this phase, the researchers will conduct the system dry-run and conduct training of the target users of the system. The users of the system will check if the recommended functions and suggestions of the users are met.
Operation and Maintenance. This Phase is to ensure the information system is fully functional and performs optimally until the system reaches its end of life. The Operations and Maintenance Phase comprises the following: management of changes to the system to support end users, monitoring of system performance, performance of required security activities such as backups, and continuation of end user support through training and documentation
Requirements Analysis and Documentation
The proposed system is “Web Based Voting System in PHP for SSG, an application that enables users to vote using a computer. The application will enable users to interactively choose their candidate and cast their vote using a mouse-based GUI.
The completion of the software depends upon meeting the following goals and objectives:
- Provide voting software that is fully accessible through Local Area Network (LAN) of the school.
- Provide a direct recording voting system where voters view ballots on a computer monitor and makes choices using an input device.
- Provide results of the election that is fast, reliable and accurate.
- Provide help guide feature to guide voters on how to use the system.
System Administrator – One of the features of the system is the log-in and log-out services which require users to enter user id and password. It has a database that can be updated and maintained by the admin. The administrator is the only authorized user of the system who can generate results and tally of votes from the system.
Voter – The student voters are prompt by the system to enter their user id and password. Voters can choose their candidate and cast their votes automatically by a click of a button.
Before the software project is implemented, the researchers will prepare a project schedule that identifies the anticipated activities involved, management of resources and project plans showing the cost needed in the development of the voting system.
Design of Software and Process
Based on the result of the observation and interview as well as users suggestions the researchers created a design for the system to be developed. All the requirements of the first phase are being used to contribute in the successful preparation of creating the Web Based Voting System in PHP for Supreme Student Government. It also includes the Data Flow Diagram, DFD Explosion for teachers and students.
Decomposition Chart (Figure2)
Development and Testing
The researchers will use the Modified Waterfall Model in developing the System. The software evolved as a result of shared information between the respondents and the researchers.
Testing will exercise the system in all possible ways. It includes initial testing and final testing of the new software. The electronic voting systems, including equipment and software, should be tested prior to the deployment of to help ensure that the system works as expected.
Requirements Definition Phase
During the Requirements Definition Phase, the researchers together with the beneficiary of the proposed system will work together to establish the architectural boundaries for the project, to establish criteria for measuring the technical performance of the system, and to baseline the requirements. Activities in this phase are the following: define system requirements, develop system process model, and develop application logical data model, estimate system workload, and Identify strategies for training end users.
Software Requirements. The software development tools for this study are presented in Table 1.0.
- Intel Pentium Processor or Higher
- 1-2 GB Memory (Recommended)
- 80 GB, Hard Disk
- Standard Keyboard
- Standard Mouse
People ware Recommendation. Table 3.0 includes the recommendation of appropriate users for the new system with specific task given.
The system is intended for beginners and professional users. Its design and uses suit the needs of the student voters as well as to the administrator to provide an accurate and effective voting and tabulating machine in the election process and that provides the user accurate results.
Table 3.0 People ware Recommendation
Project Manager – Supervises and monitors the entire project activities and its development
System Analyst – Responsible for researching, planning and recommending software and system choices to meet an organization’s business requirements.
Programmer – Creates the source codes for the development of proposed system. Must be expert with the programming language to be used in the development of the system.
Researchers – Further researchers on the content and other studies related to current system being developed.
System Administrator – In charge of maintaining and managing the table entries of files; keeps the server up, running, and secure; keeps track of the log; updates the database, provides access to authorized users of the system.
Students/Voters – One who have access to the computer-based voting system.
System Process Model
Context diagram and the decomposition diagram of the proposed voting system which show the procedures of each function, the users and the expected output.
The context diagram Web Based Voting System in PHP for Supreme Student Government in Figure 2.0 illustrates the users input to the system and the output information to the users. System Administrator and the student voters are the users of the system. The system can provide the following to the users: user’s log report, log changes report, candidates’ party list, election final results, and list of candidates chosen by the voter.
Implementation and Unit Testing Phase
This section will discuss the implementation plan and unit testing of the proposed system. This phase will also discuss if the recommended functions and suggestions of the respondents and users are met.
The construction of the project is divided in modules/units and is first developed in small programs called units, which are integrated in the next phase. Testing is one of the important phases of the Web Based Voting System in PHP development. Testing will exercise the system in all possible ways to test it for potential errors and bugs. It includes initial testing and final testing of the proposed electronic voting system. Each unit is developed and tested for its functionality; this is referred to as Unit Testing. Unit testing mainly verifies if the modules/units meet their specifications.
Integration and System Testing Phase
Integration and system testing is a type of software testing, this makes sure that tests such as the new system and integration are done before releasing the software. Software testing has very strict set of rules and guidelines that it follows to make sure each individual part of the software is thoroughly checked before it is given the OK, this makes sure that there are no errors and that the software runs how it’s supposed to. Integration and system testing will be done by the researchers and will focus on the software testing phase in the system development life cycle.
Integration testing in the software testing model comes before system testing and after the unit testing has been done.
System testing is simply testing the new software as a whole; it gets all the integrated modules of the various components from the integration testing phase and combines all the different parts into a system which is then tested. Testing is then done on the system as all the parts are now integrated into one system the testing phase will now have to be done on the system to check and remove any errors or bugs.
Operation and Maintenance Phase
The maintenance-phase consists of maintenance-tasks to keep the product up and running. The researchers will continuously monitor the performance of the system in regard to hardware and the network. Daily operations of the system require identifying and implementing minor modifications for it to function optimally and correctly. The researchers will document these modifications. This phase includes any general enhancements, changes and additions, which might be required by the end-users. The defects and deficiencies are usually documented by the developing organization to enable future solutions and known issues addressing in any future maintenance releases. Maintenance is always necessary to keep system usable and useful.
Initial Testing Result
The developers have conducted a thorough unit testing or initial testing to gather insights, comments and suggestions from the intended users. The average weighted mean of 4.0 which is interpreted as good means that the proposed features of the developed system is adaptable by the users.
Expert Testing Result
The developers have utilized panel of IT Experts to evaluate the developed system. Ratings were given and some suggestions were drawn in order to come up with a functional and reliable system. The weighted mean of 4.16 shows that the developed system is good and adaptable by the users.
User Acceptance Testing Result
The developers have finalized the system and come up with the user acceptance testing in order to assess the functionalities and features of the developed system. The weighted mean of 4.39 shows that the system is good for the intended users and has met the end-user expectations and suggested functions and features.
Credits to the authors of the project.
You may visit our facebook page for more information, inquiries and comments.
Hire our team to do the project.