Sunteți pe pagina 1din 106

COMPUTER SCIENCE PROJECT I

DECLARATION
I hereby sincerely declare that this project is my original work and has never been submitted for the award of Bachelor of Science in Computer Science degree or any other Certificate in any institution of higher learning or any institution approved by the Ministry of Higher Education, Science and Technology.

MR. MWAKIDOSHI S. MWAMBEKE

Sign: .

Date_____/____/2011.

This project has been submitted for the examination and as per the requirement of Computer Science Project 1 (COM 311)course with the Approval of my Supervisor.

DR. MUSEMBI (SUPERVISOR.)

Sign..

Date: ____/_____/2011.

No part of this publication may be reproduced or retransmitted in any form or by any means including photocopying, recording or any information storage or retrieval system, without prior permission from the author.

Mwakidoshi S. Mwambeke Copyright @2011 {All rights reserved.}

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 1

COMPUTER SCIENCE PROJECT I

DEDICATION
To my beloved parents, brothers and sisters for all your love and support, in every sphere possible, to me as I traverse the career mountain towards its highest pinnacle.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 2

COMPUTER SCIENCE PROJECT I

PREFACE
Online PSV Booking Management System is a web-based application system which is divided into two parts: Public Area and Staff Area. The Public Area is the part that customers/passengers of the Bus Company use to book their bus seats for their preferred journey. They will be able to do this by visiting the companys website and then click on the Booking link. And then, feed in the details as required. The Staff Area is the part that companys owners and employees use to manage the system once they are authenticated. The extend of management of the system by the authenticated user depends on the users access privilege.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 3

COMPUTER SCIENCE PROJECT I

ACKNOWLEDGMENTS
Thanks to everybody who helped make this project possible, both directly and indirectly.

To my project supervisor, Dr. Musembi, for guiding me through the project process phases. Also, he was my Database Systems lecturer who imparted in me SQL knowledge that greatly contributed to the development of this project.

To my HTML and PHP lecturer, Mr. Rotich , for the knowledge imparted which also greatly contributed to this project development.

To my Software Engineering I lecturer, Dr. Z. M. Mapelu, and Software Engineering II lecturer, Mrs. Siele, also for the knowledge imparted which greatly contributed to the successfully development of this project.

To my Software Development lecturer, Mr. ShadrackMetto, for the development concept he imparted on me that made this project development a success.

To my Procedural Programming lecturer, Mr. Tarus, for the programming concepts of which I greatly utilized during this project development.

To my project co-coordinator, Mr. Kogo, for the ideas he gave me for the project documentation format and how to precisely and concisely write its content.

To my friends and colleagues especially one Mr. Tom Mwenda for providing encouragement and feedback throughout the project process.

And lastly, thanks to my parents for their financial support and motivation as I developed the project.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 4

COMPUTER SCIENCE PROJECT I

ABSTRACT
The adoption of World Wide Web (WWW) has made the use of Internet,as an appreciable way of communication and sharing resources, very reliable. Nowadays, services over the Internet have been greatly embraced due to convenience and faster access of the services unlike the manual process. This has led to the development of web-based applications. Objectives of the Online PSV Booking Management System is to improve efficiency and effectiveness during seat booking process by the customers, to efficiently and effectively manage and administer all companys records and to schedule companys employees. The public part of the Online PSV Booking Management System offers customers capability to book their bus seats online and then the system auto generates provisional tickets. On the staff part of the system, companys owners and employees use to manage the system once they are authenticated and also generate relevant reports. Very few Public Service Vehicles Companies offer online seat booking process. Online PSV Booking Management Systems are however, still very expensive in Kenya and thus, the need for cheaply and locally produced systems so as to replace the expensive systems from the developed countries which are only affordable to a few local PSV companies.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 5

COMPUTER SCIENCE PROJECT I

CHAPTER 1:INTRODUCTION
1.0 INTRODUCTION
Problem definition identifies the specific problem to be solved.

1.1 PROBLEM STATEMENT


Most PSV (Passenger Service Vehicle) companies use a manual system or standalone system of booking seats for both their employees and their passengers.

This manual system/stand alone system is inefficient, ineffective, unreliable and inconvenient since it requires passengers to go physically to the booking office. They may even find queue which may inconvenience them. Sometimes, they may even find that the seats for their specified journey are all booked hence wasting their time going to the booking office.

In addition, the manual systems/stand alone systems makes the booking offices overcrowded due to the reason that there is only one option to book a seat. This option is seat-booking at the booking offices. Hence, all of their passengers would have to go to their booking offices.

Furthermore, the management of the booking records by the companys employees can only be done at the companys offices. This means that, one cannot do his/her duties outside the office. Also, a lot of paper work is encountered when using the manual system. Hence, records are stored in paper files which are difficult to deal with when retrieving a desired record, paper files occupy large space and they are also more vulnerable to natural calamities such as fire. Clerks may also cause double booking erroneously.

Due to the above stated problems associated with manual system/standalone system, there is much need to come up with anonline-based system whereby much of the booking process will be done online. In this type of system, passengers will have to book for their seats anywhere provided theres Internet connectivity and the Online PSV Booking Management System is available. On the other hand, the PSV Companys employees and owners will also be able to ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 6

COMPUTER SCIENCE PROJECT I

do their managerial and administrative duties online hence more convenient.Double booking will be unable to occur due to the higher degree of accuracy of the web-based system.

1.2 JUSTIFICATION OF AN ONLINE-BASED SYSTEM


The Web-based System would increase the efficiency of customer service hence it will attract a very good number of passengers due to the conveniences it will offer to the passengers.

The passengers will be able to book for their seats online hence no need to go physically to the booking office and therefore overcrowding at the offices will be greatly reduced. To add on this, security problems that would otherwise be caused by congestion of customers at the booking offices will be reduced.

The system will offer better management of records since the management process can be done even outside the companys premises. This is achievable especially when one is at home but needs to do some administrative duties hence he will have to accomplish what he/she wants online.

The system will also save time since it will offer faster services to both the companys staff and passengers.

Moreover, it is cost effective since the company will require only a few numbers of employees to handle booking process, and also web-based system makes it possible to share resources since only one server will be required.

Furthermore, there is presence of centralized database whereby authorized individuals can retrieve their desired information reliably and efficiently

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 7

COMPUTER SCIENCE PROJECT I

1.3 SCOPE AND CONTEXT OF THE PROJECT


The system is purely designed using PHP (server-side programming language), MySQL (Database System) and JavaScript (client-side scripting language). Due to this fact, it is meant to be accessed through most of the popular Internet browsers. But this system will render well when one uses Mozilla Firefox as compared to other browsers. The system will enable the bus companys passengers to book for their bus seats online. Moreover, the staff of the company will be able to manage and administer their duties related to the journey activities online. Benefits of the system i. Seat booking process done by the passengers will be convenient since they will be able to book seats online hence no need to go physically to the booking office. ii. Double booking will be avoided due to the accuracy of the system. Booking process will be error free. iii. Booking records will be able to be retrieved as desired at a faster rate due to the random filing system which is located at the hard disk iv. Congestion at the booking office will be greatly reduced since many passengers may prefer online services. v. Companys staff members will be able to perform their duties related to journey activities online hence they can work outside their offices.

Goals of the system To increase the efficiency of passenger/customer service at the Simba Coach Bus Limited Company. To minimize congestion at the booking offices. To improve the effectiveness and efficiency of the duties performed by the companys employees. To avoid double-booking. To minimize greatly paper work hence making the offices presentable due to lack of old paper files that may be on the shelves, tables, etc.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 8

COMPUTER SCIENCE PROJECT I

1.4 CONSTRAINTS OF THE PROJECT


The Online PSV Booking Management System was meant to offer much functions but it was limited to the functions stipulated in the Scope and Context of the Project section due to the following constraints: i. Knowledge constraint:- The development of a very good web based system which will be more reliable, efficient and effective calls for an exhaustive use of: a) Server-side programming languages (e.g. PHP) b) Client-side scripting languages (e.g. JavaScript, VBScript) c) Asynchronous scripting language (Ajax) d) Extensible Markup Language XML) e) JQuery But due to lack of enough time, I couldnt manage to get much of the understanding to some of them hence lack of enough skills made the scope of the system as described in section 2.3 above to be smaller than desired.

ii.

Resource constraint: - Due to lack of enough Internet connectivity and some other relevant sources of information, research on how to come up with a competitive system was greatly limited. Also I could not easily download relevant codes and e-books due the same reason. Furthermore, lack of relevant Computer Aided Software Engineering (CASE) tools made the development process of the system difficulty hence leading to a minimized scope of the system.

iii.

Cost constraint: -Due to lack of enough funds, to cater for the cost of downloading from the Internet free relevant resources such as web servers (e.g. xampp, wamp), tutorials, and other software packages such as MS Project. This greatly led to lack of relevant materials and hence the scope of the project had to be reduced to its current size as stipulated in section 2.3 above.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 9

COMPUTER SCIENCE PROJECT I

iv.

System complexity constraint: - Due to the highly required performance and reliability, functionalities which are very complex were needed to be implemented. This implementation could not take place due to the lack of enough technical skills and knowledge.

v.

Time constraint: - Since the whole system development process was supposed to be carried out by me only, a time period of one semester (equivalent to 16 weeks) could to be sufficient enough to come up with a highly proficiently system.

1.5SOLUTIONSTRATEGY
1.5.1 Solution Strategies There are several strategies that may be used to solve the PSV Booking Management System. The strategies are as follows: Online-based system: -This is a system of which customers/passengers use to book
their bus seats online. Therefore, they will not have to go to the booking office. Booking of the seats can be done anywhere provided there is connection to the Internet and the services are available. Also, the companys employees can manage and administer their job processes online anywhere (at home, at office, etc.).  Stand alone system: - This is a system of which customers/passengers will have to go to the bus booking office so as to book their seats. Also, the staff personnel can only do their duties at the office only since thats where the system will be located.

To select the best strategy, a feasibility study was carried out on each strategy and evaluated in terms of economic, operational, technical and time constraints as described in the following section.

1.5.2 Feasibility Study


Feasibility study on solution strategies refers to the process of assessing the strategies and finding out the best strategy which will be the most useful among others. After an exhaustive study, the Feasibility Study Analysis Tablewas drawn as shown in section 1.2.3.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 10

COMPUTER SCIENCE PROJECT I

Now, am going to show how I carried out the feasibility study on each strategy and then drawing the Feasibility Study Analysis Table based on the feasibility study results.

1.5.2.1 Feasibility Study on the Online-based System

i.

Economic Feasibility

Economical feasibility determines whether there are sufficientbenefits in creating to make the cost acceptable, or is the cost of the system too high. As this signifiescost-benefit analysis and savings.
Anonline-based system requires a web server and additional hardware such as connection cables, hubs et cetera. This requires much funding so as to achieve the required Internet connectivity. On the other hand, online-based system makes possible a reliable, efficient and effective sharing of resources and information, and centralized administration hence the system is cheaper.

On the behalf of thecost-benefit analysis, the proposed system is feasible and is economical regardingits pre-assumed cost for making a system.
ii. Operational Feasibility

Operational feasibility criteria measure the urgency of the problem(survey and study phases) or the acceptability of a solution (selection, acquisition and design phases). So, this system would be operational feasible.
iii. Technical Feasibility

Technical feasibility determines whether the work for the project canbe done with the existing equipment, software technology and availablepersonnel. Technical feasibility is concerned with specifying equipment and software that will satisfy the user requirement.Technical components installed on the system.The proposed system can run onany machines supporting Internet services and works on the bestsoftware and hardware that had been used while designing the system so it wouldbe feasible in all technical terms of feasibility.

vi.

Time Feasibility Time feasibility is realized since the system is small in size hence the time frame of three (3) months allocated for development is appropriately enough.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 11

