Evelyn Hone College DESIGN AND IMPLEMENTATION OF AN ONLINE DRIVING SCHOOL REGISTRATION, DRIVERS LICENSE APPLICATION AND ROAD ACCIDENTS REPORTING SYSTEM FOR THE DRIVING SCHOOL ASSOCIATION OF ZAMBIA Name: Titus Phiri Student Number: August 2016 A formal proposal for a dissertation that will be submitted in partial fulfillment of the TEVETA Diploma in Computer Studies ABSTRACT The Driving school association of Zambia is the governing body for all driving schools in Zambia. They have their offices along the Great East Road of Zambia at Cherise Kids Park just before the Mandahill Shopping Mall Bridge. A number of driving schools are affiliated to the association. It is working on affiliating all the driving schools in Zambia. As it stands, most of the driving schools in Zambia operate independently and some illegally. This has made it even difficult to reduce the illegal obtaining of licenses. It has also made it very difficult for the public to know exactly which driving schools in the country are fully registered as a result many of the drivers that we have on the roads are not fully trained. This has led to the continue increase of road accidents. The driving schools also have no online system to that could help them to get recognized and do their bookings for students at the Road Transport Service Agency (RTSA). This has brought about disorganization in how test are done at the testing grounds. This Project looks to address this problem by putting in place an online management system which will provide an integrated view of the driving schools, RTSA, the driving school association and the public. It will allow. This will enable organization and easy communication among all the involved parties. To help ensure this system run as efficiently as possible, Application Frameworks will be incorporated in its design. These Frameworks provides a comprehensive configuration and programming model for building modern high quality applications. 2|Page ACKNOWLEDGEMENT 3|Page Contents 1. INTRODUCTION .................................................................................................................................. 10 1.1 Overview ........................................................................................................................................... 10 1.2 Background ....................................................................................................................................... 10 1.3 Scope Statement ............................................................................................................................... 11 1.4 Problem Statement and Solution...................................................................................................... 11 1.4.1 Getting Information and applying to a driving school ............................................................... 11 1.4.2 RTSA bookings ............................................................................................................................ 12 1.4.3 Getting road traffic information ................................................................................................ 12 1.5 Aim and Objectives ............................................................................................................................... 12 1.5.1 Aims............................................................................................................................................ 12 1.5.2 Objectives................................................................................................................................... 13 1.6 Report Road Map .............................................................................................................................. 13 1.7 Summary ........................................................................................................................................... 14 2. LITERATURE REVIEW ............................................................................................................................... 14 2.1. Introduction ..................................................................................................................................... 14 2.2 To investigate what the Online Driving school Management system .......................................... 15 2.3. Methodology.................................................................................................................................... 15 2.3.1. Extreme Programming .............................................................................................................. 15 2.3.2. Dynamic System Development method ................................................................................... 15 2.4 Application Development Technologies ........................................................................................... 15 2.4.1Cascading Style Sheets (CSS):...................................................................................................... 16 2.4.2. JavaScript .................................................................................................................................. 16 2.4.3. HTML ................................................................................................................................... 16 2.4.4. PHP ...................................................................................................................................... 17 2.4.5. MySql .................................................................................................................................. 17 2.4. Summary .......................................................................................................................................... 18 Reference ................................................................................................................................................ 19 3. OBJECTIVES, ACTIVITIES AND METHODS ................................................................................................ 20 3.1. Introduction ..................................................................................................................................... 20 3.2. Objective One .................................................................................................................................. 20 Activities .............................................................................................................................................. 20 4|Page Deliverables: Requirements Specifications............................................................................................. 20 Findings ............................................................................................................................................... 21 3.3. Objective Two .................................................................................................................................. 21 Activities .............................................................................................................................................. 21 3.4. Objective Three. ............................................................................................................................... 22 Activities .............................................................................................................................................. 22 3.4.2. Prototyping ............................................................................................................................... 22 3.5. Objective Four .................................................................................................................................. 26 3.6. Objective Five................................................................................................................................... 27 3.6.1. To Evaluate the new system ..................................................................................................... 27 3.7. Summary .......................................................................................................................................... 27 4. REVIEW OF OTHER SYSTEMS................................................................................................................... 27 4.1. Introduction ..................................................................................................................................... 27 4.2. SOAR Student Online Registration System ...................................................................................... 28 4.2.1. Overview ................................................................................................................................... 28 4.2.2. Appearance ............................................................................................................................... 28 4.2.3. Functionality ............................................................................................................................. 30 4.2.4. Navigation ................................................................................................................................. 30 4.2.5. Usability ........................................................................................................................................ 30 4.2.6. Features Adopted...................................................................................................................... 30 4.3. Motor Driving School system ........................................................................................................... 31 4.3.1. Overview ................................................................................................................................... 31 4.3.2. Appearance ............................................................................................................................... 31 4.3.4. Navigation ................................................................................................................................. 33 4.3.5. Usability .................................................................................................................................... 33 4.3.6. Features Adopted...................................................................................................................... 34 4.4. The Driving school Association of Louisiana website ...................................................................... 34 4.4.1. Overview ................................................................................................................................... 34 4.4.2. Appearance ............................................................................................................................... 34 4.4.3. Functionality ............................................................................................................................. 35 4.4.4. Navigation ................................................................................................................................. 36 4.4.5. Usability .................................................................................................................................... 36 5|Page 4.4.6. Features Adopted...................................................................................................................... 37 4.5 Summary ........................................................................................................................................... 37 5. SYSTEMS ANALYSIS ................................................................................................................................. 37 5.1. Introduction ..................................................................................................................................... 37 5.2. Fact finding techniques .................................................................................................................... 37 5.2.1. Interviews.................................................................................................................................. 37 5.2.2. Review of documents........................................................Ошибка! Закладка не определена. 5.3. Requirement Specification ............................................................................................................... 38 5.3.1. Functional Requirements .......................................................................................................... 38 5.3.2. Non-functional requirements ................................................................................................... 41 5.4. Analysis ............................................................................................................................................ 42 5.5. Summary .......................................................................................................................................... 54 6. DESIGN .................................................................................................................................................... 55 6.1. Introduction ..................................................................................................................................... 55 6.2. Database design ............................................................................................................................... 55 6.2.1. Entity Relationship Modelling ................................................................................................... 55 6.4. Interface Design: .............................................................................................................................. 60 6.4.1. Home page: ............................................................................................................................... 60 6.4.2. Main Menu ................................................................................................................................ 61 6.4.3. Site Map .................................................................................................................................... 62 6.5. System Requirements: ..................................................................................................................... 63 6.6. Summary .......................................................................................................................................... 63 7. SYSTEM DEVELOPMENT AND IMPLEMENTATION .................................................................... 63 7.1. Introduction ..................................................................................................................................... 63 7.2. Front end and Back end technologies.............................................................................................. 64 7.3. Code Samples ................................................................................................................................... 64 7.3.1. Database Connection ................................................................................................................ 64 7.3.2 Login Source Code ...................................................................................................................... 65 7.4. System Architecture ......................................................................................................................... 67 7.5. Summary .......................................................................................................................................... 68 8. TESTING ................................................................................................................................................... 68 8.1 Introduction ...................................................................................................................................... 68 6|Page 8.2 Functional Testing ............................................................................................................................. 68 8.3 Summary ........................................................................................................................................... 70 9. LEGAL, ETHICAL, PROFESSIONAL AND SOCIAL ISSUES ............................................................................ 70 9.1 Introduction ...................................................................................................................................... 70 9.2 Legal Issues ....................................................................................................................................... 70 9.3 Social Issues ...................................................................................................................................... 71 9.4 Ethical Issues ..................................................................................................................................... 71 9.4. Professional issues ........................................................................................................................... 71 9.6 Summary ........................................................................................................................................... 71 10.1. Introduction ........................................................................................................................................ 72 10.2. Chapter Summary and results........................................................................................................ 72 10.2.1. Chapter 1 Introduction ........................................................................................................... 72 10.2.2. Chapter 2 Literature review .................................................................................................... 72 10.2.3. Chapter 3 Objectives, Activities and methods ........................................................................ 73 10.2.4. Chapter 4 Review of other systems ........................................................................................ 73 10.2.5. Chapter 5 Requirements Analysis ........................................................................................... 73 10.2.6. Chapter 6 Design ..................................................................................................................... 74 10.2.7. Chapter 7 Development .......................................................................................................... 74 10.2.8. Chapter 8 Testing .................................................................................................................... 74 10.2.9. Chapter 9 Legal, Ethical, Social and professional issues ......................................................... 74 10.3. Summary ........................................................................................................................................ 75 11. Conclusion ............................................................................................................................................. 75 11.1. Introduction ................................................................................................................................... 75 11.2. Project Management ..................................................................................................................... 75 11.3. Product Evaluation ......................................................................................................................... 75 11.4. Lessons Learnt................................................................................................................................ 76 11.5. Challenges ...................................................................................................................................... 76 11.6. Future recommendations .............................................................................................................. 76 11.7. Summary ........................................................................................................................................ 76 REFERENCE .................................................................................................................................................. 77 Websites ................................................................................................................................................. 77 Appendix A: Project Proposal ..................................................................................................................... 78 7|Page Appendix A – Model Diagrams.................................................................................................................... 78 Appendix B Minutes of Meetings ............................................................................................................... 89 Appendix C: Current Online Presences ....................................................................................................... 89 Appendix D Sample Code ............................................................................................................................ 89 Appendix E Screen Shots............................................................................................................................. 93 8|Page Figure 1; shows the location of the menu tab and the functionality to edit user profile ............................. 29 Figure 2; shows tutor registration ............................................................................................................... 31 Figure 3; shows the assigning of a tutor ..................................................................................................... 33 Figure 4; shows the home page of DSAL and the links to the member registration page .......................... 34 Figure 5; shows a report of the registered schools ...................................................................................... 36 Figure 6;Administrators use case diagram (DSAZ) .................................................................................... 43 Figure 7;rtsa use case .................................................................................................................................. 45 Figure 8; driving school use case ................................................................................................................ 47 Figure 9; Instructor Use case ...................................................................................................................... 49 Figure 10; Student use case......................................................................................................................... 51 Figure 11; Public use case........................................................................................................................... 53 Figure 12; ERD ............................................................................................................................................. 57 Figure 13; Relational Schema ..................................................................................................................... 58 Figure 14; Flowchart ................................................................................................................................... 59 Figure 15; homepage................................................................................................................................... 60 Figure 16; Main Menu Design .................................................................................................................... 61 Figure 17; site map of the application......................................................................................................... 62 Figure 18; welcome page for system .......................................................................................................... 93 Figure 19; login page ................................................................................................................................... 94 Figure 20; wrong details entered ................................................................................................................ 95 Figure 21; admin home page ...................................................................................................................... 95 Figure 22; Create user ................................................................................................................................. 96 Figure 23;View user .................................................................................................................................... 96 Table 1 ........................................................................................................................................................ 25 Table 2; shows the functional requirements of the system ......................................................................... 40 Table 3; shows the non-functional requirements of the system .................................................................. 41 Table 4; Administrator inputs, events and response ................................................................................... 44 Table 5; RTSA inputs, events and response ............................................................................................... 46 Table 6; Driving School inputs, events and response ................................................................................. 48 Table 7; Instructors inputs, events and response......................................................................................... 50 Table 8; Administrator inputs, events and response ................................................................................... 52 Table 9; Administrator inputs, events and response ................................................................................... 54 Table 10: Technologies used ...................................................................................................................... 64 Table 11; Functional testing........................................................................................................................ 68 9|Page 1. INTRODUCTION 1.1 Overview Over the past years, there have been a number of changes in the road transport and safety sector following the efforts to improve road safety. In the year 2001, the Zambian government, through the Ministry of Communication and Transport, signed a contract with a South African agency (RTSA) to improve road safety in Zambia. RTSA has entered into an agreement with the Zambia Transport and Information Services to take over the process of licensing of drivers. Over the years, a number of issues involving corruption during the registration process have arisen. Driving schools are not involved in the process of making road traffic rules. They are not even part of the team that makes road user training guidelines. They do not have a strong voice that would help them to act as one and be part of all the training guide implementation. The driving schools also find it very difficult to get their students registered at RTSA for road tests. The formation of the Driving School Association of Zambia (DSAZ) in the year 2010 brought hope to the driving schools. The association is working on uniting all the driving schools and representing them as one voice to the government, the public and to RTSA. The association has its offices in Lusaka along the Great East road. 1.2 Background Driving School Association of Zambia (DSAZ) is the mother body for all driving schools in Zambia. It was formed in the year 2010 by a group of driving schools who felt that their interests were not being met by RTSA. It is governed by its chair lady Mrs Hope Kasese Khumalo. It was formed so that it could be the voice for all the driving schools in the country. 1.3 Scope Statement This project will design and implement a system that will allow for the following: People wishing to apply to a driving school will be able to see the registered driving schools on online and apply to them. Display information to people who need information about road safety such as road accidents statistics Enable the drivers school association to keep track of all registered drivers schools and instructors and ensure that they are operating on agreed standards of operation Enable driving schools to book for their students going for license tests online. This project will not encompass online payments 1.4 Problem Statement and Solution Currently, driving schools in Zambia do not have systems that can help them to interact with clients remotely via online applications. This results to people having to physically go around school by school to apply for driving lessons, physically go to RTSA either through the school or individually to apply for a license. There has not been a system that can help Driving schools, the association, the public and RTSA to properly formulate a proper way to communicate and operate in an orderly manner. They act independently from each other resulting to confusion and the increase in the cases of corruption. 1.4.1 Getting Information and applying to a driving school If someone wants to apply to a driving school, they have to physically move around in to look for a driving school. They are sometimes crooked by people with mushrooming unregistered schools and forced to register with them. People privileged with the internet usually use the online business directories to get contacts of the driving schools but still cannot enroll online because there is no driving school at the moment that offers online student registration. The system will display schools that have paid a subscription fee and have the license to operate. 11 | P a g e 1.4.2 RTSA bookings In order to book for a test at the RTSA, students have to first do their training at a driving school. The driving schools do the bookings at RTSA on behalf of the students. Sometimes schools let their students do the bookings by themselves. This gives room to corruption at RTSA because the students would try to bribe the instructors at RTSA for a license without doing a driving test. At the moment, rtsa does not do online bookings for driving tests, one has to physically go to the rtsa offices to make a booking. 1.4.3 Getting road traffic information Whenever the public needs information from RTSA or the Drivers school association, they either have to call the RTSA toll free line or go to the RTSA website which is not so up to date with information. This Project will address these problems by designing and implementing an online system that would provide an integrated view of information about RTSA, the Driving School Association, driving schools and any road safety information relevant for the public to know. It will greatly help the public apply to registered schools. It will also help the driving schools to book for driving tests at rtsa for their students conveniently and also be recognized by the public as well as be heard by RTSA. The association would greatly benefit from the system because it will easily manage the driving schools and get proper and relevant information from the public, from the driving school and from RTSA. RTSA would also greatly benefit from the system because it will be able to communicate with the institutions responsible for training the drivers and come up with ways of reducing accidents on the road. 1.5 Aim and Objectives 1.5.1 Aims The purpose of the project is to design and implement an online system for DSAZ that will integrate all the parties involved in the training and registering of drivers so as to streamline the whole process of driving lessons to the obtaining of licenses and reporting of road accidents. 12 | P a g e 1.5.2 Objectives In order to achieve the above aim stated, the objectives below have been identified. To investigate what the Online Driving school Management system is To find and review similar systems in use To discuss systems development methodologies and select one to apply in this project To design and develop an online driving school registration, drivers’ license application and road accidents reporting system for the driving school association of Zambia To evaluate the developed system through testing. 1.6 Report Road Map This report has 11 more chapters which have been structured as follows. Chapter 2 – Literature Review: this chapter compiled from the results of searching through literature. It will provide a summary of literature, theories, concepts, approaches, methods and techniques relevant to the project area Chapter 3 – Project Objectives, Activities and Methods: The Chapter discusses software development methodologies and also shows the techniques which were used in order to achieve each objective. Chapter 4 – Review of similar existing Systems: The Chapter reviews the similar existing systems elsewhere that are currently being used. Chapter 5 – Requirements Analysis: describes the collection of information needed to produce the system requirements of the proposed solution. Chapter 6 – Systems Design: discusses the design of the system and the design models used. Chapter 7 – System Development and Implementations: The Chapter describes the selection development tools and programming languages used and how the system was implemented. 13 | P a g e Chapter 8 – System Testing: This chapter will describe how the system will be tested and the expected results when the system is executing. Chapter 9 – Legal, Social, Professional and Ethical Issues: This chapter describes what Legal, Social, Professional and Ethical Issues that affect the development of this project Chapter 10 – Summary and Presentation of Results Chapter 11 – Conclusion – This Chapter provides the critical evaluations of the entire project and the lessons learnt. Chapter 12 provides a fast reference of the contents of all the chapters dealt with. 1.7 Summary Chapter one provided an introduction to issues related to the driving schools in Zambia, the driving schools association and RTSA. It also shows how an online system can be used to implement a solution to the problems mentioned. An outline of what’s to come in the rest of the report was also provided. Chapter 2 will compile the results of searching through different types of literature. It will provide a summary of theories, concepts, 2. LITERATURE REVIEW 2.1. Introduction This part of the report provides a basic outline of the research done during the project for the purpose of acquiring an understanding of the subject content i.e. the DSAZ Management System and its components 14 | P a g e 2.2 To investigate what the Online Driving school Management system Online Driving School Registration, Driver’s License Application and Road Accidents Reporting System This is a system that is designed to help the driving school association to manage the affairs of driving schools, help to reduce road accidents by making sure that driving schools adhere to the teaching standards. It will also help the students to locate legal, fully registered driving schools that have well qualified driving instructors to teach them. There are more than a 100 driving schools in Zambia. The online system will also enable the driving public to apply or register to a driving school of their choice online 2.3. Methodology System development methodologies have over the past years evolved from traditional System Development Life Cycle (SDLC) to agile methodologies. The adopted methodology for the development of the proposed system is the Agile methodology due to its ability to expose progress and problems. Rico (2007), defines agile methods as lightweight software design processes based on small teams using flexible technologies to iteratively improve software using customer feedback to converge on solutions. Characteristics of the Agile methodology 2.3.1. Extreme Programming; this is a development approach that is more of code oriented rather than design oriented. Testing is thus made easy with extreme programming. Abrahanson (2002) 2.3.2. Dynamic System Development method (DSDM); DSDM is an agile project management method and delivery framework that aims to deliver the right solution at the right time. Richard( 2010). 2.4 Application Development Technologies This section of the report describes the technologies used to develop the system. It takes into consideration both the front and backend technologies used in the whole process. 15 | P a g e Front end technologies are the user interaction processes that enable a user to interact with the system. These technologies include the tools used in the designing and implementation of forms; reports input responses and the look and feel of the application. Frontend processes usually run on the client machine while the actual process is executed in the backend by backend technologies The frontend technologies used in the design and implementation of the system are; 2.4.1Cascading Style Sheets (CSS): CSS is used to define styles for your web pages, including the design, layout and variations in display for different devices and screen sizes. It saves a lot of work! With an external style sheet file, you can change the look of an entire website by changing just one file! CSS describes how HTML elements are to be displayed on screen, paper, or in other media. CSS saves a lot of work. It can control the layout of multiple web pages all at once. 2.4.2. JavaScript is an object- and prototype based programming language created by Brendan Eich at Netscape. Although similar, JavaScript is not Java. Unlike Java, JavaScript is not a full programming language; its main used in the web environment and even then it is used in conjunction with another language, usually HTML. JavaScript is an excellent language to use for functionality such as rotating pictures on a page, error handling when inputting information in forms and setting responses to certain events on a web page. Robbins( 2006) 2.4.3. HTML : HTML is the language for describing the structure of Web pages. HTML gives authors the means to: o Publish online documents with headings, text, tables, lists, photos, etc. o Retrieve online information via hypertext links, at the click of a button. o Design forms for conducting transactions with remote services, for use in searching for information, making reservations, ordering products, etc. o Include spread-sheets, video clips, sound clips, and other applications directly in their documents. 16 | P a g e Back end technologies are mainly processes that interact with database creation and manipulation, connections and storage. They provide support to front end technologies for services such as addition, retrieval, updating and deleting information or data. The backend technologies used in the design and implementation of the system are; 2.4.4. PHP is a server side scripting language that was designed for creating dynamic websites. It runs on the server and processes instructions contained in a web page before that page is sent to a user’s web browser. PHP can also “talk” with various database systems, giving developers the ability to generate dynamic pages based on the results of an SQL query. Moncur (2009). 2.4.5. MySql : MySql is the most popular open source SQL database management system Telecom companies and forward-thinking corporate IT Managers because it eliminates the major problems associated with downtime, maintenance and administration for modern, online applications. o Backup: It’s easier to setup automatic backups in Microsoft SQL Server and ensure there’s a point of restore. o Security: Because SQL Server integrates with Windows Active Directory, it is quite easy to determine access to the databases via logins for the users in the security module of the database management system. o Auditability: You cannot copy or duplicate the SQL Database without leaving an audit trail which administrators can easily review and track the users who logged in and made any changes. o Scalability: SQL Server can handle much larger databases with large amounts of data; it is easy to grow a SQL server database as the data demands of the organization increase. 17 | P a g e Weaknesses of MySql o Cost: License and implementation costs of SQL are massive add to that the skills of administrators is not cheap either. o Implementation time: It takes long to setup a SQL Server system and this can impact organizations in cost and projects. o Complex environment: SQL Server environment is complex and requires users with a significant amount of knowledge and skills to work with. 2.4. Summary The chapter described Online Driving School Registration, Driver’s License Application and Road Accidents Reporting System, the involved parties and its components. It also describes the technologies used in the development of the proposed system as well as reviewing their weakness and strengths. 18 | P a g e Reference Richards, K. (2010) Agile Project Management: Intergrating DSDM Atern into existing Prince2 environment. Bristal; Robbins J. N. Web Design in a Nutshell 3rd Edition (2006), O’Reilly Media Inc., Sebastopol, CA95472 http://davidfrico.com/rico07 Date accessed (12/03/2016) http://www.w3schools.com/html/html_intro.asp Date accessed (12/03/2016) http://mashable.com/2014/01/21/learn-programming-languages/ Date accessed (15/03/2016) 19 | P a g e 3. OBJECTIVES, ACTIVITIES AND METHODS 3.1. Introduction This chapter is aimed at outlining and explains the methods that will be used to achieve the different objectives. It will also discusses the various methodologies used for software development and seek to also justify the chosen methodology for the development for this project. 3.2. Objective One To analyze similar online systems used by driving school associations Activities Conduct interviews with stakeholders at RTSA (2 days) Review documentation (2 days) Read Literature on types and methods of online drivers licensing systems Interview employees at RTSA, driving school employees and driving instructors, students at driving schools and the president of the driving school association. Deliverables: Requirements Specifications The first activity was to find out if there was any driving school mentioned in the scope has an online registration system. If an online system was found, an analysis of how these systems help the schools operate and interact with the client was done to determine what specifications would need to be achieved on the Online Driving School Registration, Driver’s License Application and Road Accidents Reporting System. The second objective was achieved by asking some members of public and road users about their experience with the process of obtaining a driver’s license, their experience with driving schools and what changes they would like to see in the new online system. 20 | P a g e We also asked RTSA employees on how to help reduce road accidents using the new system after evaluating the current method of obtaining drivers licenses. We lastly also interviewed the president of the diving schools association on her views of maintaining a good operating standard among the driving schools and how to make sure that they give the best driving lessons to their students Findings This research revealed that the furthest the driving schools in the country could go was to have a page on Facebook. The association also had a static website which is no longer in operation. RTSA has a website that it periodically updates. This research further revealed that the public and the driving school students would appreciate an online system that would list all the registered schools, help them to register to a driving school online, enable the driving schools to make bookings for tests at RTSA, inform them through the system whether or not they have passed after the tests and be able to help them interact with the association for driving schools and RTSA. RSTA employees also revealed that they would appreciate if the system could help locate the schools where each driver did their driving lessons so that they could be able to see which schools produced the best drivers and which schools produced the most road offenders. The Driving School association revealed that they would appreciate a system that would enable them to have a record of all the driving schools, driving instructors and a report of the road accidents, a system that would intergrade the operations of RTSA, the driving schools and the association itself so that it could have a voice and be up to date with information form the two parties. 3.3. Objective Two To review similar systems Activities Browse internet for information on similar systems 21 | P a g e Review system documentation for similar systems that are implemented elsewhere Compare the systems Select suitable features to implement This objective aimed at evaluating other available systems of similar nature in order to assist with selecting and exploring features that would be incorporated in the proposed system. By reviewing the systems that have already been implemented, it would help in not having to reinvent the wheel by redeveloping what already exists and also avoid making similar mistakes to develop a robust system. In order to achieve this, thorough research through the internet as well as documentation of existing systems would have to be done. After comparing the systems suitable features were selected to include in the final system. 3.4. Objective Three. To review different systems development methodologies for the purpose of recommending one to use. Activities Review literature on different system development methodologies Compare different methodologies Select best methodology to use 3.4.2. Prototyping Prototyping is the process of building a working replica of a system. The prototype is the equivalent of a mock-up in the hardware world. Purcell (1995). The requirements of the system are obtained from the users during the early stages. A working system is then developed from the initial requirements obtained. When the system is presented, it is then studied and reviewed in order to see if there could be any other changes made or if it could be given a go ahead. 22 | P a g e Strengths of prototyping It promotes user involvement and participation as well as communication with the stakeholders. It helps to identify difficult and missing functionality because it encourages works on a problem in modules. Enables quick implementation of an incomplete, yet functional application Encourages innovation and flexible design. Disadvantages of prototyping; Requirements may frequently change. This delays the full implementation of the system because changes in requirements would mean redoing a part of the project Identification of non-functional requirements is difficult to document. Users expect the performance of the final system to the exactly as the prototype. Where it is appropriate Prototyping is useful when it comes to demonstrating technical feasibility when the technical risk is high and also to better understand and extract user requirements. (Purcell, 1995) Prototyping is also useful where the project requires some interaction with the users to help in understanding the way the system responds to input from users. 3.4.3. Waterfall/Linear Waterfall is an approach to development that emphasizes completing a phase of the development before proceeding to the next phase. It is a sequential step by step approach. (Purcell, 1995) Strengths It being a step by step or sequential process, it makes it easy to allocate resources such as developers, time and resources in the project. It is measurable. Provides adequate documentation including change management during the project. 23 | P a g e Weaknesses The waterfall method requires that all the resources and requirements are put in place before the project can commerce Project duration is usually extended as all phases must be completed and one phase can have many requirements and change processes to be adhered to. It lacks flexibility because it is Where it is appropriate The waterfall method is ideal for a project or system whose requirements are clearly and very well understood. It is also suitable for an experienced development team. 3.4.4. Rapid Application Development (RAD) Rapid Application Development RAD is a methodology that aims at satisfying the business need for the system. It promotes user involvement during the development process. Prototyping is also used in RAD. Advantages of RAD; It mainly focuses on the important elements from the user’s perspective. A system is developed at a low cost because the approach produces the system very quickly It balances both the user requirements and the business requirements Designs can be changed at any time to suit the user requirements and demands. Disadvantages of RAD; the speed at which project is developed in order to meet deadlines may compromise the quality of the project The project may end up with more requirements than usual. It has a tendency of pushing the difficult activities forward. 24 | P a g e It is difficult to always have users available and this can hamper the process and possibly success of the project. (Purcell,1995) Where it is appropriate RAD is often suitable in small-to-medium scale projects and where users have detailed knowledge of the area of application. RAD is also appropriate when senior management has a buy in and committed to have users available in the project for adequate involvement. 3.4.5. Comparison of Methodologies Although the outlined methodologies are meant to achieve one goal or common objective of producing a working system, there are a number of factors i.e. similarities and differences that determine which methodology to use and these are usually considered when making the selection. The table below summarizes some of these factors comparing the different methodologies. Table 1 Features Waterfall Prototyping Rapid Application Development (RAD) Flexibility Low Requires complete Yes definition of High High No No High High requirements at onset Active User Low Involvement Early functionality No Yes Yes Cost Low High Low 25 | P a g e Time/Duration of Long Short Short Project Comparison of features of the different system methodologies based the strengths and weaknesses of methodologies. Features adapted from ‘Purcell, 1995’ 3.4.6. Selected Methodology and Justification From the vast number of available development methodologies to use, I believe RAD was more suitable to producing the product in my project. From the reasons highlighted below and related to the nature of this project I am convinced it would be appropriate. The project has a short and fixed duration: this project encompassed a very short period and had a fixed delivery date for the product. RAD would enable me to interact with the users. This will be a plus because it will also help me in knowing if or not the project is meeting the user requirements at each stage or not 3.5. Objective Four 3.5.1. To design the online system for DSAZ the following activities were to be done Activities Create design models: ERD, Class Diagrams, and Use Cases Develop code for system This involved developing a blue print of the system by modeling designs of the back end databases which included relationships as depicted on Entity relationship diagrams, class diagrams of the classes used as well as use cases that described the interactions of the system activities. The design specification guided in the development of code based on the logic of the different models that were created. All development was done using PHP, HTML and javascript. 26 | P a g e 3.6. Objective Five 3.6.1. To Evaluate the new system Activities Perform testing i.e. unit, module and system tests Post implementation testing: comparing results with test plans Testing is critical in evaluating the success of an application; by ensuring that application is tested for bugs and application errors we avoid rolling out or commissioning a problematic system to clients/users. This meant test plans had to be developed, tests carried out and results compared with the system giving the developer a chance to correct the errors detected before commissioning. 3.7. Summary The chapter outlined the different objectives set for the project and reinforced the objectives as described or introduced in the proposal. These objectives were critical in achieving the goals of the project and each contained a number of activities required to complete them. The next chapter reviews some similar systems that have been developed with the same concepts as the proposed system with similar features. 4. REVIEW OF OTHER SYSTEMS 4.1. Introduction This chapter of the report discusses different systems with similar concepts implemented elsewhere. This evaluation will assist in learning from the similar systems i.e. to incorporate useful similar features and also avoid any likely mistakes that may have been made during design or development of the systems. The area on which the evaluation was focused was a simple overview, the appearance, navigation, usability and functionality. The three systems that were reviewed in this chapter are ; SOAR Student Online Registration System on 27 | P a g e http://1stsystem.com/soar_system_solution.html Motor Driving School System on http://nevonprojects.com/motor-driving-school-system/ The Driving school Association of Louisiana website http://www.dsal.org/ 4.2. SOAR Student Online Registration System 4.2.1. Overview The SOAR student online registration system was designed to enable academic institutions to register students online and manage their academic activities. It enables students to register to classes and keep track of their academic progress. The main actors in of the system are the student, tutor and administrator 4.2.2. Appearance The application has a user-friendly interface. It has a list of menu options to the left of its screen that are easily accessible to the user. Once logged in, it displays the users’ details and allows the users to edit their profile details as shown in figure. 28 | P a g e Figure 1; shows the location of the menu tab and the functionality to edit user profile 29 | P a g e Data capture page adapted from http://1stsystem.com/soar_system_solution.html 4.2.3. Functionality The functionality of the system consists of a number of things such as; capturing of user details, assigning students to classes and lectures, tracking of students’ progress, viewing of students, viewing of students and their records. It also enables administrators to manage student registration, and to manage the school. Professors are able to manage students’ grades, and attendance. 4.2.4. Navigation The application has got a menu grid at the left of the screen as shown in figure 1. This grid has links that a user can select from in order to go to the page that they wish to go to. It also has a drop down menu at the top right of the screen that enables the user to sign out of the system. 4.2.5. Usability The responsiveness of the website enables the user to move from one textbox or for to another using the tab key. Users can complete forms using the autocomplete functionality and predetermined entries that can be picked from the database. The system also has regular buttons used for saving or submitting information. 4.2.6. Features Adopted The progress view. A student is able to see the status of their academic progress. This is a very useful functionality because a student is kept aware of their academic status The interface display was helpful in that it gave me a guideline in how to place the menu and the links in the new system. 30 | P a g e 4.3. Motor Driving School system 4.3.1. Overview This Motor Driving School System is a system designed by Nevon projects. System helps driving schools to automate the manual tasks of maintaining and managing clients. The application helps in the assigning of instructors to students and also enables instructors to assign a training slot available to a student. The system enables students to register online using a registration form. Once a student registers to the system, a notification is sent to the email address they provide. 4.3.2. Appearance The system is a web based system that uses. It was developed in php. The system has one log in form on the home page. Once logged into the system, each profile shows the details of the person logged. Each page has a menu bar at the top section of the page 4.3.3. Functionality The Motor Driving School management system enables users to register online using a registration form. It enables the administrator to register a tutor as shown in figure 2. The system also enables a driving school to assign tutors to students as shown in figure 3, view students, adding tutors and select a training slot. The system also enables students to make online payments to the school. A school is also able to view the list of all its students and the list of all tutors Figure 2; shows tutor registration 31 | P a g e Data capture page adapted from http://nevonprojects.com/motor-driving-school-system/ 32 | P a g e Figure 3; shows the assigning of a tutor Data capture page adapted from http://nevonprojects.com/motor-driving-school-system/ 4.3.4. Navigation The system provides buttons and indicators to assist users find their way around the system through Each page has a menu bar that enables a user to navigate to the task that they want for instance, if a user wants to view their user details they can go to the menu bar and select view user details. A user is directed to their profile by entering their log in details and then selecting log in 4.3.5. Usability The system is a very user friendly system. It is not sophisticated and it has a very user friendly interface. Simple language and on its GUI was used. All users log in using the same form. This makes it simple because one will not have to start looking for a different type of log in form in order to log into the system. 33 | P a g e 4.3.6. Features Adopted Assigning of tutors to a student View registered students Approve applications from the students Online registration of students 4.4. The Driving school Association of Louisiana website 4.4.1. Overview The Driving school Association of Louisiana is an association that was formed in order to help create a safer driving environment in Louisiana through proactive driver education training methods as well as to raise the standards of all Driving Schools and their Instructors. The association works in cooperation with the Office of Motor Vehicles and other Road safety stakeholders. 4.4.2. Appearance The organizations website was designed in php. It enables users to login and also apply for membership as shown in figure 4. Figure 4; shows the home page of DSAL and the links to the member registration page 34 | P a g e Data capture page adapted from http://www.dsal.org/index.html 4.4.3. Functionality The system allows users to register online for membership as shown in figure 4 and also gives reports of the registered driving school members and instructors within Louisiana as shown in figure 5. The report serves as a directory to people willing to apply to driving schools. 35 | P a g e Figure 5; shows a report of the registered schools Data capture page adapted from http://www.dsal.org/pdfs/members.pdf 4.4.4. Navigation The application is accessible to the public. The welcome page has a number of links. Once a user clicks on a link, it directs him to the function that is linked to it. The user can use bread crumbs that enable the user to track back to previous pages. Since the system is accessed using a website, a user is able to alternate between pages using the back and the forward buttons found in the browser. 4.4.5. Usability The system is very easy to use and the reports are very useful in that they provide the clients with direct information for the driving schools. 36 | P a g e 4.4.6. Features Adopted Reports and its ability to show all the registered school and their contact details. 4.5 Summary This chapter revealed three systems that are similar to the proposed project. The concept of the reviewed system is almost the same. These systems have useful features that are useable in the proposed system such as the reports, student registration and other functions The next chapter discusses the analysis of the system. 5. SYSTEMS ANALYSIS 5.1. Introduction This chapter outlines how the requirements of the proposed system used in order to meet its objectives were derived taking into account both functional and non-functional requirements. In this chapter we will also explore some fact finding techniques and also illustrate the requirements by the use of modeling. 5.2. Fact finding techniques The fact finding techniques are the methods used to acquire information that is to be used for the purpose of determining the requirements of the proposed system. 5.2.1. Interviews Interviews are a very essential method of gathering information in projects of many kinds regardless of the subject of research. Interviews were used to provide an insight on the challenges that users face in the current system. The current system does not provide for 37 | P a g e accountability and the reporting of accidents is not possible unless done manually. The interview process also unveiled the challenge of data capture that the users were facing 5.3. Requirement Specification This chapter mainly focuses on the functional and non-functional requirements of the proposed system. 5.3.1. Functional Requirements Functional requirements refer to the fundamental functions a system is able to perform based on the users’ needs. Bennet (2005), describes functional requirements as functionality that a system is expected to perform. For the proposed system the functional requirements were grouped according to the user categories and included the outlined below; System Administrators (DSAZ PRESIDENT ) RTSA staff Driving School Manager Instructor Students The public Systems Administrator (DSAZ) requirements: System should authenticate the users. The home page will have a login form that will request for the users name and password in order to log in. Create Driving School. Create User Approve or dis approve applications View users View Reports 38 | P a g e View Messages Delete Driving School. Delete User RTSA Staff requirements: System should authenticate the users. The home page will have a login form that will request for the users name and password in order to log in. Approve or disapprove a booking for a test that is made by a driving school instructor on behalf of the student. Enter information about road accidents. Driving School Manager requirements: System should authenticate the users via a log in form prompting users for correct username and password Approve or dis approve applications from the public to enroll to the driving school Assign an instructor to a student View students training progress Message students and also receive messages from students Instructor requirements: System should authenticate the users via a log in form prompting users for correct username and password View students assigned to them Make bookings for tests at RTSA for the students View whether or not a student has been awarded license or not Interact with the students 39 | P a g e Student requirements: System should authenticate the users via a log in form prompting users for correct username and password Apply to a driving school of his or her choice Interact with instructor and driving school manager View status of the RTSA bookings made on behalf of them by their instructor The Public user requirements: Blog after entering their details such as email address Browse through the messages meant for the public to view Create an account in order to apply Functional Requirements describe what a system does or is expected to do, often referred to as its functionality (Bennett, 2005). Table 2; shows the functional requirements of the system Functional Requirements Creation and deleting users The administrator of the system will be able to create new users to the system. The users of the system are students, driving schools, RTSA, the public and instructors. The Administrator will also be able to delete the users Registering and deregistering of driving The Administrator will be able to register schools to the system. Students will be able schools to browse for a school of their choice and apply online. The administrator will also be able to 40 | P a g e deregister driving schools from the system. The system will enable the driving school to Assigning of students to an instructor assign a student to an instructor for driving lessons Booking a slot for tests at RTSA for Instructors will be able to do online bookings for their students to conduct tests students at RTSA. Entering and retrieving of statistics of RTSA will be able to enter the road accident records and the administrator at DSAZ will accidents be able to view them according to date and according to the school where the students graduated from 5.3.2. Non-functional requirements Non-Functional Requirements are those that describe aspects of the system that are concerned with how well it provides the functionality required (Bennett, 2005). Table 3; shows the non-functional requirements of the system Non-functional requirement Security Capacity Extensibility Data Recovery Data integrity 41 | P a g e Description The system will be able to control user account access. This will be achieved using passwords and controlling access levels The system will be able to manage multiple transactions at a goal and store them without having any negative effects on its performance. It being a very new system, it will be subjected to a lot of change in terms of additions and subtractions to its functionality. The system will be able to handle these changes without distorting existing data and functionalities. The system will be able to recover from critical failure when it crashes. There will be able to achieve recovery by database restore. The system will be able to regulate the type of data entered through input validation that will be in every form. 5.4. Analysis The analysis section of this chapter basically utilizes use cases (figures 7, 8, 9, 10 and 11 ) to model the requirements of the system, this is aimed at outlining the way the system will perform functions from the angle of the users. As already highlighted, the category of users includes the following: System Administrators RTSA Driving School Instructor Student The public 42 | P a g e Figure 6;Administrators use case diagram (DSAZ) Approve / disapprove application Create user View user Register Driving School Deregister Driving School View Message Delete user View Report s 43 | P a g e LOGIN Actor: Administrator Precondition: Should be logged in and must be admin Post condition: User must be able to perform the following functions. Approve / disapprove applications from the pubic Create user. The user could either be an instructor or driving school manager View users Register Driving school to the system Edit Driving school Delete Driving School from the system View Message Delete user View Reports Table 4; Administrator inputs, events and response Input Events from Finance Staff Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct and Administrator menu is displayed 44 | P a g e Figure 7;rtsa use case Approve / disapprove bookings for tests LOGIN ENTER RECORDS OF ROAD ACCIDENTS READ AND SEND MESSAGES 45 | P a g e Actor: RTSA Precondition: Should be logged in and must be a RTSA employee Post condition: User must be able to approve / disapprove bookings for tests. Enter records of road accidents Read and send messages Table 5; RTSA inputs, events and response Input Events from Finance Staff Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct the RTSA menu is displayed 46 | P a g e Figure 8; driving school use case Approve / disapprove application from Student Assign an instructor to a student LOGIN View students training progress Interact with Students View Student report from RTSA 47 | P a g e Actor: Driving School Manager Precondition: Should be logged in and must be a driving school manager Post condition: User must be able to view students Must be able to approve or disapprove an application from student. Must be able to view instructors. Must be able to assign an instructor to a student. Must be able to view students training progress. Table 6; Driving School inputs, events and response Input Events from Finance Staff Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct the driving school managers menu is displayed 48 | P a g e Figure 9; Instructor Use case View students assigned to instructor LOGIN Make bookings for tests at RTSA for the students View whether or not a student has been awarded license or not Interact with the students assigned to instructor 49 | P a g e Actor: Instructor Precondition: Should be logged in and must be an instructor Post condition: User must be able to view students assigned to him/her Must be able to make bookings for tests at RTSA on behalf of the student Must be able to interact with assigned students Table 7; Instructors inputs, events and response Input Events from Finance Staff Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct the Instructor menu is displayed 50 | P a g e Figure 10; Student use case Apply to a driving school of choice LOGIN View status of the RTSA bookings made on behalf of them by their instructor View & Interact with instructor and driving school manager 51 | P a g e Actor: Student Precondition: Should be logged in and must be a student Post condition: User must be able to apply to a school of choice, View bookings made at RTSA Interact with the instructor and driving school management Table 8; Administrator inputs, events and response . Input Events from Student Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct and Students menu is displayed 52 | P a g e Figure 11; Public use case Apply to be a student Apply to be an Instructor Create an account Apply to be a driving school Enter details such as email address Browse through the messages meant for the public to view Blog 53 | P a g e Actor: Public Browse through the messages meant for the public to view Precondition: Should be enter details such as email address Post condition: User must be able to perform the following tasks Blog Precondition: Create an account Post condition: User must be able to perform the following tasks Apply to be a student Apply to be an Instructor Apply to be a driving school Table 9; Administrator inputs, events and response Input Events from Finance Staff System Events and Response Enter email address System input form prompts the user to enter an email address and name User enters email and submits System allows user to post a message User navigates to account registration and System registration form and prompts the user enters valid details to enter valid information to create an account. The user can choose to apply as a student to a The system provides a form that allows a user school of their choice or to as a Driving to enter details of registration for the user type school owner they want. (Driving school owner, Instructor or student) 5.5. Summary The analysis provided the much needed details of what the system design would focus on. It highlighted the key requirements of the system for example what user performs what function. The chapter brought to light that one has to be an administrator in order to create a user and that 54 | P a g e one has to create an account in order to apply to be a driving school owner or to apply to a driving school of his/her choice as a student. From the analysis I was able to understand the users accessing the system and their particular roles in the system i.e. when and how they interact with the system as demonstrated in the use case diagrams. The next chapter describes the design of the proposed system. 6. DESIGN 6.1. Introduction Several design models will be used to illustrate the how functional and non-functional requirements are attained by the proposed system in this chapter. 6.2. Database design The Stackoverflow website defines Database design as “the process of specifying the logical and/or physical parts of a database. The goal of database design is to make a representation of some "universe of discourse" - the types of facts, business rules and other requirements that the database is intended to model.” Database design is the method in which all the necessary data to be used in the system as well as the relationships between that data. To sufficiently achieve this Entity relationship modelling was used for the design of the database. 6.2.1. Entity Relationship Modelling Firstly, all the entities and their attributes are identified. After these are identified the relationships between the data entities are then identified. 55 | P a g e Constraints of the relationships between the entities are then identified. Listed below are the identified entities with their attributes to be used in the design of the Database: USERS (User ID, User Type) DRIVING SCHOOL (School ID, User ID) INSTRUCTORS (Instructor ID, User ID, School ID) STUDENTS (Student ID, Application ID) APPLICANTS (Applicant ID, User ID) NOTIFICATIONS (Notification ID, User ID) RTSA BOOKINGS (Booking ID, Student ID, School ID, License ID) RTSA ACCIDENTS (Accident ID, Licence ID) Business rules: 1. A Student can only belong to one driving school at a time 2. A student can only have one license 3. A driving school can have as many students 4. One driving school can have many instructors 5. 56 | P a g e The diagram below is the Conceptual model for the database. Figure 12; ERD 57 | P a g e The above diagram shows the entities of the online system with their primary attributes. The diagram also shows the relationships between the entities. To show the logical relationship between the entities, we will use a logical schema that will show both the primary key attributes and the foreign keys which indicate how the entities are logically related. Primary key attributes are underlined while the foreign key attributes are coloured greened. Figure 13; Relational Schema 58 | P a g e 6.3. Flow Chart Below is the flow chart for the system. Figure 14; Flowchart The flowchart above show the sequential flow of transactions in the system from the beginning starting point to the end taking into consideration all the process the transaction is subject to undergo. 59 | P a g e 6.4. Interface Design: The interface design helps to show and understand the features of the system that the user will interact with as they operate it. The main goal of this design is to enable users to understand the graphical setup of the system. It will help the users not to get confused as they navigate from page to page. 6.4.1. Home page: Figure 15; homepage FUNCTION 1 FUNCTION 2 FUNCTION 3 User name USER NAME Password PASSWORD Keep me logged in SIGN INLOGIN CANCEL CANCEL 60 | P a g e FUNCTION 4 The home page the welcome page or the page that a user first accesses when they use the system. It gives a brief overview of the whole system. Below is the diagram of the conceptual design. 6.4.2. Main Menu Figure 16; Main Menu Design LOGO FUNCTION 1 FUNCTION 2 FUNCTION 3 FUNCTION 4 FUNCTION 5 FUNCTION 6 5 61 | P a g e The main menu is the page that contains a list of all the functions of the system or tasks that can be performed by a user when they log onto their account. 6.4.3. Site Map Figure 17; site map of the application. 62 | P a g e 6.5. System Requirements: Hardware Laptop Desktop PC Server Smart phone Software windows operating system; Windows 7 and above Microsoft SQL Server Web browser. (Mozilla fire fox, Google chrome or UC web browser) 6.6. Summary This chapter described the system design. A number of tools such as the flow chart, entity relation diagram have been used to explain the different component of the systems. The components talked about in this chapter are; database and the interface, it also shows the activity diagrams, the hardware and software requirements. The next chapter discusses the implementation of the designs that have been disclosed in this chapter. 7. SYSTEM DEVELOPMENT AND IMPLEMENTATION 7.1. Introduction This chapter describes the front and back end technologies that were used during the implementation of the system. These technologies are explained in chapter 2. In this chapter we will also justify why the stated technologies were used and we will also display some samples of the code used. 63 | P a g e 7.2. Front end and Back end technologies Below is a summary of the technologies used, how and why they were used. Table 10: Technologies used Technology Purpose PHP & Hypertext Markup HTML is what was used in Language (HTML) describing the rendering of the pages while PHP was used in the development of dynamic web pages. Cascading Style sheets (CSS) CSS was used to for styling the pages and how they would be rendered. JavaScript MS SQL Server JavaScript was used for validating the forms. MySQL Server was used to create the database and its tables as well as enabling the querying of the database and implementing security and access control to the database. Why The 2 technologies allow separation of static data or text from the code behind the pages. CSS makes it easier to make changes or define a style because one change applies to a number of items on a number of pages. It also brings about consistency in terms of appearance and styling. JavaScript helps to enforce validation on the input forms. SQL Server helps to improve Security. Its ability to integrate with Windows Active Directory makes it is quite easy to determine how the database is accessed. 7.3. Code Samples This part of the chapter provides some sample code used in the technologies listed above. 7.3.1. Database Connection <?php $server='localhost'; $username='root'; $password=''; $database='zdsa'; 64 | P a g e #Connect to the MySQL Server $MySQLcon=mysqli_connect($server,$username,$password) or die("Cannot Connect to MySQL Server. This is due to invalid host name Defined"); #Select Database from Server mysqli_select_db($MySQLcon,$database) or die("Could not select the Database Name: ".'[ '.$database.' ]'." Specified... No such Database Name found on the MySQL Server"); ?> 7.3.2 Login Source Code case "login": $username=$_POST['username']; $password=$_POST['password']; $query=mysqli_query($MySQLcon,"Select*from Users WHERE Username='$username' and Password='$password'"); $rows=mysqli_num_rows($query); if($rows==0){ $errorMessage='Invalid Username or Password Supplied.. Please Enter Correct Login Details and then Try Again Later!'; } else{ $errorMessage=''; $dr=mysqli_fetch_assoc($query); $userid=$dr['UserID']; $usertype=$dr['Usertype']; $_SESSION['userid']=$userid; $_SESSION['usertype']=$usertype; $_SESSION['username']=$dr['Username']; $_SESSION['password']=$dr['Password']; # END --------------------------------------------------------------------------------65 | P a g e 7.3.3. CSS /*Defaults Styling*/ body {font:12px/17px Arial, tahoma; color:#333; background:#ccc; padding:40px 20px 20px 20px;} fieldset {background:#f2f2e6; padding:10px; border:1px solid #fff; border-color:#fff #666661 #666661 #fff; margin-bottom:36px; width:700px;} input, textarea, select {font:11px/11px tahoma; padding:0;} fieldset.action {background:#9da2a6; border-color:#e5e5e5 #797c80 #797c80 #e5e5e5; margintop:-20px;} legend {background:#bfbf30; color:#fff; font:17px/21px Calibri, Arial, Helvetica, sans-serif; padding:0 10px; margin:-26px 0 0 -11px; font-weight:bold; border:1px solid #fff; bordercolor:#e5e5c3 #505014 #505014 #e5e5c3;} label {font-size:11px; font-weight:bold; color:#666;} label.opt {font-weight:normal;} dl {clear:both;} dt {float:left; text-align:right; width:125px; line-height:25px; margin:0 10px 10px 0;} dt2 {float:left; text-align:right; width:115px; line-height:25px; margin:0 10px 10px 0;} dd {float:left; width:450px; line-height:25px; margin:0 0 10px 0;} dd2 {float:left; width:200px; line-height:25px; margin:0 0 10px 0;} #footer {font-size:11px;} #container {width:700px; margin:0 auto;} 66 | P a g e /*########################################## Script: Niceforms 2.0 Theme: StandardBlue Author: Lucian Slatineanu URL: http://www.emblematiq.com/ ##########################################*/ 7.4. System Architecture The diagram below illustrates the architecture of the system. It shows how the user or client computer connects to the server and accesses the database. When the web browser is run and the url for the online system is entered, the web browser communicates with the web server that later connects with the MySql database. The web server then sends back to the client computer through the browser the information retrieved from the database. DATABASE CLIENT COMPUTER WEB SERVER 67 | P a g e 7.5. Summary The system was developed using the PHP, HTML, CSS, MySql and javascript which was used for the validation of forms the chapter also stated why the technologies were used. Some samples of the code used in the system were also displayed in this chapter. The architechture of the system and what it comprises of was also. The next chapter focuses on the system testing and the methods of testing that were used in order to see to it that the system meets the requirements of the users. 8. TESTING 8.1 Introduction In this chapter, we will be more focused on the types of tests that were performed on the Online Driving School Registration, Driver’s License Application and Road Accidents Reporting System so as to ensure that it meets the user requirements highlighted in the design. 8.2 Functional Testing The table below shows the steps that were taken and the results attained during the functional test process Table 11; Functional testing Component to Reason For Test User Input Test Customer and Instructor Functions To ensure that Username Students the new students First name Account are able to create Last name Creation accounts and are Password able to use the Email address system Physical address Phone Number Date of Birth To ensure that Emailed Student details entered verification Account such as email code Verification address have not User name already being 68 | P a g e Expected Outcome Outcome Seen Mark Message of account being created successfully. Message of PASS account being created successfully. Account activation message and application main menu Account activation message Application main menu PASS used in the system by aby other student. To make sure Correct that only registered registered users Username and can sign into the Password are system entered To make sure Correct User Login that only registered registered users Username and can sign into the Password are system entered To ensure that a Select a school Students selection of student is able to of choice apply to a school school of choice To ensure that Submission of Students bookings at tutors are able to student details make booking at to RTSA RTSA RTSA on behalf of the students To ensure that Submission of Students bookings at tutors are able to student wrong make booking at details to RTSA RTSA on behalf RTSA of the students only with correct details Driving School, RTSA and System Admin Functions Ensure only Correct Driving Username and School Login authorized users(Driving Password school managers) can use the Driving school web interface Ensure only Correct RTSA Login authorized Username and users(RTSA Password employee) can use the RTSA web interface User Login 69 | P a g e window User account User account PASS menu is menu is displayed displayed Login Error Login Error pop PASS pop up up message is message is displayed displayed Confirmation of application is sent to the student. Confirmation of booking. Confirmation of PASS application is sent to the student. Confirmation of PASS booking. Fail message Fail message PASS displayed displayed Driving Driving School PASS School Profile Profile Page Page RTSA Profile RTSA Page Page Profile PASS System Admin Login Ensure only Correct authorized users Username and can use the Password DSAZ (admin) Web interface DSAZ Admin DSAZAdmin Page Page PASS 8.3 Summary This chapter has explained the types of tests done on the system and the purpose of the tests. It further on showed how the tests were done using a table which displayed the functionality of the proposed system and the test results. The next chapter looks at the Social Legal and ethical issues that come with the implementation of the new application. 9. LEGAL, ETHICAL, PROFESSIONAL AND SOCIAL ISSUES 9.1 Introduction In order to develop a very effective system that will work to the benefit and safety of all its users, we will have to take into consideration a number of issues that are likely to arise as a result of the existence of the system. This chapter will review such factors or issues as the ethical, social, legal and professional issues that would affect the development and implementation of the Online Driving School Registration, Driver’s License Application and Road Accidents Reporting System. 9.2 Legal Issues Online Driving School Registration, Driver’s License Application and Road Accidents Reporting System will require the users to submit confidential information such as passwords, residential address, background and information of relatives. This information held by the system is supposed to be kept safely and is not supposed to be disclosed to anyone without the concern of the owners of the information. According to ACT 13 of 2004 section 9 of the laws of Zambia, it is a crime to disclose or possess information without the consent of the owners of the information. Therefore, the breach of privacy and may lead to legal action being taken. 70 | P a g e 9.3 Social Issues It is human nature to resist change. People are used to the physical way of applying for licenses at RTSA. It will be a challenge to get all the users at RTSA to like the system because it will reduce or eliminate the aspect of corruption. Implementing this system will result to people who are applying for licenses to not be getting their licenses illegally at RTSA. Currently some people opt to bribe the instructors at RTSA to get licenses without having to go through a driving school. To counter this, a lot of public awareness on the benefits of going through driving schools in order to obtain a license will have to be made. Possibly, making it a requirement that people would only obtain drivers’ licenses only if they went through training at a driving school would really help reduce the resistance from the public. 9.4 Ethical Issues The information that will be captured in this system is about driving schools and their students. This information captured into the system always has to be accurate and correct. This will give people confidence in the system and the information they receive. One of the ways to ensure data integrity is to include validation in all the forms or fields that require data input from users. Correct data types and formats were vital in designing the system. 9.4. Professional issues With a system that deals with providing the public access to choose a school of their choice, it is very important that this information about the registered schools is presented in an accurate and non-biased way. This would bring in a level of professionalism that would benefit both the driving schools and consumers and also provide a good reputation about the platform. 9.6 Summary This chapter reviewed the different issues that affect the implementation of the system and how some of these problems must be handled. The issues addressed in this chapter were specific to this project. These issues must be seriously reviewed and the correct measures must be put in 71 | P a g e place if the proposed system is to be successfully set up and be accepted by the users and the stakeholders. The next chapter summarizes the information presented by the different chapters in this document 10. SUMMARY AND PRESENTATION OF RESULTS 10.1. Introduction This is a summary chapter for all that has been covered in all the chapters of this document including the results or conclusions achieved for the chapters. 10.2. Chapter Summary and results The following sections give an overview of each chapter’s results. 10.2.1. Chapter 1 Introduction Chapter one is an introduction to Driving Schools Association of Zambia, Driving schools and the process of attaining a driver’s license in Zambia. It stipulates the challenges that the organizations in the road service industry face and how difficult it is to legally obtain a drivers licenses. It also explains how difficult the public finds it to know the legally registered driving schools when they are looking for schools to do their driving lessons from. The chapter gives reasons why a there is need to carry out this project, it also states the scope, aim, objectives of the project and the road map of the report. 10.2.2. Chapter 2 Literature review Chapter 2 described the Online Driving School Registration, Driver’s License Application and Road Accidents Reporting System, the involved parties and its components. It also describes the 72 | P a g e technologies used in the development of the proposed system as well as reviewing their weakness and strengths. It was a basic research which was done during the project in order to have a better understanding of the Online Driving School Registration, Driver’s License Application and Road Accidents Reporting System. 10.2.3. Chapter 3 Objectives, Activities and methods The chapter talked about the objectives and activities of the project. It also explored the different methods to be used in order to carry out these activities. As the activities were conducted, the results achieved under each of the methods were also outlined. 10.2.4. Chapter 4 Review of other systems This chapter investigated other systems of the same nature that are implemented elsewhere. The main reason for this activity was to help in revealing the features that could be included in the proposed system. The main features and areas of the other systems that were accessed are the Navigation, usability, main functionality and the appearance of the systems. 10.2.5. Chapter 5 Requirements Analysis This chapter was mainly focused of the requirements of the proposed system. It looked at both the functional and non-functional requirements of the system and described them in detail according to the type of user. Use case diagrams were also used in the chapter to further more explain and illustrate the requirements of each user type 73 | P a g e 10.2.6. Chapter 6 Design The different models that were used in the design of the final system were described in this chapter based on the requirements that were described in chapter 5. The different types of design models that were used in this chapter are the as relational database model, conceptual schema, and the flow chart. A site map and the interface of the system were also provided. The interface design showed the physical appearance of the system and the forms used for the capturing of data. At the end of the chapter, a design specification was achieved. 10.2.7. Chapter 7 Development Chapter 7 outlined the activities involved in the development of the project. Samples of the code used in the system, the features and the architecture of the system were also included in the chapter. An overview of the technology used to develop the system and how they were applied were also explained in the chapter. 10.2.8. Chapter 8 Testing This chapter demonstrated the tests that were conducted. It explained the types of testing, the reasons for the tests and their outcomes so as to ensure that the system had met the customer requirements. 10.2.9. Chapter 9 Legal, Ethical, Social and professional issues The chapter outlined the legal, ethical, social and professional issues that affected the implementation of this specific project. 74 | P a g e 10.3. Summary Each of the chapters had a specific goal and provided details of the project according to the stage at which the project was it that given time. These chapters helped in producing a workable, userfriendly, secure system that met the user requirements. The documentation also considered factors that would affect the system such as the legal, ethical and professional issues. 11. Conclusion 11.1. Introduction This chapter provides an evaluation of the final product. It also brings to light the challenges faced and lessons learnt during the whole process from start to end as well as a number of recommendations for the future. 11.2. Project Management The project was carefully planned by dividing it into a number of phases. All the phases had summed up to giving one unique and complete product. In this case all of the phases had to be managed and measured against time and resources. I had to make sure that each phase was completed on time in order for the project to meet its deadline. To help me meet my target, I used Microsoft project tool to plan my project. 11.3. Product Evaluation The end product had a simple and friendly user interface that is so self-explanatory to the users. The pages are responsive and fit the screen of whichever device regardless of browser is being used. The system uses the resources of the server and the client device efficiently. The system has a login functionality which helps to secure and protect every user’s information from unauthorized users. The system was able to achieve its goals and the requirements. 75 | P a g e 11.4. Lessons Learnt The entire project has taught me that there is more to developing a system than just programming. I have learnt that for a system to become effective there is need to carry out massive research and to involve the users of the system. System development involves working around user requirements and taking into consideration the problem at hand. Documenting each and every activity also helps to keep the developer of the system on track and not end up working on irrelevant items on the system. 11.5. Challenges There were a number of challenges I faced during the project i.e. the distances I had to move to meet the president of DSAZ and the Station manager of RTSA Premium house. At times the appointments would conflict I would only end up meeting one of the two people. Being the only person in my department at work, I would have challenges working on my project due to the massive amounts of work and the trips out of town I had to make. The other challenge was to do with many restrictions on access to the information that was so vital in the project from the organizations were I was carrying out my research on. . 11.6. Future recommendations To enhance the system further, I would recommend adding some more features such as lesson scheduling on the driving school side, online payments and a component to show the blacklisted schools 11.7. Summary It was an interesting task that seemed impossible at some point until I started to apply the principles i had learned. It helped me to practically apply all that I have learned in the whole computing program. There are many things that were implemented and other things that would have even been done better. I put in my best to see to it that the project was at its best. 76 | P a g e REFERENCE Books Ballard P., Moncur M . Sams Teach Yourself Ajax, JavaScript and PHP all in one (2009), Sams Publishing, Indianapolis, Indiana, USA Bennett S., McRobb S. & Farmer R. (2005). Object-Oriented System Analysis And Design using UML, McGraw-Hill Education, Berkshire, England. Connolly, T., Begg, C. (2005) Database Systems: A Practical Approach to Design, Implementation, and Management. 4th edn. England: Pearson Education Limited. DSDM Consortium (2010) The DSDM Student Workbook: a guide to the definitive Agile framework. Cheshire: Galatea Training Services Limited. Robbins J. N. Web Design in a Nutshell 3rd Edition (2006), O’Reilly Media Inc., Sebastopol, CA95472 Richards, K. (2010) Agile Project Management: Intergrating DSDM Atern into existing Prince2 environment. Bristal Websites BCS(2010) BCS Code of Conduct. Available from http://www.bcs.org/content/conWebDoc/36606 [Accessed on 4th November 2014 ( http://php.net/manual/en/intro-whatis.php) http://davidfrico.com/rico07 Date accessed (12/03/2016) http://www.w3schools.com/html/html_intro.asp Date accessed (12/03/2016) http://mashable.com/2014/01/21/learn-programming-languages/ Date accessed (15/03/2016) 77 | P a g e Appendix A: Project Proposal Appendix A – Model Diagrams Figure 18;Administrators use case diagram (DSAZ) Approve / disapprove application Create user View user Register Driving School Deregister Driving School View Message Delete user 78 | P a g e LOGIN View Report s Actor: Administrator Precondition: Should be logged in and must be admin Post condition: User must be able to perform the following functions. Table 12; Administrator inputs, events and response Input Events from Finance Staff Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct and Administrator menu is displayed 79 | P a g e Figure 19;rtsa use case Approve / disapprove bookings for tests LOGIN ENTER RECORDS OF ROAD ACCIDENTS READ AND SEND MESSAGES 80 | P a g e Actor: RTSA Precondition: Should be logged in and must be a RTSA employee Post condition: User must be able to approve / disapprove bookings for tests. Table 13; RTSA inputs, events and response Input Events from Finance Staff Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct the RTSA menu is displayed 81 | P a g e Figure 20; driving school use case Approve / disapprove application from Student Assign an instructor to a student LOGIN View students training progress Interact with Students View Student report from RTSA 82 | P a g e Actor: Driving School Manager Precondition: Should be logged in and must be a driving school manager Post condition: User must be able to view students Table 14; Driving School inputs, events and response Input Events from Finance Staff Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct the driving school managers menu is displayed 83 | P a g e Figure 21; Instructor Use case View students assigned to instructor LOGIN Make bookings for tests at RTSA for the students View whether or not a student has been awarded license or not Interact with the students assigned to instructor 84 | P a g e Actor: Instructor Precondition: Should be logged in and must be an instructor Post condition: User must be able to view students assigned to him/her Table 15; Instructors inputs, events and response Input Events from Finance Staff Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct the Instructor menu is displayed 85 | P a g e Figure 22; Student use case Apply to a driving school of choice LOGIN View status of the RTSA bookings made on behalf of them by their instructor View & Interact with instructor and driving school manager 86 | P a g e Actor: Student Precondition: Should be logged in and must be a student Post condition: User must be able to apply to a school of choice, Table 16; Administrator inputs, events and response . Input Events from Student Login System Events and Response System login form and prompts the user to enter a valid username and password. User enters valid username and password and System validates details entered using submits existing user information stored in the database. Access is granted if the details are correct and Students menu is displayed 87 | P a g e Figure 23; Public use case Apply to be a student Apply to be an Instructor Create an account Apply to be a driving school Enter details such as email address Browse through the messages meant for the public to view Blog 88 | P a g e Table 17; Administrator inputs, events and response Input Events from Finance Staff System Events and Response Enter email address System input form prompts the user to enter an email address and name User enters email and submits System allows user to post a message User navigates to account registration and System registration form and prompts the user enters valid details to enter valid information to create an account. The user can choose to apply as a student to a The system provides a form that allows a user school of their choice or to as a Driving to enter details of registration for the user type school owner they want. (Driving school owner, Instructor or student) Appendix B Minutes of Meetings Appendix C: Current Online Presences Appendix D Sample Code Database connection <?php $server='localhost'; $username='root'; $password=''; $database='zdsa'; #Connect to the MySQL Server $MySQLcon=mysqli_connect($server,$username,$password) or die("Cannot Connect to MySQL Server. This is due to invalid host name Defined"); 89 | P a g e #Select Database from Server mysqli_select_db($MySQLcon,$database) or die("Could not select the Database Name: ".'[ '.$database.' ]'." Specified... No such Database Name found on the MySQL Server"); ?> Log in code #SOURCE CODES FOR LOGIN TO THE SYSTEM --------------------------------------------------case "login": $username=$_POST['username']; $password=$_POST['password']; $query=mysqli_query($MySQLcon,"Select*from Users WHERE Username='$username' and Password='$password'"); $rows=mysqli_num_rows($query); if($rows==0){ $errorMessage='Invalid Username or Password Supplied.. Please Enter Correct Login Details and then Try Again Later!'; } else{ $errorMessage=''; $dr=mysqli_fetch_assoc($query); $userid=$dr['UserID']; $usertype=$dr['Usertype']; $_SESSION['userid']=$userid; $_SESSION['usertype']=$usertype; $_SESSION['username']=$dr['Username']; $_SESSION['password']=$dr['Password']; #System User ACCESS LEVELS switch($usertype){ case "Association Secretary": header("location: Administrator/"); exit; case "RTSA": header("location: RTSA/"); exit; case "Driving School": $query=mysqli_query($MySQLcon,"Select*from DrivingSchools WHERE UserID='$userid'"); $dr=mysqli_fetch_assoc($query); $_SESSION['schoolid']=$dr['SchoolID']; $_SESSION['schoolname']=$dr['SchoolName']; header("location: Driving School/"); exit; case "Instructor": $query=mysqli_query($MySQLcon,"Select*from Instructors WHERE UserID='$userid'"); 90 | P a g e $dr=mysqli_fetch_assoc($query); $_SESSION['instructorid']=$dr['InstructorID']; $_SESSION['schoolid']=$dr['SchoolID']; $_SESSION['fullname']=$dr['FirstName'].' '.$dr['Surname']; header("location: Instructor/"); exit; case "Public": $query=mysqli_query($MySQLcon,"Select*from Applicants WHERE UserID='$userid'"); $dr=mysqli_fetch_assoc($query); $_SESSION['applicantid']=$dr['ApplicantID']; $_SESSION['fullname']=$dr['FirstName'].' '.$dr['Surname']; $_SESSION['email']=$dr['Email']; header("location: Public/"); exit; } #END System Access Levels exit; } # END --------------------------------------------------------------------------------- Creating a Driving School #SOURCE CODES FOR CREATING NEW DRIVING SCHOOL -------------------------------------------------------------------------case "savedrivingschool": $userid=$_POST['userid']; $usertype='Driving School'; $username=$_POST['username']; $password=$_POST['password']; $confirm=$_POST['confirm']; $schoolname=$_POST['schoolname']; $address=$_POST['address']; $phonenumber=$_POST['phonenumber']; $email=$_POST['email']; $website=$_POST['website']; $da=mysqli_query($MySQLcon,"Select*from DrivingSchools WHERE SchoolName='$schoolname'"); $rows=mysqli_num_rows($da); if($rows>0){ $errorMessage="This School Name: "."[ ".$schoolname." ] ..Is Already Registered with Zambian Driving School Assocciation"; } else{ $da=mysqli_query($MySQLcon,"Select*from Users WHERE Username='$username'"); 91 | P a g e $rows=mysqli_num_rows($da); if($rows>0){ $errorMessage="Username Already Taken by Someone else.. Try Another!!!"; } elseif($confirm!=$password){ $errorMessage="Confirmed Password is not the Same as the New Password"; } else{ mysqli_query($MySQLcon,"Insert Into DrivingSchools(UserID,SchoolName,Address,PhoneNumber,Email,Website) VALUES('$userid','$schoolname','$address','$phonenumber','$email','$website')"); $code=rand(255,99999); mysqli_query($MySQLcon,"Insert Into Users(UserID,Username,Password,Usertype,Code,Status) VALUES('$userid','$username','$password','$usertype','".$code."','Activated')"); mysqli_query($MySQLcon,"Delete from ReservedKeys WHERE UserID='$userid'"); $errorMessage=''; echo '<script language="javascript">alert("Driving School Account Created Successfully");window.location="Administrator/ViewSchools.php";</script>'; exit; } } # END ------------------------------------------------------------------------------------------ Creating an Instructor #SOURCE CODES FOR CREATING NEW DRIVING SCHOOL INSTRUCTOR ---------------------------------------------case "saveinstructor": $userid=$_POST['userid']; $usertype='Instructor'; $username=$_POST['username']; $password=$_POST['password']; $confirm=$_POST['confirm']; $schoolname=$_POST['schoolname']; $firstname=$_POST['firstname']; $surname=$_POST['surname']; $gender=$_POST['gender']; $address=$_POST['address']; $phonenumber=$_POST['phonenumber']; $email=$_POST['email']; 92 | P a g e $da=mysqli_query($MySQLcon,"Select*from DrivingSchools WHERE SchoolName='$schoolname'"); $rs=mysqli_fetch_assoc($da); $schoolid=$schoolname;//$rs['SchoolID']; $da=mysqli_query($MySQLcon,"Select*from Users WHERE Username='$username'"); $rows=mysqli_num_rows($da); if($rows>0){ $errorMessage="Username Already Taken by Someone else.. Try Another!!!"; } elseif($confirm!=$password){ $errorMessage="Confirmed Password is not the Same as the New Password"; } else{ mysqli_query($MySQLcon,"Insert Into Instructors(SchoolID,UserID,FirstName,Surname,Gender,Address,PhoneNumber,Email) VALUES('$schoolid','$userid','$firstname','$surname','$gender','$address','$phonenumber','$email')"); $code=rand(255,99999); mysqli_query($MySQLcon,"Insert Into Users(UserID,Username,Password,Usertype,Code,Status) VALUES('$userid','$username','$password','$usertype','".$code."','Activated')"); mysqli_query($MySQLcon,"Delete from ReservedKeys WHERE UserID='$userid'"); $errorMessage=''; echo '<script language="javascript">alert("Instructor Account Created Successfully");window.location="Administrator/ViewInstructors.php";</script>'; exit; } # END ----------------------------------------------------------------------------------------------------------- Appendix E Screen Shots Figure 24; welcome page for system 93 | P a g e Figure 25; login page 94 | P a g e Figure 26; wrong details entered Figure 27; admin home page 95 | P a g e Figure 28; Create user Figure 29;View user 96 | P a g e Figure 30; Create Driving School Figure 31; View Driving School 97 | P a g e Figure 32;Create Instructor Figure 33; Feedback 98 | P a g e Figure 34; Reports 99 | P a g e