Chapter 2: Requirements
Chapter 2: Requirements
The online voting system to be built will be used by three sides, the candidates who would be contesting in the elections, the voters who would be voting and the administrator who is in charge of approving the candidates and the voters as well as creating and maintaining information on the system. The system has to be very secure due to the fact that it is a voting system, the main objective of the voting system is to ensure that votes being cast by voter cannot be rigged or unduly compromised in any shape or form. A high level of user authentication has to be established to maintain security. The information and usability of the voting system has to be very constructive, efficient and easy to understand by the user. Good systems are easy to utilise, the user should be saved from any form of complexity.
2.1
Functional Requirements
Permit users to gain access and utilise information conveyed on the website to be implemented. Enable secure form of authenticating users who would like to gain access into the voting system. Enable a secure mode of communication between the client and server. Permit the system administrator to access and manipulate system users information. Permit system administrator to dynamically approve candidates and voters to be voted for in the system.
Permit voters to login to the system and vote for their chosen candidate. Restrict voters from voting more than once. Permit a limited number of graphical images on website
2.2
Non-Functional Requirements
The website to be created efficiently utilising the system resources such as bandwidth, memory etc. Implement a comprehensive, adjustable and maintainable voting system. Implement a well presented and structured website, which is clearing visible to users. Ensure system development and coding is well documented for future use
2.3
Software Requirements
Operating System: Windows 2000/XP/Vista/07/08 Language Used: HTML, JavaScript, Java Technology : Server Side : Java(JDK6.0), Servlet2.4, JSP2.0, EL, JSTL Client Side : HTML, JavaScript, CSS
Database Used: MySQL 5.0 Framework : Jakarta Struts Framework Development Environment: Dream Weaver Netbeans / Eclipse Mozilla Firefox / Google Chrome / Internet Explorer MySQL GUI Tool5.0
Form a project team and appoint a project leader. Prepare system flowcharts. Enumerate potential proposed system. Define and identify characteristics of proposed system. Determine and evaluate performance and cost effective of each proposed system.
Weight system performance and cost data. Select the best-proposed system. Prepare and report final project directive to management.
Can the work for the project be done with current equipment existing software technology & available personal?
Can the system be upgraded if developed? If new technology is needed then what can be developed? This is concerned with specifying equipment and software that will successfully satisfy the user requirement. The technical needs of the system may include:
Front-end and back-end selection An important issue for the development of a project is the selection of suitable front-end and back-end. When we decided to develop the project we went through an extensive study to determine the most suitable platform that suits the needs of the organization as well as helps in development of the project. The aspects of our study included the following factors.
Front-end selection: 1. It must have a GUI that assists employees that are not from IT background. 2. Scalability and extensibility. 3. Flexibility. 4. Robustness. 5. According to the organization requirement and the culture. 6. Must provide excellent reporting features with good printing support. 7. Platform independent. 8. Easy to debug and maintain. 9. Event driven programming facility. 10. Front end must support some popular back end like Ms Access. According to the above stated features we selected PHP as the front-end for developing our project. Back-end Selection: 1. Multiple user support. 2. Efficient data handling. 3. Provide inherent features for security. 4. Efficient data retrieval and maintenance.
5. Stored procedures. 6. Popularity. 7. Operating System compatible. 8. Easy to install. 9. Various drivers must be available. 10. Easy to implant with the Front-end. According to above stated features we selected MY SQL as the backend. The technical feasibility is frequently the most difficult area encountered at this stage. It is essential that the process of analysis and definition be conducted in parallel with an assessment to technical feasibility. It centers on the existing computer system and to what extent it can support the proposed system.
The cost to conduct a full system investigation. The cost of hardware and software for the class of application being considered.
The proposed system will give the minute information, as a result the performance is improved
This feasibility checks whether the system can be developed with the available funds. The Online voting system does not require enormous amount of money to be developed. This can be done economically if planned judicially, so it is economically feasible. The cost of project depends upon the number of man-hours required.
What changes will be brought with the system? What organization structures are disturbed? What new skills will be required? Do the existing staff members have these skills? If not, can they be trained in due course of time?
The system is operationally feasible as it very easy for the End users to operate it. It only needs basic information about Windows platform.