COMPUTER SCIENCE PROJECT I

1.5.2.2 Feasibility Study on the Stand Alone System


i. Economic feasibility It does not require interconnectivity of devices and hence cheaper than the web-based system. Unfortunately, it is not economically feasible since it does not provide the mechanisms for sharing information and resources. ii. Operational feasibility The customers/passengers tend not to acknowledge the stand alone system because they will still have to visit booking offices and sometimes even make a queue in order to book a seat. This is just the same what they do to the manual system. Due to this reason, it is found to be not operational feasible. iii. Technical feasibility Since the system is small in size and I have the technical know how for developing and maintaining the system, it is found to be technically feasible. iv. Time feasibility Time feasibility is realized since the system is small in size hence the time frame of three (3) months allocated for development is appropriately enough.

1.5.3Choice of the Best Strategy The feasibility study carried out as shown in the above section 2.2 helped in identifying the best strategy. After the study, I decided to draw a Feasibility Study Analysis Table whereby the constraints stated in section 2.2 were weighted as per each strategy. The range of constraint weight was from 1 to 10whereby: Constraint weight 1 makes the associated strategy to be highly recommended Constraint weight 10 makes the associated strategy to be lowly recommended Therefore, the highest recommendation for use of the strategy to lowest recommendation starts from constraint weight 1 then 2 followed by 3, incremented by one until the last constraint weight 10. 1.5.4 Feasibility Study Analysis Table The Feasibility Study Analysis Table CONSTRAINTS Operational Technical Time Resource Knowledge Total Weight Page 12

STRATEGIES

Cost

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

COMPUTER SCIENCE PROJECT I

Online-based Stand-alone

3 4

2 6

4 2

6 5

2 4

1 3

18 24

From the above feasibility study analysis table, Online-based strategy has the least total weight and so it was the best recommended strategy. Therefore, the system that was found to be the best recommended was developed. This system is an online-based system.

Further, the online-based system has also different strategies that can be used for its development. These strategies are: -

STRATEGIES Programming Language Database System Platform 1 2 PHP VB MySQL MS Access

Interface

MS Windows Graphical MS Windows Graphical

Aftera thorough feasibility study on the above two strategies, a feasibility study analysis table was drawn as shown below: -

STRATEGIES

Cost

1 2

2 2

CONSTRAINTS Operational Technical Time Resource Knowledge Total Weight 20 3 3 5 4 3

22

From the above feasibility study analysis table, strategy 1 has the least total weight and so it was the best recommended strategy which was then used.

1.6 LIST OF PRIORITIES FOR PRODUCT CHARACTERISTICS


ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 13

COMPUTER SCIENCE PROJECT I

Normal product characteristics The following are the normal product characteristics which are meant to satisfy the customer. y Graphical user interface(GUI) y Storage of information i.e. database. Expected product characteristics These characteristics are implicit to the product. The following are some of them:y y y y Data Entry Forms. Submit Buttons HyperLinks to other documents Login for security reasons.

Exciting or aesthetical characteristics These characteristics go beyond the customers expectations. The following are some of them for this product:y Moving background pictures. y Friendly error reports

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 14

COMPUTER SCIENCE PROJECT I

CHAPTER 2: LITERATURE REVIEW


Many systems were created that were some how related to this system (Online PSV Booking Management System) I have developed. The major differences being that I managed to develop a system with more functionality i.e. the companys employees can now perform their formal duties online, also generation of journey reports and financial report for the specified journey will be able to be performed online. Moreover online administrative duties are enhanced and made more reliable, effective and efficient.

The somehow-related systems that were previously developed include the following:Peter Morris (1999),Bus Booking System, Stanford University, USA The Bus Booking System that was developed by Peter Morris in the year 1999 while being a student at Stanford University, USA, was a standalone system which was intended to only improve efficiency in keeping the booking records in a computerized manner. The passengers still had to go physically to the booking offices. The only differences between the manual system and Peter Morris system are that record keeping is computerized and passengers details are fed into the computer and then a ticket is generated and printed out after fare payment. The managerial and administrative journey duties were still left to be done manual.

Evelyn Tammy (2002),Bus Reservation System,Massachusetts Institute of Technology, USA The Bus Reservation System developed by Evelyn Tammy is a web-based system. It is mainly intended to make booking process efficient and convenient since passengers can book for their seats online. This made no need of passengers going physically to the booking offices to

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 15

COMPUTER SCIENCE PROJECT I

reserve bus seats for their journey. However, payment was still to be made at the booking offices before the stipulated deadline. The managerial and administrative journey duties were still left to be done manual but computerized record keeping of reservations was made possible. Presently, among others, Modern Bus OnlineBus Reservation System (www.moderncoast.co.ke), after a thorough consultation with some of their IT staff members, I found out that the system only support online seat reservation but cannot offer online administrative duties like managing passengers payment details and even add/update/view/delete journey details.

After I had critically analyzed the previous and current systems that are somehow related to the system I desired to develop, I decided to come up with my system (Online PSV Booking Management System) which will have more functionality as compared to the previous ones. So, in addition to improving online seat booking process by adding a functionality whereby a passenger will be able to regenerate his/her bus ticket in case the ticket got lost (but this will require that the passenger remembers his/her ticket number), I decided also to make the bus companys managerial and administrative duties to be done online. Thus, in my system: Administrators can perform online duties such as the following: (i) Add/remove system users. (ii) Generate Financial Report (iii)Generate journey reports

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 16

COMPUTER SCIENCE PROJECT I

(iv) Manage system contents on the public area (where passengers visit so as to book their seats). (v) Add/update/remove/view journey details and conditions for travelling. (vi) Add/update/remove/view staff privileges and details. (vii) Manage passengers payment details.

Company clerks can perform only one duty which is also done online. This duty is:  Manage passengers payment details.

However, my system lacks a functionality whereby passengers could pay for their tickets online. This was as a result of lack of enough knowledge and skills, currently, to implement it. I therefore, highly recommend myself or other developers to implement, in the very near future, this missing functionality.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 17

COMPUTER SCIENCE PROJECT I

CHAPTER 3: METHODOLOGY
3.0 INTRODUCTION
Software engineering is the practice of using selected process techniques to improve the quality of a software development effort. This is based on the assumption, subject to endless debate and supported by patient experience, that a methodical approach to software development results in fewer defects and, therefore, ultimately provides shorter delivery times and better value.

A methodology is a standard process followed to conduct all the steps necessary to analyse, design and maintain information systems.

There are a number of software development methodologies, but the ones I have learnt so far include:i. ii. iii. iv. v. Systems Development Life Cycle (SDLC) Structured Systems Analysis and Design Method (SSADM) Object Oriented Analysis And Design OOAD) The Prototype Model The Incremental Model

3.1 BRIEF DESCRIPTION OF EACH METHODOLOGY


i. Systems Development Life Cycle (SDLC): - This is a common methodology for systems development in many organizations and is consistent with management approaches. This approach is sometimes called waterfall model since the progress is seen as flowing steadily downwards (like a waterfall) through the phases of Project Identification & Planning, Feasibility Study, Analysis, Design, Implementation, Testing and Maintenance. ii. Structured Systems Analysis and Design Method (SSADM): - This was developed so as to address problems that SDLC faced. They made analysis and design through the use of tools such as Data Flow Diagrams (DFD) and Transform Analysis. ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 18

COMPUTER SCIENCE PROJECT I

SSADM makes it easier to go back to earlier phases in the life cycle when necessary. Theres portioning the problem into smaller units and making distinction between physical and logical design.It is also referred to as awaterfall method for the production of an Information System design. SSADM can be thought to represent a pinnacle of the rigorous document-led approach to system design. iii. Object Oriented Analysis And Design: - This refers to a process-oriented and dataoriented approach. It combines data and processes as a single entity called an object. Unified Modeling Language (UML) is used in standard OOAD. iv. The Prototype Model: - This involves producing a mock-up or model of the software product. The prototype is presented to customers to demonstrate the proposed behavior. v. The Incremental Model: - This is a variation of prototyping where a minimal subset of the whole product is delivered and then the process is continued throughout the products life cycle. Other methodologies include:      Rapid Application Development (RAD) model A sequential software engineering methodology A cyclical Software Engineering methodology The Boehm-Spiral Software Engineering methodology The waterSluice Software Engineering Methodology

3.2 CHOICE OF METHODOLOGY


Since I clearly understood the user requirements of Online PSV Booking Management System, I only decided to choose between Systems Development Life Cycle (SDLC) and Structured Systems Analysis and Design Method (SSADM).

I eventually ruled out the use of SSADM on the basis that the size of SSADM is a big hindrance to using it in all circumstances. Moreover, there was limited time to learn all of its relevant concepts since the learning curve is considerable as not only are there several modeling techniques to come to terms with, but there are also a lot of standards for the preparation and presentation of documents. ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 19

COMPUTER SCIENCE PROJECT I

Therefore, I decided to use SDLC methodology. This is because I understand it very well and I can manage to develop the system using this methodology.

3.3 DETAILED DESCRIPTION OF THE SDLC METHODOLOGY


The phases in SDLC are: Project Identification & Planning, Feasibility Study,Requirement Specifications phase, Software Design, Implementation and Testing & Maintenance. All these phases are cascaded to each other so that second phase is started as and when defined set of goals are achieved for first phase and it is signed off, so the name "Waterfall Model". All the methods and processes undertaken in SDLC are more visible.

The stages of "The SDLCare: Project Identification & Planning: In this phase, there is identification of the need for a new system or enhanced system. It is initiated through communication of a need or presence of a problem. The critical step at this point is determining the scope of the proposed system. One need to understand how data is currently handled which leads to evaluation of shortcomings. A list of required activities and expected results should be developed. Finally, the report is created. Feasibility Study: The input of feasibility study is a set of an outline description of the system and how the system is intended to support the business. The result of feasibility study should be a report that recommends whether or not it is worthy to carry out the requirements. Carrying out the feasibility study involves information assessment whereby theres identification of information that is required to answer business question, information collection and report writing. Requirement Analysis & Definition: All possible requirements of the system to be developed are captured in this phase. Requirements are set of functionalities and constraints that the enduser (who will be using the system) expects from the system. The requirements are gathered from the end-user by consultation, these requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to be development is also studied. ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 20

COMPUTER SCIENCE PROJECT I

Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.

System & Software Design: Before a starting for actual coding, it is highly important to understand what we are going to create and what it should look like? The requirement specifications from first phase are studied in this phase and system design is prepared. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. The system design specifications serve as input for the next phase of the model.

Implementation & Unit Testing: On receiving system design documents, the work is divided in modules/units and actual coding is started. The system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality; this is referred to as Unit Testing. Unit testing mainly verifies if the modules/units meet their specifications.

Integration & System Testing: As specified above, the system is first divided in units which are developed and tested for their functionalities. These units are integrated into a complete system during Integration phase and tested to check if all modules/units coordinate between each other and the system as a whole behaves as per the specifications. After successfully testing the software, it is delivered to the customer.

Operations & Maintenance: This phase of "The SDLC is virtually never ending phase (Very long). Generally, problems with the system developed (which are not found during the development life cycle) come up after its practical use starts, so the issues related to the system are solved after deployment of the system. Not all the problems come in picture directly but they arise time to time and needs to be solved; hence this process is referred as Maintenance.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 21

COMPUTER SCIENCE PROJECT I

CHAPTER 4: PROJECT PLANNING


4.1 DEVELOPMENT PROCESS PLAN
4.1.1Determination of Phase Dependent Tools, Notation and Techniques. Background Information The development of software requirements specifications, architectural and detailed design and the source code, the following may be used: i. ii. iii. Automated tools Specialized notations Modern techniques

Automated testing tools may be used to perform unit testing, system testing and acceptance testing. Tools and techniques that may be used to track and control progress include:PERT charts (Network charts). Work Breakdown Structures (WBS) Personnel staffing charts. Gantt Charts

Choice ofPhase Dependent Tools, Notation and Techniques. I decided to use Work Breakdown Structure (WBS), PERT charts and Gantt charts to schedule the project.

4.1.1.1 Work Breakdown Structure (WBS) I used this technique so as to break the whole project task into small tasks which involved:  Identifiable parts of tasks  Finding deliverables  Finding milestones The project was divided into the following tasks (phases) as follows: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 22

COMPUTER SCIENCE PROJECT I

Project Identification & Planning: In this phase, there is identification of the need for a new system or enhanced system. It is initiated through communication of a need or presence of a problem. The critical step at this point is determining the scope of the proposed system. One need to understand how data is currently handled which leads to evaluation of shortcomings. A list of required activities and expected results should be developed. Finally, the report is created.

Feasibility Study: The input of feasibility study is a set of an outline description of the system and how the system is intended to support the business. The result of feasibility study should be a report that recommends whether or not it is worthy to carry out the requirements. Carrying out the feasibility study involves information assessment whereby theres identification of information that is required to answer business question, information collection and report writing. Requirement Analysis & Definition: All possible requirements of the system to be developed are captured in this phase. Requirements are set of functionalities and constraints that the end-user (who will be using the system) expects from the system. The requirements are gathered from the end-user by consultation, these requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to be development is also studied. Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.

System & Software Design: Before a starting for actual coding, it is highly important to understand what we are going to create and what it should look like? The requirement specifications from first phase are studied in this phase and system design is prepared. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. The system design specifications serve as input for the next phase of the model.

Implementation & Unit Testing: On receiving system design documents, the work is divided in modules/units and actual coding is started. The system is first developed in small programs called units, which are integrated in the next phase. Each unit is ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 23

COMPUTER SCIENCE PROJECT I

developed and tested for its functionality; this is referred to as Unit Testing. Unit testing mainly verifies if the modules/units meet their specifications.

Integration & System Testing: As specified above, the system is first divided in units which are developed and tested for their functionalities. These units are integrated into a complete system during Integration phase and tested to check if all modules/units coordinate between each other and the system as a whole behaves as per the specifications. After successfully testing the software, it is delivered to the customer.

Documentation: This will define the way in which a project will be managed and the governance surrounding it.

Operations & Maintenance: This phase is virtually never ending phase (Very long). Generally, problems with the system developed (which are not found during the development life cycle) come up after its practical use starts, so the issues related to the system are solved after deployment of the system. Not all the problems come in picture directly but they arise time to time and needs to be solved; hence this process is referred as Maintenance.

Work Breakdown Structure (WBS) created from Microsoft Office Project 2003

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 24

COMPUTER SCIENCE PROJECT I

4.1.1.2 Program Evaluation and Review Tests (PERT) Chart Here, I drew a graph which showed dependencies among the tasks and duration of each task. The tasks were labeled as in the work breakdown structure as shown above. The graph is as shown below: 5 1 6 2 11 3 17 4 62 5 8 6

17 7

4.2 SOFTWARE COST ESTIMATION


This is meant to determine in Programmer Months (PM) the resource needed to complete project. It is one of the most difficult and error prone task in Software Engineering. However, it is a requirement by contracting practices that afirm cost commitment be part of the feasibility study. It is not surprising then that there a lot of cost and schedule overruns in software projects. One way of solving this problem is to have the estimates at various levels as follows: Feasibility preliminary estimate Requirement analysis improved estimate Design final estimate Some factors that may contribute to the software cost are:  Programmer ability  Product complexity  Available time  Required reliability

 Level of technology

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 25

COMPUTER SCIENCE PROJECT I

4.3 SOFTARE COST ESTIMATION TECHNIQUES


There are several techniques used to estimate software cost. But I have learnt to use only 3 of them. These three are:  Estimation of lines of code technique  Constructive Cost Model (COCOMO)

 Function Point Analysis


Estimation of lines of code (LOC) technique This is also called expert judgment and is based on experience, background and business sense of some key players. An expert may use experience such as:  Size of previous project  Size of completion time  Breakdown of project into smaller pieces A standard approach is for each piece to estimate the maximum possible size (maxi), minimum possible size (mini) and the best guess size (besti). The estimate for the whole project is LOC = (1/6){maxi + mini + 4besti} Cost = *(KLOC) + Where KLOC is Kilo Lines Of Code, the added cost per additional KLOC, is the marginal cost per KLOC and represents

determines the nonlinearity of the relationship, and is

greater than or equal to zero and reflects the fixed cost of doing any project. When is greater than zero implies diseconomy of scale but when it is less than zero implies

economy of the scale. COstructive Cost Model (COCOMO) technique Historical project data is divided into three types and the cost is given in programmer months or development times TDEV as shown below: Type PM TDEV Application 2.4(KDSI)1.05 2.5(PM)0.38 Utility System 3.0(KDSI)1.12 2.5(PM)0.35 3.6(KDSI)1.20 2.5(PM)0.32 Page 26

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

COMPUTER SCIENCE PROJECT I

Function point Analysis Technique This is newer than the LOC based methods discussed above. This method is based on identification and quantification of the functionality required. This is done by counting the things in the external behavior that require processing. These are mainly: y Number of user inputs: Each user input that provides distinct application oriented data to the software is counted. y Number of user outputs: Each user output that provides distinct application oriented information to the user is counted. y Number of user inquiries: Any inquiry is defined as an online input that results in the generation of some immediate software response in the form of an online output. y Number of files: Each logical master file that is used to transmit information to another system are counted. y Number of external interfaces: All machine readable interfaces that are used to transmit information to another system are counted. The next step involves assigning a complexity value: complex, average or simple for each count. The assignment for the complexity factor is subjective and depends on organisations. Also the criteria for determining whether a count is simple, complex or average is subjective. The function points are used in a manner similar to the LOC in the previous method.

4.4 SOFTARE COST ESTIMATION TECHNIQUE USED


Estimation of Lines Of Code (LOC) Cost estimation of this project Maximum number of lines of code (maxi) = 25,300 ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 27

COMPUTER SCIENCE PROJECT I

Minimum number of lines of code (mini) = 21, 000 Best guess size (besti) = 24,000 LOC = (1/6){maxi + mini + 4besti} LOC = (1/6){25000 + 21000 + 4(24000)} = 23,667 KLOC = 23667/1000 = 23.667 Cost = *(KLOC) + Where = 2.4,
0.38

= 0.38, = Ksh. 43000 + 15000 = 43007.99

Cost = 2.4*(23.667)

Therefore, the estimated cost = Ksh. 43,008.00

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 28

COMPUTER SCIENCE PROJECT I

CHAPTER 5: FEASIBILITY STUDY


5.0 INTRODUCTION
This second phase of SDLC methodology is concerned with assessing whether the system to be developed will be useful. The input of feasibility study is a set of an outline description of the system and how the system is intended to support the business. The result of feasibility study should be a report that recommends whether or not it is worthy to carry out the requirements. Carrying out the feasibility study involves:  Information assessment.  Information collection.  Report writing.

5.1 INFORMATION ASSESSMENT


Information assessment identifies information that is required to answer business questions. The questions that were put into consideration include: i. Does the system contribute to the overall checking of the company? ii. Can the system integrate with other systems in place? iii. Can the system be implemented within a given cost and schedule? iv. Can the system offer efficiency that the passengers require? After a thorough analysis on the above questions, I decided start collecting the relevant information.

5.2 INFORMATION COLLECTION


I consulted with information sources which included:  Simba Coach Bus Limited managers  Simba Coach Bus Limited booking clerks  Bus Companys Passengers  Relevant technology experts  Software developers who were familiar with the proposed type of system. During the consultations I tried to find out about the application domain, what services should the system provide, the required performance of the system and hardware constraints. After I got the information that could answer the business questions, I wrote a feasibility report.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 29

COMPUTER SCIENCE PROJECT I

5.3 FEASIBILITY REPORT WRITING


After the two steps above, I had to write a feasibility report which I presented to the Simba Coach Bus Limited Management for approval. The report which also recommended that a system development could continue. I got the approval from the management. This made me to continue with the system development so I moved to the next phase of SDLC methodology.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 30

COMPUTER SCIENCE PROJECT I

CHAPTER 6: SOFTWARE REQUIREMENTS SPECIFICATION


6.0 INTRODUCTION
Software Requirements Specification (SRS) documentis the product of REQUIREMENTSANALYSISAND DEFINITION phase. The goal in this phaseis to completely and consistently specify the technical requirements for the software product in a concise and unambiguous manner. Using formal notations as appropriate. This phase has several sub-phases: I. Requirements determination: - determining what users want for the proposed system. II. Requirements Structuring III. Selecting the Best Alternative Design Strategy

6.1 REQUIREMENTS DETERMINATION


Background Information This involves elicitation of requirements from both stakeholders i.e. those who will interact with the system directly and those who will not use the system themselves but influence requirements in some way. Methods used to elicit Requirements I used the following methods of eliciting requirements: i. Interviewing ii. Use cases iii. Observation iv. Scenarios Below is the illustration of how I used the above methods.
i. INTERVIEWING

I conducted both formal and informal interview with the stakeholders of this system I wanted to develop. These interviews were of two kinds, namely closed and open interviews. I interviewed the companys management, clerks and 33 passengers. I then noted down the findings which I then used to determine the requirements. ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 31

COMPUTER SCIENCE PROJECT I

Interview questions I presented to the companys management  What is your current procedure of serving your passengers?  What is your evaluation of the efficiency of this passenger-serving procedure?  What is the number of passengers served on average in a single day?  How much do you spend on average on personnel as a result of using the current procedure?  Have you ever used any online system?  Would you like to adopt an Online System as a second procedure of serving your passengers?  If YES on the above question, are you ready to meet the cost of developing the system?  If YES on the above question; if an online system is developed as an alternative procedure to serve you, what do you expect it to?

Interview questions I presented to the companys clerks  How much time do you take on average in serving a single passenger over the counter?  How does this counter procedure affect your effectiveness and delivery at your work place?  Have you ever used any online system?  Do you think you need some supplementary assistance by means of an online system?  If YES on the above question; if an online system is developed as an alternative procedure to serve you, what do you expect it to do? Interview questions I presented to the companys passengers y Do you like the current counter procedure of serving you? y Have you ever used any online system? y Do you see the need for an online procedure as an alternative way of being served? y If YES on the above question, if an online system is developed as an alternative procedure to serve you, what do you expect it to do for you?
ii. USE CASES

In this method, I presented use cases to the potential stakeholders of the system. Use cases are diagrams that represent the functioning of the software from users point of view. I carefully noted down any relevant feedback I got from the stakeholders as a result of them analyzing the use case diagrams. Sample use case diagramsthat I used include the following: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 32

COMPUTER SCIENCE PROJECT I

Passenger use case Enter personal details Enter journey details Print Ticket
Enter personal details

Clerk use case Login

Manage passengers payment details

Logout

Administrator use case

Login Add/remove system user

Manage system content


Enter personal details

Logout

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 33

COMPUTER SCIENCE PROJECT I

iii.

OBSERVATION

This is another method thatwas used in eliciting the requirements of the system. I used this method concurrently with the interview method so as to get first hand information. The way customers/passengers were served was keenly observed and noted down which I then used to determine the requirements.

iv.

SCENARIOS

These are sequences of actions that accomplish a user task. Scenarios show important capability or proposed use of the system. I carried out this elicitation method informally where I worked with the stakeholders (managers, clerks and some passengers) to identify scenarios and capture details of these scenarios. The scenarios we identified include the following: Scenario on the passengers point of view a) The passenger enters the URL address of the system public areas first page at the Internet browsers address field and then clicking on go link or pressing the enter key once. b) On this first web page, the passenger fills the form by entering his/her personal details (e.g. full name, id number etc.) which are relevant. Also he/she selects a departure town, destination town and date of travel. Then, after filling the fields correctly, he/she clicks on the Submit button. c) Another page is then displayed containing the available departure times of the specified journey (i.e. departure town, destination town and date of travel). After selecting the preferred departure time then clicking on the Submit button. d) Another page is displayed containing the available seat numbers of the specified journey (i.e. departure town, destination town, date of travel and departure time). After choosing the desired seat number the passenger will then click on the Generate Ticket button. e) A web page containing a printable ticket will then be displayed on the browser window. The ticket will be printed in pdf format. f) And finally, that marks the successful completion of the seat booking process. Scenario on the clerks point of view a) The clerk enters the URL address of the system staff areas login page at the Internet browsers address field and then clicking on go link or pressing the enter key once. b) On this login page, the clerk enters his/her login details and then click on the Login button. c) When the details are invalid, he/she will be given a chance to retry but not more than thrice. d) But when he/she has been authenticated, another web page will be displayed which will contain the homepage of the User Area. e) Once in the User Area, the clerk can Manage Passengers Payment Details. ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 34

COMPUTER SCIENCE PROJECT I

f) The clerk will also be able to logout. Scenario on the system administrators point of view a) The administrator enters the URL address of the system staff areas login page at the Internet browsers address field and then clicking on go link or pressing the enter key once. b) On this login page, the clerk enters his/her login details and then click on the Login button. c) When the details are invalid, he/she will be given a chance to retry but not more than thrice. d) But when he/she has been authenticated, another web page will be displayed which will contain the homepage of the Administration Area. e) Once in the Administration Area, the administrator canAdd/Remove Users and Manage System Contents. f) The administrator will also be able to logout.

6.2 REQUIREMENTS STRUCTURING


During this part, I focused on Data Flow Diagrams (DFDs) which I used to structure information. A data flow is a graphic that illustrates the movement of data between external entities and the processes and data stores within a system. The four symbols used in DFDs represent data flows, data stores, processes, and sources/sinks (or external entities). The set of four symbols I used was developed by Gane and Sarson as illustrated below: Data Flow Data Store

Process

Source/Sink

The following are DFDs that I used: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 35

COMPUTER SCIENCE PROJECT I

The context diagram for Online PSV Booking Management System Passenger & Journey Details PASSENGER Passenger Ticket Number BOOKING CLERK

Bus Ticket

0 Online PSV Booking Management System

Ticket Payment/Revocation Confirmation

Administrative Request Administrative Feedback SYSTEMS ADMINISTRATOR The level-0 diagram for Online PSV Booking Management System Passenger and Journey Details PASSENGER Bus Ticket

1.0 Receive and Transform Passengers and Journey Details

BOOKING CLERK Passeng er Ticket Numbe

Ticket Payment/Revoca Confirmation

Occupied Seat 2.0 Update Occupied Seats File

Payment Status

3.0 Manage Passengers Payment Fe ed ba ck

Occupied_seats Table

Amount of Booked Seats per Specific Journey

4.0 Produce Administrative Reports

SYSTEMS ADMINISTRATOR

Request

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 36

COMPUTER SCIENCE PROJECT I

CHAPTER 7: SOFTWARE REQUIREMENTS SPECIFICATION(SRS)DOCUMENT


After a thorough analysis of the requirements I had gathered, I decided to write down a Software Requirements Specification Document. The SRS document is as shown below: 1. INTRODUCTION This specification document contains details that are useful during the next phase (Design Phase of the System development) and a Testing phase. Designs and tests can be constructed directly from this SRS document. 1.1 Purpose The SRS document is a product of Software Requirements Definition phase. It contains all the requirements that the stakeholders of the system to be developed want to be available in that system once it becomes operational. This SRS document is written so as to be the guideline to use during Design phase and Testing phase. 1.2 Scope The expected product of the project is an Online PSV Booking Management System. This system is intended to make it possible for the passengers to book for their seats online anywhere they are as long as theres internet connectivity. During booking process, the system should also be able to generate a provisional passenger ticket. Also, the system should allow the companys employees to do their official duties online. Benefits of the system to be developed i. Seat booking process done by the passengers will be convenient since they will be able to book seats online hence no need to go physically to the booking office. ii. Double booking will be avoided due to the accuracy of the system. Booking process will be error free. iii. Booking records will be able to be retrieved as desired at a faster rate due to the random filing system which is located at the hard disk iv. Congestion at the booking office will be greatly reduced since many passengers may prefer online services.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 37

COMPUTER SCIENCE PROJECT I

v.

Companys staff members will be able to perform their duties related to journey activities online hence they can work outside their offices.

Goals of the system to be developed To increase the efficiency of passenger/customer service at the Simba Coach Bus Limited Company. To minimize congestion at the booking offices. To improve the effectiveness and efficiency of the duties performed by the companys employees. To avoid double-booking. To minimize greatly paper work hence making the offices presentable due to lack of old paper files that may be on the shelves, tables, etc. 1.3 Definitions This section identifies all terms, acronyms and abbreviations used in the specification. SRS Software Requirements Specification PSV Passenger Service Vehicle MB Megabytes RAM Random Access Memory HDD Hard Disk Drive MHZ Mega Hertz CPU Central Processing Unit 1.4 References Software Engineering I lecture notes by Dr. Mapelu Software Engineering by Ian Sommerville 1.5 Overview The rest of this SRS document contains the required functionalities, external interface requirements, performance requirements and design constraints of the system to be developed. 2. OVERALL DESCRIPTION This section of the document is intended to provide the background to understand the user requirements. 2.1 Product Perspective This sub-section is intended to put the product (system to be developed) into perspective with other products. ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 38

COMPUTER SCIENCE PROJECT I

Constraints specification Since the system to be developed will offer its services over the Internet, the hardware and software that will be used to get access to the system may differ greatly. For instance, the most important software that will be play a crucial part during access to this system is the Internet browser. There are several browsers which to come extent interpret web pages differently. Due to this reason, the system to be developed should ensure that there is consistency of the system interface with all these browsers. User interface The recommended user-interface is the Graphical User Interface. This interface should offer learnability to the system users. Hardware The system should be able to run on the currently used computer hardware. Other software The system should be compatible with the software that will have to be used in parallel with the system so as for the system to deliver as expected. Memory Constraints The system should be able to run on the systems having a minimum of 256 MB of RAM and above. Operations The system should operate as expected by its users.

2.2 Product Functions The system to be developed should perform the following functions: o The system should enable the bus companys passengers to book for their bus seats online. o The system should make it possible for the staff of the company to manage and administer their duties related to the journey activities online.

2.3 User Characteristics Users are categorized into 3 categories:  Novice: - who dont have syntactic knowledge of the system and little semantic knowledge of the application.  Knowledge intermittent (operational): - Users under this category have reasonable semantic knowledge of the application but relatively low recall on syntactic information necessary to use the interface of the system  Knowledge frequent users (Advanced users): - These users have good semantic and syntactic knowledge that often lead to the power-user-syndrome.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 39

COMPUTER SCIENCE PROJECT I

The bus company may provide advertisements, if necessary, so as to offer training to its passengers on how to use their newly developed system. Also, training will have to be done to the companys booking clerks so as to know how to manage passengers payment details online. Moreover, the system administrator will also have to be trained on how to administrate. 2.4 Constraints The following system development constraints were identified: y Resource constraint y Technical constraint y Cost constraint y Time constraint y Operational constraint 3. SPECIFIC REQUIREMENTS This section of this document provides details that may enable designs and tests to be constructed directly from the SRS. 3.1 External Interface Requirements This sub section describes all inputs and outputs of the system Inputs and outputs on the passengers point of view  The inputs should be the relevant passengers personal details and the details of his/her journey specification (e.g. departure town, destination town, date of travel, departure time and seat number)  The output should be an auto-generated passenger ticket. Inputs and outputs on the booking clerks point of view  After being authenticated, the input should be the passengers ticket number while the output should be a message confirming the process of either making/revoking payment of the seat has been successfully. Inputs and outputs on the system administrator point of view  After being authenticated, the inputs should be the relevant details whereas the outputs should be a printable reports or messages confirming either a successful or a failure in doing a particular task. 3.2 Functions This section is concerned with describing all the functions of the system. Validity checks on inputs The input data should be validated by use of any appropriate means before undergoing processing so as to avoid unambiguous outputs. Response to abnormal situations ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 40

COMPUTER SCIENCE PROJECT I

When the system behaves abnormally on the passengers point of view, the system should not accept unexpected data types from the client machine. Then the system should offer a self explanatory error message. On the clerks point of view, when abnormal situations occur, the system should behave as in the case of the passengers point of view as described above. Furthermore, the system should provide mechanisms to enable system administrators to conduct audit of the systems behavior so as to detect any abnormal situations and then offer capabilities of corrective and preventive measures. Relation between inputs and outputs The relationship between inputs and the associated outputs should be clearly seen. For instance, input user details during log in process should ensure authentication when the details are valid. 3.3 Performance Requirements This section describes both the static and dynamic requirementsof the yet to be developed Online PSV Booking Management System. Dynamic Requirements. A key presses or mouse clicks operations should be accomplished within the first 100 milliseconds. Static Requirements Minimum of 64 MB RAM, 500MB free space of HDD A minimum of 500MHZ of CPU clock speed. Any 32 bit or higher operating system e.g. Windows 98, XP, Vista et cetera.. 3.4 Design Constraints The design of the system should ensure that the user requirements are meant and also provide mechanisms to include future requirements to the system.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 41

COMPUTER SCIENCE PROJECT I

CHAPTER 8: SYSTEM DESIGN SPECIFICATION


8.0 INTRODUCTION
Design involves conceiving and planning out in the mind and making a drawing, pattern or sketch of something. The design is divided into FOUR design elements namely: Data/Class design  Architectural design  Interface design  Component level design

8.1 DATA DESIGN


During this design, the information domain model created in the requirement analysis is transformed into a data structure. The basis of this is the data dictionary. MySQL Database Management System is used to create and store the database. The basis for this was the Entity Relationship Diagram and data dictionary in the analysis modeling. Data design consideration included: Database design I designed a database and called it psv_db. This database will contain 15 tables. These tables are named as follows:-conditions, drivers_details, journey_details, journey_route_details, journey_times, journey_vehicles, occupied_seats, passengers_details, psv_admin, routes_details, seats, security_questions, staff_added, staff_answersandstaff_privileges. Designing Table Fields A field is the smallest unit of application data recognized by system software. An attribute from a logical database model may be represented by several fields e.g. a passengers name may be represented as 3 fields i.e. surname, first name and first name. The basic decision which was a must for me to make in specifying each field concerned the type of data (or storage type) and the data integrity control for the field. Designing Physical Tables A physical table is a named set of rows and columns that specifies the fields in each row of task. It may or may not correspond to one relation. I found it good to design the physical tables so as to achieve efficient use of secondary storage and data processing speed.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 42

COMPUTER SCIENCE PROJECT I

Demoralization After I normalized all the relation that will be used, I did demoralization which refers to the process of splitting (partitioning or combining normalized relations into physical table based on affinity of rows and fields.

Database name: psv_db Samples of the data tables Idesigned include the following: Table 1: Table structure for table passengers_detailsfor storing passengers personal details Primary key (field) Field Name Data Type Null No passenger_code int(11) id_number mediumint(20) No first_name middle_name phone_number email age_category booking_time varchar(20) varchar(20) varchar(20) varchar(40) varchar(10) datetime No Yes No No No No Default Value

NULL

Table 2:Table structure for table occupied_seatsfor recording booked seats Primary key (field) Field Name
ticket_number passenger_code journey_id date_of_travel date_of_issue seat_number due_date payment_date revoke_date status

Data Type
int(11) int(11) mediumint(9) date datetime varchar(2) datetime datetime datetime tinyint(4)

Null
No No No No No No No No No No

Default Value

8.2 ARCHITECTURAL DESIGN


In this design, the conceptual view of the Online PSV Booking Management System is refined, internal processing functions are identified and high level functions are decomposed into sub functions. Furthermore, it defines the relationship between major structural elements of a software, the architectural styles and design pattern that can be used to achieve requirements ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 43

COMPUTER SCIENCE PROJECT I

defined for the system and the constraints that affect the way in which architectural can be implemented. The Online PSV Booking Management System is divided into two major categories, namely; Public Area and Staff Area. The modules that make up the architecture of the systems are as follows: Public Area  Entry of Passengers and Journey Details: - This is done at the first web page of the system. The passenger is required to fill the displayed form on this page. Once all the fields are filled correctly, what would have been captured is the passengers personal details, his/her date of journey, departure town and destination town. Then the passenger will be required to click the submit button so as all these details will be stored at the appropriate tables of this systems database (psv_db database).  Departure time chooser: - This module is called immediately after the passenger has clicked the submit button after correctly filling the form of the Entry of Passengers and Journey Detailsmodule. It provides the passenger with an interface that contains the available departure times of his/her specified journey (i.e. date of journey, departure town and destination town). The passenger will be required to select his/her preferred departure time then clicking the submit button so as the selected time to be stored at the appropriate tables of this systems database.  Seat number chooser: - This module is immediately called after the passenger has selected his/her preferred departure time and then clicking on submit button of the previous Departure time chooser module.This module provides the currently available seat numbers of the passengers specified journey (i.e. date of travel, departure town, destination town and departure time). Then the passenger will have to select his/her desired seat number then click on Generate Ticket button so as the selected seat number to be stored at the appropriate tables of this systems database.  Ticket generator: - This module is called immediately after Seat number chooser module. It is responsible for generating the passengers provisional ticket that contains the relevant passengers and journey details.

The below structure chart illustrates the systems architecture of the Public Area:

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 44

COMPUTER SCIENCE PROJECT I

Entry of Passengers and Journey Details

Departure time chooser

Seat number chooser

Ticket generator

Staff Area  System Login: -If the system is running for the first time, the administrator is requested to set up the first administrator account. If the system has been run before, it requests for username, password and privilege type which if valid allows the loading of the rest off the systems Staff Area as per the given privilege. If the login details are invalid an error message is generated and the user is allowed to attempt to login again. If the user provides the wrong details thrice, the login button is disabled and the user is forced to exit the system.  Clerks Area: - This module will be immediately called when the privilege of clerk is selected at the system login display and then the login button clicked. This area contains the link to the Public Area, logout button andClerks Menu which contains only one item i.e. Manage Passengers PaymentDetailss.  Manage Passengers Payment Details: - This module of the clerks area will be immediately called when the clerk clicks on the Manage Passengers Payment Details menu item. It is responsible to make/revoke payments done by the passengers.  Admin Area: - This module will be immediately called when the privilege of admin (which means administrator) is selected at the system login display and then the login button clicked. This area contains a link to the Public Area, logout button and the Admins Menu which contains four items namely; Manage Website Content, Add Staff User, Delete Staff User and Logout button.  Add Staff User: - This module which is called when the administrator clicks on the Add Staff User on the Admin Area, is responsible for adding new users of the system. That is,new administrators and clerks.  Delete Staff User: - This module which is called when the administrator clicks on the Delete Staff User on the Administration Area, is responsible for removing new users of the system. ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 45

COMPUTER SCIENCE PROJECT I  Manage Website Content: - This module is called immediately after the administrator has clicked on the Manage Website Content at the Admin Area. It contains a menu of ten items, namely; Drivers Details, Journey Conditions, Journey Details, Journey Report, Manage Passengers Payment Details, Passengers details, Route Details, Seats, Staff Details and Staff Privileges.  Drivers Details: - This module which is called as a result of the Administrator clicking on the Drivers Details menu item of the Manage Website Content, allows the administrator to view/add/delete/update drivers details.  Journey Conditions: - This module which is called as a result of the Administrator clicking on the Journey Conditions menu item of the Manage Website Content, allows the administrator to view/add/delete/update the journey conditions.  Journey Details: - This module which is called as a result of the Administrator clicking on the Journey Details menu item of the Manage Website Content, allows the administrator to view/add/delete/update the journey details.  Journey Report: - This module which is called as a result of the Administrator clicking on the Journey Report menu item of the Manage Website Content, allows the administrator to generate the relevant journey reports.  Manage Passengers Payment Details: - Journey Details: - This module which is called as a result of the Administrator clicking on the Manage Passengers Payment Details menu item of the Manage Website Content, allows the administrator make/revoke passengers payments.  Passengers Details: - This module which is called as a result of the Administrator clicking on the Passengers Details menu item of the Manage Website Content, allows the administrator to view/add/delete/update the passengers details.  Route Details: - This module which is called as a result of the Administrator clicking on the Route Details menu item of the Manage Website Content, allows the administrator to view/add/delete/update the route details.  Seats: - This module which is called as a result of the Administrator clicking on the Seats menu item of the Manage Website Content, allows the administrator to view/add/delete the bus seats.  Staff Details: - This module which is called as a result of the Administrator clicking on the Staff Details menu item of the Manage Website Content, allows the administrator to view/add/delete the staff details.  Staff Privileges: - This module which is called as a result of the Administrator clicking on the Staff Privileges menu item of the Manage Website Content, allows the administrator to view/add/delete/update the staff privileges. Staff privileges include admin, clerk, et cetera. The below structure chart illustrates the systems architecture of the Staff Area:

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 46

COMPUTER SCIENCE PROJECT I

User Area

System Login

Clerk Area

Manage Passengers Payment details

Logout

Admin Area System Login

Admin Area

Manage System Content

Add Staff User

Delete Staff User

Logout

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 47

COMPUTER SCIENCE PROJECT I

8.3 INTERFACE DESIGN


In this design, I describe how I designed the software to communicate with system that interoperateswith it, and with human that use it. Interface implies a flow of information and specific types of behavior. The type of interface I preferred touse is Graphical User Interface(GUI). The goals for the user interface of the OnlinePSV Booking Management System are: o Consistency and familiarity o Understandability and learnability o Task support and efficiency The following shows the interfaces that have implemented in this system; -

Public Area First Web Page of the Public Area When the URL of the first page of this Online PSV Booking Management Systems Public Area (http://localhost/psv/index.php) is entered on the Internet browsers URL address field and then pressing once the keyboards Enter key or by clicking on the go link on the browser window, the below web page will be displayed that contains a Form that a passenger will be required to fill his/her personal details and journey details.

The webpage will also provide the passenger with relevant links to other documents. The links are:       Home Booking Journey Details Journey Days Journey Conditions Regenerate Ticket

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 48

COMPUTER SCIENCE PROJECT I

The interface of this page is as shown below: -

Departure Time Chooser Interface Once the submit button of the form of the first page has been clicked after correctly filling its form fields, the Departure Time Chooser webpage will be displayed on the browser window. Its interface is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 49

COMPUTER SCIENCE PROJECT I

Seat Number Chooser Interface Immediately after the passenger has selected his/her preferred departure time and then clicking on the submit button from the Departure Time Chooser Interface, another web page will be displayed. This page will enable the passenger to select his/her preferred departure time as per the passengers journey specification.

The interface of this page is as below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 50

COMPUTER SCIENCE PROJECT I

Ticket Generator Interface When the passenger has selected his preferred seat number and then clicked on Generate Ticket button, another page will be displayed on the browser window. This page will contain a printable passengers ticket. The interface of this page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 51

COMPUTER SCIENCE PROJECT I

Staff Area

Staff Login Interface This interface is used on the first web page of the Online PSV Booking Management Systems Staff Area. It is used to allow only the authenticated users to the rest of the systems staff area. The interface also has a link to reset password or to get a new password if a user forgets his/her password. The interface is as follows: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 52

COMPUTER SCIENCE PROJECT I

Administration Area Interface When the administrator has been authenticated, a web page containing the Admin Area features will be displayed. The interface of this page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 53

COMPUTER SCIENCE PROJECT I

User Area Interface When the other user except administrator has been authenticated, a web page containing the User Area features will be displayed. The interface of this page is as shown below: -

8.4 COMPONENT LEVEL DESIGN


During this design, I transformed the structural elements of the software architecture into a procedural description of software components. In this design, pseudocode and structured flow charts are used. Pseudo code Design Specification This is used in internal design at any level of abstraction. Here, a designer describe system characteristics using short, concise English language phrases that are structured by key words. ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 54

COMPUTER SCIENCE PROJECT I

These key words and indentation describe the flow of control while English words describe processing actions.

Pseudo code for staff login 1. The user will have to go to login page. 2. Have the user fill out the form fields with the required details. 3. Then, have the page process the fields contents, compare them with the associated contents in the MySQL database. If the details are valid then go to step 5, if not go to step 4 4. Show error message 5. Start session, go to default redirect after login 6. Let the person do whatever he/she wants two possibilities 7 (a). The user is on for a prolonged period of time or their computers goes away. 8 (a). What happens next? Does the computer automatically logout? 9 (a). Complete 7 (b). The user logs out 8 (b). End session 9 (b). Complete Pseudo code for retrieving departure times for the specified journey START program INITIALIZE psv Database OPEN tables SELECTjourney_code FROM journey_route_details Table WHERE origin Field = departure town chosen AND destination Field = destination town chosen EXTRACT journey_code IF journey_code is available THEN journey_code = extracted journey_code ELSE DISPLAY message of unavailability and offer retry option END IF SELECTjourney_id FROM journey_times Table WHERE journey_code Field = journey_code EXTRACT journey_ids IF journey_ids are available THEN journey_ids = extracted journey_ids ELSE DISPLAY message of unavailability and offer retry option END IF

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 55

COMPUTER SCIENCE PROJECT I

FOR (i=0;i<number of journey_ids;i++) Journey_id = journey_ids[i] SELECTjourney_id FROM journey_days Table WHERE journey_id Field = journey_id AND days Field = day of travel chosen EXTRACT journey_id available_ids STORED IN AN ARRAY = extracted journey_id END FOR IF available_ids is not empty THEN SELECTdeparture_time FROM journey_times Table WHERE journey_code Field = journey_code EXTRACT departure_times Departure_times STORED IN AN ARRAY = extracted departure_times OUTPUT departure_times ELSE DISPLAY message of unavailability and offer retry option END IF CLOSE Tables CLOSE psv Database TERMINATE program Pseudo code for retrieving seat numbers for the specified journey START program INITIALIZE psv Database OPEN Tables SELECT journey_id FROM journey_times Table WHERE journey_code Field = journey_code AND departure_time Field = departure_time EXTRACT journey_id Journey_id = extracted journey_id // retrieving the booked seats for the specified journey SELECT seat_number FROM occupied_seats Table WHERE journey_id Field = journey_id AND date_of_travel Field = travel date chosen EXTRACT occupied_seat_numbers occupied_seat_numbers STORED IN AN ARRAY = extracted occupied_seat_numbers //getting the unbooked seats unbooked_seat_numbers = seat numbers that are belong to total_seat_numbers but not inoccupied_seat_numbers OUTPUT unbooked_seat_numbers CLOSE Tables CLOSE psv Database TERMINATE program ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 56

COMPUTER SCIENCE PROJECT I

Structured Flow Charts Structured flow charts differ from traditional flow charts in that structured flow charts are restricted to compositions of certain basic forms. This makes the structured flow chart the graphical equivalent of pseudocode description. Structured flow chart for staff login

Start

INPUT users details

Users details Valid

NO

Display error message and offer a retry not more than thrice

Yes
Display either Administration Area or Staff Area according to the specified privilege

Structured flow chart for retrieving departure times for the specified journey START

INITIALIZE psv Database

OPEN Tables

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 57

COMPUTER SCIENCE PROJECT I

INPUT journey_code

IF journey_code Available

False

OUTPUT error message

True INPUT journey_ids

False IF Available journey_ids OUTPUT error message

True INPUT available_ids

IF available_ids NOT Empty

False

OUTPUT error message

True INPUT departure_times

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 58

COMPUTER SCIENCE PROJECT I

IF departure_times NOT Empty

OUTPUT error message

True OUTPUT departure_times

CLOSE Tables

CLOSE psv Database

TERMINATE

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 59

COMPUTER SCIENCE PROJECT I

CHAPTER 9: IMPLEMENTATION
9.0 INTRODUCTION
During this phase, design specifications are converted to code. The goal here is to write a code so that verification of conformity with specification is easy and also debugging, testing and maintenance can be eased. The properties of good source code that I took into consideration include:  Clarity: - this has to be achieved by using structured coding techniques, good coding styles, good internal comments, features in modern programming languages, and appropriate supporting documents  Simplicity  Elegance The major aim of this section of the documentation is to show the code that was used in major parts of the system. This is to enhance the maintainability of the system. Coding is done in PHP which is a server-side language, MySQL statements and JavaScript which is a client-side scripting language.

9.1 MOST IMPORTANT SAMPLE CODE SEGMENTS


Sample code segments that were used to implement the most important parts of this Online PSV Booking Management System include: Code to connect to the MySQL Database Management System and consequently selecting the database (psv_db database) to be used. <?php include($_SERVER['DOCUMENT_ROOT'].'/psv/functions/basics.php'); $conn = mysql_connect("localhost", "root", "") or die("could not connect to database"); //connecting to the MySQL DBMS mysql_select_db("psv_db", $conn) or die("could not select the database"); //selecting psv_db database define("PAGE_LIMIT", 2); // PAGE_LIMIT constant decides the number of entries that will be viewable on each page ?> Code segment to display a form to be filled by a passenger by feeding in his/her personal details and preferred journey details

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 60

COMPUTER SCIENCE PROJECT I

<form action="/psv/form_processor/details.php" name="passenger_details" id="passenger_details" onsubmit="return check_valid('passenger_details');" enctype="multipart/form-data" method="post"> <fieldset> <legend>Fill in Your Personal Information in the Fields below</legend> <p> <label for="id_number">ID Number:</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input class="text" type="text" name="id_number" id="id_number" maxlength="15" /> </p><br /> <p> <label for="last_name">Last Name:</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input class="text" type="text" name="last_name" id="last_name" maxlength="15" /> </p> <p> <label for="first_name">First Name:</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input class="text" type="text" name="first_name" id="first_name" maxlength="15" /> </p> <p> <label for="middle_name">Middle Name:</label>&nbsp;&nbsp;&nbsp; <input class="text" type="text" name="middle_name" id="middle_name" maxlength="15" /> </p><br /> <p> <label for="phone_number">Phone Number:</label>&nbsp; <input class="text" type="text" name="phone_number" id="phone_number" maxlength="15" /> </p> <p> <label for="email">Email Address:</label>&nbsp;&nbsp; <input class="text" type="email" name="email" id="email" maxlength="15" /> </p><br /> <p> <label for="age_category">Age Category:</label>&nbsp;&nbsp;&nbsp;

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 61

COMPUTER SCIENCE PROJECT I

<select class="select" name="age_category" id="age_category"> <option value="adult" selected="selected">Adult</option> <option value="child">Child</option> </select> </p> </fieldset> <fieldset> <legend>Fill in Your Journey Details in the Fields below</legend> <p> <table class="datatable"> <tr><td><label>Date of Journey:</label></td> <td><select id="dateOfJourney" name="date"> <option value="" selected>---Date--</option> <?php for($date=1;$date<=31;$date++) { echo "<option value=\"".$date."\">".$date."</option>"; } ?> </select> </td> <td><select id="monthOfJourney" name="month" > <option value="" selected>---Month--</option> <option value="1">January</option> <option value="2">February</option> <option value="3">March</option> <option value="4">April</option> <option value="5">May</option> <option value="6">June</option> <option value="7">July</option> <option value="8">August</option> <option value="9">September</option> <option value="10">October</option> <option value="11">November</option> <option value="12">December</option> </select> ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 62

COMPUTER SCIENCE PROJECT I

</td> <td><select id="yearOfJourney" name="year"> <option value="" selected>---Year---</option> <?php $year=date('Y'); for($count=$year;$count<=$year+1;$count++) { echo "<option value=\"".$count."\">".$count."</option>"; } ?> </select> </td> </tr> <tr> <td><label>From:</label></td> <td><select name="origin"> <option value="" selected>---Select--</option> <?php $query="select distinct origin from journey_route_details"; $result_set=safe_query($query); $num_rows=mysql_num_rows($result_set);

while($result=mysql_fetch_array($result_set)) { for($count=$num_rows;$count<$num_rows+1;$count++) { echo "<option value=\"".$result['origin']."\">".$result['origin']."</option>"; } } ?> </select> </td> <td><label>Destination:</label></td> <td><select name="destination"> <option value="" selected>--Select---</option> ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 63

COMPUTER SCIENCE PROJECT I

<?php $query2="select distinct destination from journey_route_details"; $result_set2=safe_query($query2); $num_rows2=mysql_num_rows($result_set2); while($result2=mysql_fetch_array($result_set2)) { for($count=$num_rows2;$count<$num_rows2+1;$count++) { echo "<option value=\"".$result2['destination']."\">".$result2['destination']."</option>"; } } ?> </select> </td> </tr> </table> </p> </fieldset> <input type="submit" name"submit" value="Submit" /><input type="reset" name="reset" /> </form> Code segment used to receive passengers and journey details and then writing these details into their appropriate tables of the systems database (psv_db database). <?php //some codes missing here $booking_time = date("Y-m-d H:i:s"); $query = "insert into passengers_details " ." (id_number, last_name, first_name, middle_name, phone_number, email, age_category, booking_time) values " ." ('$id_number', '$last_name', '$first_name', '$middle_name', '$phone_number', '$email', '$age_category', '$booking_time')"; //inserting the details into the table safe_query($query); //check if the insertion was successful if((mysql_affected_rows()>0)){

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 64

COMPUTER SCIENCE PROJECT I

echo "<h2>Hello $first_name $last_name!! Your details have been Received!</h2>\n"; echo "<br>Choose your departure time from the available ones below, and then click on submit button so as <br> for available seat numbers to be autogenerated<br>and then select one from them. "; return $booking_time; }

else{ //the message have not been inserted echo "Error while Inserting!. Go back and try again..<br>"; echo "If error persist contact the webmaster"; exit(); }

Code segment used to retrieve available departure times for the specified journey (departure town and destination town selected). <select name="departure_time"> <option value="">---Departure Time--</option> <?php $query = "select departure_time " ."fromjourney_times " ."wherejourney_code = \"$journey_code\" "; $result_set = safe_query($query); while($result = mysql_fetch_array($result_set)) { echo "<option value=\"".$result['departure_time']."\">".$result['departure_time']."</option>"; } ?> </select> Code segment used to retrieve available seat numbers for the specified journey (departure town, destination town and departure time selected). <select name="seat_number"> ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 65

COMPUTER SCIENCE PROJECT I

<option value="" selected="selected">---Seat Number---</option> <?php //Retrieving the occupied seats for the given passenger_code and journey_code $query = "select seat_number " ."fromoccupied_seats " ."where journey_id = \"$journey_id\" and date_of_travel = \"$date_of_travel\""; $result_set = safe_query($query); //$occupied_seats = mysql_fetch_array($result_set); $num_occupied = mysql_num_rows($result_set);

$occupied_seats = array(); while($occupied = mysql_fetch_array($result_set)) { array_push($occupied_seats, $occupied['seat_number']); } //Retrieving all the seats $query1 = "select seat_number from seats"; $result_set1 = safe_query($query1); //$seats = mysql_fetch_array($result_set1); $total_seats = mysql_num_rows($result_set1); $all_seats = array(); while($seats = mysql_fetch_array($result_set1)) { array_push($all_seats, $seats['seat_number']); } ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 66

COMPUTER SCIENCE PROJECT I

//getting the unoccupied seats $unoccupied_seats = array_diff($all_seats, $occupied_seats); $num_unoccupied = count($unoccupied_seats); for($i=0;$i<$num_unoccupied;$i++) { echo "<option value=\"".$unoccupied_seats[$i]."\">".$unoccupied_seats[$i]."</option>"; }

?> </select> Code segment used to generate a passenger ticket <table class="datatable"> <caption><imgsrc="/psv/images/simba2.png" align="left" width="150" height="55" /><br /> BUS TICKET <img id="detailForm:btnPrint" src="/psv/images/printer.gif" align="right" onclick="window.location='printticket.php'" title="Print" /></caption> <tr> <td><legend>Ticket No.</legend><br /><font color="#663300"><?php echo $ticket_number; ?></font></td> <td><legend>Vehicle No.</legend><br /><font color="#663300"><?php echo $vehicle_number; ?></font></td> <td><legend>Seat Number</legend><br /><font color="#663300"><?php echo $seat_number; ?></font></td> </tr> <tr class="altrow"> <td><legend>Name</legend><br /><font color="#663300"><?php echo $first_name;?>&nbsp;&nbsp;<?php echo $last_name; ?></font></td> <td><legend>ID Number</legend><br /><font color="#663300"><?php echo $id_number; ?></font></td> <td><legend>Phone Number</legend><br /><font color="#663300"><?php echo $phone_number; ?></font></td> </tr> <tr> <td><legend>From</legend><br /><font color="#663300"><?php echo $origin; ?></font></td> <td><legend>To</legend><br /><font color="#663300"><?php echo $destination; ?></font></td> ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 67

COMPUTER SCIENCE PROJECT I

<td><legend>Fare (Ksh)</legend><br /><font color="#663300"><?php echo $fare_ksh; ?></font></td> </tr> <tr class="altrow"> <td colspan="2"><legend>Date of Issue</legend><br /><font color="#663300"><?php echo $date_of_issue; ?></font></td> <td><legend>Date of Travel</legend><br /><font color="#663300"><?php echo $date_of_travel; ?></font></td> </tr> <tr> <td colspan="2" ><legend>Reporting Time</legend><br /><font color="#663300"><?php echo $reporting_time; ?>Hrs (24-hour clock system)</font></td> <td><legend>Departure Time</legend><br /><font color="#663300"><?php echo $departure_time ; ?>Hrs (24-hour clock system)</font></td> </tr> <tr class="altrow"> <td colspan="1"><legend>Journey ID</legend><br /><font color="#663300"><?php echo $journey_id; ?></font></td> <td colspan="2"><?php echo $terms; ?></td> </tr> <tr> <td align="left" valign="middle" colspan="3"> Make sure you pay at any of our booking office latest 30 minutes before <font color="#CC3300"><?php echo $due_date; ?> AM </font><br /> or much earlier otherwise your seat will be set unbooked.<br /> After payment, this ticket will be stamped by any authorisedSimba Coach Limited staff member. <br />You will only be allowed to travel with a stamped ticket <br /> The date-time is in the format: yyyy-mm-ddhh-mmss</td> </tr> <tr> <td colspan="3">*This ticket is computer generated and therefore not stamped. It is a valid ticket issued under the authority of Simba Coach Bus Limited.</td> </tr> </table> A sample of JavaScript code segment used to validate data input at the forms fields //verify ID number functionverify_idnumber (strng) { varillegalChars = /\W/; // allow letters, numbers, and underscores var error = ""; if (strng == "") { error = "You didn't enter your ID number.\n\n"; }else if ((strng.length< 5) || (strng.length> 15)) { error = "Your ID number has an illogical length.\n\n"; ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 68

COMPUTER SCIENCE PROJECT I

}else if (illegalChars.test(strng)) { error = "Your ID number contains illegal characters.\n\tFor example: blank space.\n\n"; }else{} return error; } // verify names - 610 chars, uc, lc, and underscore only. functionverify_lastname (strng) { varillegalChars = /\W/; // allow letters, numbers, and underscores var error = ""; if (strng == "") { error = "You didn't enter you last name.\n\n"; }else if ((strng.length< 2) || (strng.length> 15)) { error = "Your last name has an illogical length.\n\n"; }else if (illegalChars.test(strng)) { error = "Your last name contains illegal characters.\n\tFor example: blank space.\n\n"; }else{} return error; } functionverify_firstname (strng) { varillegalChars = /\W/; // allow letters, numbers, and underscores var error = ""; if (strng == "") { error = "You didn't enter your first name.\n\n"; }else if ((strng.length< 2) || (strng.length> 15)) { error = "Your first name has an illogical length.\n\n"; }else if (illegalChars.test(strng)) { error = "Your first name contains illegal characters.\n\tFor example: blank space.\n\n"; }else {} return error; } functionverify_middlename (strng) { varillegalChars = /\W/; // allow letters, numbers, and underscores var error = ""; if ((strng.length == 1) || (strng.length> 15)) { error = "Your middle name has an illogical length.\n\n"; }else if (illegalChars.test(strng)) { error = "Your middle name contains illegal characters.\n\tFor example: blank space.\n\n"; }else {} return error; } // verify phone number - strip out delimiters and verify for 10 digits functionverify_phonenumber (strng) { //strip out acceptable non-numeric characters //var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 69

COMPUTER SCIENCE PROJECT I

var error = ""; if (strng == "") { error = "You didn't enter the your phone number.\n\n"; }else{} return error; } // verify email functionverify_email (strng) { varemailFilter=/^.+@.+\..{2,3}$/; var error=""; if (strng == "") { error = "You didn't enter your email address.\n\n"; }else if (!(emailFilter.test(strng))) { error = "Please enter a valid email address.\n\n"; }else { //test email for illegal characters varillegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ if (strng.match(illegalChars)) { error = "The email address contains illegal characters.\n\tFor example: blank space.\n\n"; } } return error; } functionverify_date(strng){ var error = ""; if (strng == "") { error = "You didn't choose Date!!.\n\n"; } return error; } functionverify_month(strng){ var error = ""; if (strng == "") { error = "You didn't choose Month!!.\n\n"; } return error; } functionverify_year(strng){ var error = ""; if (strng == "") { ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 70

COMPUTER SCIENCE PROJECT I

error = "You didn't choose Year!!.\n\n"; } return error; } functionverify_origin(strng){ var error = ""; if (strng == "") { error = "You didn't choose Departure Town!!.\n\n"; } return error; } functionverify_destination(strng){ var error = ""; if (strng == "") { error = "You didn't choose Destination Town!!.\n\n"; } return error; }

Code segment to start a session and authenticate a staff user <?php session_start(); require_once($_SERVER['DOCUMENT_ROOT'].'/psv/header.php'); if(isset($_POST['submit'])){ $username = cleanup_text(trim($_POST['username'])); $privilege = cleanup_text(trim($_POST['privilege'])); $password = cleanup_text(trim($_POST['password'])); $hashed_password = sha1($password); //Check database to see if username and the hashed password exist there $query = "SELECT code, username, privilege "; $query .="FROM psv_admin "; $query .="WHERE username = '{$username}' "; $query .="AND privilege = \"$privilege\" "; $query .="AND hashed_password = '{$hashed_password}' "; $result_set = safe_query($query); if(mysql_num_rows($result_set)==1){ //username/password/privilege authenticated //and only 1 match $found_user = mysql_fetch_array($result_set); $_SESSION['sid']=1000000*microtime(); ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 71

COMPUTER SCIENCE PROJECT I

$_SESSION['user_id'] = $found_user['id']; $_SESSION['username'] = $found_user['username']; if($privilege == "admin"){ header('location: http://localhost/psv/staff/admin.php'); exit(0); }elseif($privilege == "manager"){ header('location: http://localhost/psv/staff/clerk.php'); exit(0); }elseif($privilege == "clerk"){ header('location: http://localhost/psv/staff/clerk.php'); exit(0); }else{ $message = "There was an error. Please retry!!"; header('location: http://localhost/psv/staff/login.php?message='.$message); exit(0); } }else{ //username/password/privilege combination was not found in the database $message = "Username/password/privilege combination incorrect.<br /> Please make sure you observe the case and try again. "; header('location: http://localhost/psv/staff/login.php?message='.$message); exit(0); } } ?> Code segment to only allow authenticated users to manage the systems staff operations <?php session_start(); if(!isset($_SESSION['sid'])){ $message = "Please Login first"; ob_end_clean(); header('location: http://localhost/psv/staff/login.php?message='.$message); exit; } ?> Code segment used to make or revokepassengers payments. This will be done by an authenticated system user. <?php //form values from passengers_payment3.php if(isset($_POST['submit'])){ //Make payment $ticket_number = trim(cleanup_text($_POST['ticket_number'])); ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 72

COMPUTER SCIENCE PROJECT I

$query = "SELECT * "; $query .="FROM occupied_seats "; $query .="WHERE ticket_number = \"$ticket_number\" "; $result_set = safe_query($query); if((mysql_num_rows($result_set)) == 1){ $query = "SELECT * "; $query .="FROM occupied_seats "; $query .="WHERE ticket_number = \"$ticket_number\" AND status = 0 "; $result_set = safe_query($query); if((mysql_num_rows($result_set)) == 1){ $payment_date = date("Y-m-d H:i:s"); $query1 = "UPDATE occupied_seats "; $query1 .= "SET payment_date =\"$payment_date\", status=1 "; $query1 .= "WHERE ticket_number = \"$ticket_number\" "; safe_query($query1); echo "Payment by a passenger with ticket of ticket number $ticket_number"; ?><br /><?php echo "has been successfully been confirmed!!!"; ?><br /><br /><?php echo "Please stamp the passenger's ticket with an official Simba Coach Bus Limited stamp!!! "; }else{ echo "The payment was previously made! Payment cannot be made more than twice!! If you believe this is untrue then contact the webmaster!!!"; } }else{ echo "Ticket Number $ticket_number is invalid! If you believe this is untrue then contact the webmaster!!!"; } } if(isset($_POST['submit1'])){ //Revoke Payment $ticket_number = trim(cleanup_text($_POST['ticket_number'])); $query = "SELECT * "; $query .="FROM occupied_seats "; $query .="WHERE ticket_number = \"$ticket_number\""; $result_set = safe_query($query); if((mysql_num_rows($result_set)) == 1){ ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 73

COMPUTER SCIENCE PROJECT I

$query = "SELECT * "; $query .="FROM occupied_seats "; $query .="WHERE ticket_number = \"$ticket_number\" AND status = 1 "; $result_set = safe_query($query); if((mysql_num_rows($result_set)) == 1){ $revoke_date = date("Y-m-d H:i:s"); $query1 = "UPDATE occupied_seats "; $query1 .= "SET revoke_date =\"$revoke_date\", status=0 "; $query1 .= "WHERE ticket_number = \"$ticket_number\" "; safe_query($query1); echo "Payment by a passenger with ticket of ticket number $ticket_number"; ?><br /><?php echo "has been successfully been revoked!!!"; } else{ echo "The payment was not previously made! Revokement cannot be made where there was no payment!! If you believe this is untrue then contact the webmaster!!!"; } ?><br /><br /><?php }else{ echo "Ticket Number $ticket_number is invalid! If you believe this is untrue then contact the webmaster!!!"; } } ?>

The above code segments were used to implement the most important parts of Online PSV Booking Management System.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 74

COMPUTER SCIENCE PROJECT I

CHAPTER 10: TESTING


10.0 INTRODUCTION
Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. Different specifications for different computers exist. It is therefore important to test the system using computers with different specifications to determine how the system behaves. Testing is also necessary for the various inputs to ensure that the inputs conform to the required inputs so that quality is maintained. Thus all inputs must be validated and erroneous data inputs detected and errors displayed to the user. This chapter discusses the various tests performed on system using random data inputs to determine the behavior encountered compared to the expected behavior.

10.1 TYPES OF TEST CARRIED OUT


UNIT TESTING/MODULE TESTING During this test, each module was tested alone to ensure that they operate properly. In other words, the test was carried out in an attempt to discover any errors in the code. Results of some of the unit tests that were carried out include: A test that was done for module that accepts passengers details The module was found to function properly after several corrective measures that were taken. Now, when the passengers details are incomplete as required or when they are invalid, an error message appears to indicate the errors that have occurred and then offer a chance to retry. The error message is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 75

COMPUTER SCIENCE PROJECT I

INTEGRATION TESTING This refers to the process of system integration that involves building a system from its components and then testing the resultant system for problems that arise from component interaction. After thorough corrective measures, it was successfully found out that the integrated system now functions as expected. An example of one of the results of the integration testing When a passenger selects a date for a certain journey but the specified journey is not available on that date, an error message will be displayed then offer an opportunity to select a different date. The error message is as shown below: -

SECURITY TESTING This is intended to verify that protection mechanisms built into the system will protect it from improper penetration. After thorough corrective measures, the system was found to be very secure. One of the results of the security testing that was done displayed the following error message:

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 76

COMPUTER SCIENCE PROJECT I

STRESS TESTING This is done to confront the system with abnormal situations. The aim of this testing is to try to find out if a system can break under abnormal situations. One of the results of stress testing include: When a record is needed to be written to the database with incomplete information, an error message will be displayed as shown below: -

This ensures that no incomplete record is written to the database.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 77

COMPUTER SCIENCE PROJECT I

CHAPTER 11: RESULTS AND DISCUSSION


11.0INTRODUCTION
Thischapter brings out the overall view of how the Online PSV Booking Management System offer services to both the passengers and the companys employees. Therefore, the system is divided into two major parts, namely: -

i.

Public Area: - This is the area where the passengers visit once they enter the home URL of this systems site. At the home page, the passenger will be required to fill the provided fields for his/her personal and journey details. After that, a provisional ticket will be auto generated which will also contain the relevant journey conditions.

ii.

Staff Area: - This is the area whereby the companys employees and owners visit once they are authenticated as per their usernames, passwords, and stipulated privilege. This area is subdivided into two sections namely: Administration Area and User Area.

11.1 PUBLIC AREA


When the first webpage of URL of this Online PSV Booking Management System Public area (http://localhost/psv/index.php) is entered on the Internet browsers URL address field and then pressing once the keyboards Enter key or by clicking on the go link on the browser window, the below web page will be displayed that contains a Form that a passenger will be required to fill his/her personal details and journey details. After filling the form the passenger will then click on submit then guided further as will be shown later in this section. The homepage will also provide the passenger with relevant links to other documents. The links are: ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 78

COMPUTER SCIENCE PROJECT I      

Home Booking Journey Details Journey Days Journey Conditions Regenerate Ticket

Further explanations about these links will be dealt with in later parts of this section. The first web page of the system on this public area is as shown below: -

After filling the fields above as expecting and then clicking on the submit button, the next web page will be displayed containing auto generated departure times that will only fit the passengers journey specifications that he/she had previously chosen i.e. departure town, destination town and date of travel. The passenger will then have to select his/her desired departure time and then click on submit.

This webpage which will contain auto generated fitting departure times is as shown below: ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 79

COMPUTER SCIENCE PROJECT I

After the passenger has selected his/her preferred departure time and then clicked on the Submit button, another web page will be displayed that will contain an auto generated available seats as per the passengers journey specifications i.e. departure town, destination town, date of travel and departure time. This web page which will contain available seats is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 80

COMPUTER SCIENCE PROJECT I

After the passenger has selected his/her desired seat number and then clicked on Generate Ticket, another web page will be displayed on the browser window that will contain an auto generated provisional ticket. The ticket will have to be paid for before the deadline as stipulated on the journey conditions as specified on the ticket. Failure to meet the stipulated conditions, the passengers seat will set vacant. This webpage which will contain the provisional ticket is as shown below: -

Thereafter, the passenger will have to click on the Printer Icon which is at the top-right most of the ticket so as to print the ticket. After getting a printed provisional ticket, the passenger will have to pay for the ticket before the deadline, as specified on the ticket, at any of Simba Coach Bus Limited Companys booking office. Then, the Simba Coach Bus Limited Companys clerk will stamp the passengers ticket. The passenger will only be allowed to travel with a legally stamped ticket.

11.1.1 Public Area Menu Links The web pages at Public Area contain four (4) menu links as stated earlier. These links are: -

Home Page 81

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

COMPUTER SCIENCE PROJECT I      Home link


When Home link is clicked, a homepage of Simba Coach Bus Limited Company website will be displayed. This companys site is where this Online PSV Booking Management System will be available.

Booking Journey Details Journey Days Journey Conditions Regenerate Ticket

Booking link
When Booking link is clicked, a homepage of this systems site will be displayed. On this page, the passenger will be required to fill in his/her personal details and some of his/her journey details. If one is currently at the homepage, then clicking on that link will just refresh the page. This Booking page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 82

COMPUTER SCIENCE PROJECT I

Journey Details link When Journey Details link is clicked, another web page will be displayed which will contain a table that will hold available journey details. The journey details include departure town, destination town and fare associated with each journey. The web page which is linked to this Journey Details link is as shown below: -

Journey Days link When Journey Days link is clicked, another web page will be displayed which will contain a Form which will require a user to fill in as expected i.e. to fill in departure town and destination town. This web page is as shown below:-

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 83

COMPUTER SCIENCE PROJECT I

When the View Journey Days button is clicked after filling valid details on the forms fields , another webpage will be displayed which will show the travel days of the specified journey towns in a table. This web page is as shown below: -

Journey Conditions link When Journey Conditions link is clicked, another web page which will contain a table that will hold available journey conditions. The web page which is linked to this Journey Condition link is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 84

COMPUTER SCIENCE PROJECT I

Regenerate Ticket link When Regenerate Ticket link is clicked, another web page will be displayed which will contain a Form which will require a user to fill in his/her bus ticket number. This web page is as shown below:-

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 85

COMPUTER SCIENCE PROJECT I

When the ticket number has been entered and the Submit button clicked, the bus ticket will be regenerated as the way it was previously. In this case, the passenger can only regenerate his/her bus ticket only if he/she remembers the bus ticket number. For example, say the ticket number is 185, since it was a valid ticket number, the following bus ticket was regenerated:

When the Printer Icon which is located at top-right of the ticket, the ticket will be printed out if the printer is connected to the computer or mobile phone.

11.2 STAFF AREA


As stated earlier, this area is subdivided into two sections, namely: i. Administration Area: - This is where the overall administrative duties of the system are performed. The only person who is authorized to get access to this area is the Systems Administrator. He/she gets access to this area after authentication as the required specification.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 86

COMPUTER SCIENCE PROJECT I

ii.

User Area: -This is the area where the companys clerk gets access to after a specified authentication. The duty performed at this area is only to manage passengers payments i.e. either to make payments or to revoke payments.

Login page When the URL address of the staff login page (http://localhost/psv/staff/login.php) is entered on the Internet browsers URL address field and then pressing once the keyboards Enter key or by clicking on the go link on the browser window, the following web page will be displayed which will contain a Login Form. This page will even contain links to reset password and also to get new password if a user/administrator forgets his/her password. The web page is as shown below: -

Forgot Password link The Forgot Password link will enable a user to get a newly generated password in case he/she forgets his/her password. This will be possible once he/she clicks the link then another page will be displayed which will require the user to fill in his/her valid username, the security question he/she chose during sign up and the answer he/she provided to that question during the sign up. This page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 87

COMPUTER SCIENCE PROJECT I

When the user fills the required valid details, a newly generated password will be displayed on the screen which he/she can then reset. This is as shown below: -

Reset Password link Back on the login page as previously shown above, when the user clicks on the Reset Password, another web page will be displayed which will require the user to fill in his/her valid username, current password, new password he/she wants and then the confirmation of this password. This web page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 88

COMPUTER SCIENCE PROJECT I

When the details provided by the user are found to be valid, the web page as shown below will be displayed which will contain a message of a successful password reset: -

11.2.1 Administration Area Back to the Login page which was shown previously, when valid user details have been filled and then selecting an Admin privilege, the administrator will be authenticated and taken to the home of an Administration Area. This area will have an interface as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 89

COMPUTER SCIENCE PROJECT I

This home area of the Administration Area will contain an Admin Menu which has the following items: y y y Manage Website Content Add Staff User Delete Staff User

Furthermore, it will have links to the public site/area and admin menu. In addition, it will also have the mechanism of allowing the administrator to log out of his/her account.

Add staff user menu item When the administrator clicks on this item, another web page will be displayed that will allow the administrator to add new users of the system. The administrator will have to enter the personal details of the staff member to be added as a new system user. Then the staff member will have to choose a username, password, privilege, security question and security answer due to login purposes and also if one wants to reset or get a new password in case he/she forgets the password, he/she will be required to answer the security question as initially answered.

The interface of this page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 90

COMPUTER SCIENCE PROJECT I

Delete staff user menu item When this item is clicked, a new page will be displayed that will allow the administrator to remove a specified system user. This web page is as follows: -

The administrator will have to enter the users code and username and then click on Remove User button. If the given details are valid, the user will be removed as a system user else an

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 91

COMPUTER SCIENCE PROJECT I

error message will be displayed showing that the details provided are invalid and then offer a chance to retry.

Manage Website Content menu item When this item is clicked on, another page will be displayed that will allow the system administrator to manage the website content both at the public area and at the staff area. This page is as shown below: -

This page will contain ten menu items which will allow the administrator to do a variety of things as illustrated below.

Drivers Details sub-menu item When this item is clicked, a new page will be displayed that will allow the administrator to add/delete/update/read drivers details. This page is as shown below:-

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 92

COMPUTER SCIENCE PROJECT I

Financial Report When this link is clicked, another page will be displayed which when the administrator clicks on View Financial Report link and then clicks on View Financial Report as per the Journey link, yet another page will be displayed which will require the administrator to fill in the details of the journey of which the financial report needs to be viewed and/or even printed. This web page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 93

COMPUTER SCIENCE PROJECT I

After filling the valid journey details (departure town, destination town, departure time and date of travel), another page will be displayed which will contain the financial report of the specified journey. This page is as shown below which was as result of providing the valid journey details: -

Journey Conditions sub-menu item When this link is clicked, another page will be displayed which will allow the administrator to view/edit the journey/travelling conditions that the passengers will have to adhere with. These conditions also appear on the auto generated passenger ticket. This page is as shown below:-

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 94

COMPUTER SCIENCE PROJECT I

Journey Details sub-menu item This item, when clicked, will cause another page to be displayed that will allow the system administrator to view/edit/add/delete journey details. These journey details include departure town, destination town and the associated fare. This page is as shown below: -

Journey Report sub-menu item When this link is clicked, another page will be displayed which will allow the administrator to view booked seats as per the journey or even drop the reserved seats when need arises. This page is as shown below: ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011 Page 95

COMPUTER SCIENCE PROJECT I

Manage Passengers Payments Details sub-menu item When this link is clicked, another page will be displayed which will allow the administrator to manage seat-payment by the passenger or even revoke payment that was made when need arises. This page is as shown below: -

Passengers Details sub-menu item When this link is clicked, another page will be displayed which will allow the administrator to view passengers details of the specified journey. This page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 96

COMPUTER SCIENCE PROJECT I

Seats sub-menu item When this link is clicked, another page will be displayed which will allow the administrator to view/add/remove the bus seats. This page is as shown below: -

Staff Details sub-menu item When this link is clicked, another page will be displayed which will allow the administrator to view/add/remove staff details. This page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 97

COMPUTER SCIENCE PROJECT I

Staff Privileges sub-menu item When this link is clicked, another page will be displayed which will allow the administrator to view/add/ remove the staff login privileges. This page is as shown below: -

11.2.2User Area As stated earlier, Staff Area is divided into two parts: - Administration Area and User Area. I have so far talked much about the Administration Area; now let me talk about the User Area.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 98

COMPUTER SCIENCE PROJECT I

The User Area is the part where the companys booking clerks use to manage passengers payment details. After filling the valid user details on the login form of the staffs login page and then selecting a clerk privilege, after clicking on the Login button, the user will be authenticated and taken to the home of the User Area. This area will have an interface as shown below: -

When Manage Passengers Payment Details menu item is clicked, another page will be displayed which will allow the clerk to manage passengers payment details. This page is as shown below: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 99

COMPUTER SCIENCE PROJECT I

After entering a valid ticket number and clicking on the Submit button, another page will be displayed that will ask whether the clerk really wants to manage the passengers payment. This page is as shown below: -

The clerk can either select YES or decide to cancel the process. When YES is chosen, another web page will be displaying that will give the clerk an option to either Make payment for the passenger or Revoke passengers payment for the specified ticket number. This page is as shown below: -

When Make button is clicked, another page will be displayed which will confirm if the payment was successfully made. This confirmation page will be as follows: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 100

COMPUTER SCIENCE PROJECT I

But when the ticket number is invalid, the page will display a message about the invalidity of the ticket number. This is as shown below: -

On the other hand, if the Revoke button was clicked, another page will be displayed and give a message that Payment Revocation was successfully but only if the ticket number was valid and the payment was previously made else a message will be displayed that will give a reason as to why the revocation was unsuccessfully. The following page shows a successfully payment revocation: -

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 101

COMPUTER SCIENCE PROJECT I

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 102

COMPUTER SCIENCE PROJECT I

CHAPTER 12: CONCLUSION & RECOMMENDATION


CONCLUSION
The Online PSV Booking Management System is meant to offer, on the passengers point of view, an online seat booking services and also provides capability to regenerate a ticket in case the previous ticket is misplaced. In addition to that, the bus companys system administrator And booking clerks will be able to perform their duties online.

When this system is brought to real world use, it will increase the efficiency of passenger/customer service at the Simba Coach Bus Limited Company. This will result to a minimized congestion at the booking offices due to the reason that may be most of the passengers will prefer the online services.

Moreover, it will improve the effectiveness and efficiency of the duties performed by the companys employees. This is because they will be able to work from anywhere provided theres internet connectivity.

Furthermore, it will ensure double-booking doesnt occur since the system is developed to be very accurate during its processes.

Lastly, it will also minimize, greatly, the paper work hence making the offices presentable due to lack of old paper files that may be on the shelves, tables, etc. this is because most of the records will be stored on the hard disk while the records backups stored an the CD ROMs (Compact Disk Random Access Memory).

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 103

COMPUTER SCIENCE PROJECT I

RECOMMENDATION
This Online PSV Booking Management System that I have developed, even though it is functional as it was expected, it still needs some improvements so as to serve the bus companys passengers more efficiently and effectively. Therefore, I recommend that this system to be improved in the very near future so as to allow the passengers not only to reserve their seats but to also make ticket payments online.

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 104

COMPUTER SCIENCE PROJECT I

CHAPTER 13: REFERENCES

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 105

COMPUTER SCIENCE PROJECT I

CHAPTER 14: APPENDIX

ONLINE PSV BOOKING MANAGEMENT SYSTEM MWAMBEKE 2011

Page 106

S-ar putea să vă placă și