DESIGN AND IMPLEMENTATION OF A CAR RENTAL SYSTEM
CHAPTER 1: INTRODUCTION
1.0 Brief introduction to Car Rental System
CAR RENTAL SYSTEM (CRS) is a web based system for a company that rents out cars. This system enables the company to make their services available to the public through the internet and also keep records about their services.
The world has become a place where there is a lot of technological development; where every single thing done physically has been transformed into computerized form. Nowadays, people’s activities have been transformed into work done by computerized systems. One of which is the main target of this project which is about Car Rental System. The system of renting cars exist back in the previous years, were people rent cars for their personal reasons. Car renting is essential to many peoples’ plan to travel or move from one place to another for business purposes, tour, and visit or holidays, for these reasons Car renting is very helpful.
The  starting point of Car renting is really unknown as said by Thomas Pretty; he also mentioned that many beliefs that Joe Saunders was the first man to start a Car renting company. According to Thomas Pretty, charges were calculated with the help of mileage tracking device. Many people became interested in the Car rental business and hence got involved. Car renting became more popular as years pass by. Today Car renting services is found all over the world, especially in the developed and developing countries. To make this service more popular and accessible to the public it has been transform into a web base system and connected to the internet were everyone can be able to have access to it.
The main objectives of this project are:
· To develop a web based system that will help manage the business transactions of car renting.
· To help in advertising the car rental services of a company, through the availability of the system online.
The scope of this project is as follows:
· The car rental system to keep detail records of both the cars and the customers, the duration they rent car as well as the type of car they rent.
· The system will be mainly design for small a company that renders it car rental services to customers.
· The system will have the ability to generate and print invoice for each successful transaction.
Level of Access:
The system will have two levels of access:
· The administrator
1.3 Problem Statement
The problem with some of the current system is that:
· Based on observations, some small companies already have a car rental system which is not a web based application. This is a limitation that gives them capability to store customer’s details, but at the same time they cannot make their services more available to the public through the internet, they rather make use of posters to advertise their services to the public. These types of companies can overcome these problems by switching to the web base application of their type of system.
· They also make use of phone call reservations which is also limited to many features as compare to a web base system. For example a customer may make a phone call reservation for a particular car, but when he/she comes to pick the car, he/she might turn not to like the car; this could be because the customer could not see a sample picture of the car he/she wants to rent
The Iterative Waterfall Model is the development methodology that will be used in this project to develop the CRS. This    Model is derived from the evolution of the Traditional Waterfall Model. It consist of five phases, which include; the Requirement and Definition, System and Software Design, Implementation and testing, System testing, Operation and maintenance. Each of these phase is repeated if an error is discover, this enables the correction of errors before moving to the next phase. The Figure 1.1 below represents the Iterative Waterfall Model for this project, and each of the phases is explain accordingly.
Figure 1.1: Iterative Water Fall Model
1.4.1 Requirement analysis and definition
The system’s services, constraints and goals are established by consultation with system users. Once these have been agreed, they must be defined in a manner which is understandable by users and development team. For example project scope, objectives.
1.4.2 System and software design
Using the requirement definition as a foundation, the requirements are divided into software and hardware. This is called system design. Software design is the process of representing the functions of each software system in a manner which may readily be transformed to one or more computer programs. Use case diagrams, class diagrams, sequence diagrams, entity relationship diagrams (ERD) and data dictionary are use at this level to represent the system design.
1.4.3 Implementation and unit testing
During this stage, the software design is released as a set of programs. Unit testing involves verifying that each unit is working according to the specification of the customer.
1.4.4 System testing
The individual programs or units are integrated and tested as a complete system to ensure that the software requirements have been met as specified by the end users. After testing has been completed, the software system is delivered to the customer.
1.4.5 Operation and maintenance
This is the longest life cycle phase. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in the earlier stages of the life cycle. The software must be adapted to accommodate changes in its external environment. For example, a change required because of a new operating system or peripheral device, or because the customer requires functional or performance enhancement.
During use, errors and omissions in the original software requirements are discovered, program and design errors come to light and the need for new functionality is identified.
1.5 Software development tools
The project will make use of the tools:
· The programming language to use will be PHP.
· A personal computer or laptop as hardware requirement.
· Microsoft 2003/2007 will be used for project documentation.
· MySQL and wamp server will be used for the development of the database
1.6.1 Problem restatement
Based on the research done, some car rental companies still use desktop application for their car rental services and thus making it to be limited to so many important feature that are not available unlike in the web based application where there are so many feature available. Also some upcoming companies do not only make use of these desktop applications, but also make use of phone call reservation, which is still lacking so many features that are needed for this type of system.
The most recommended solution to these problems is to implement a web based system that will have the features required for this kind of services or business.
In conclusion, the system will be able to serve as a web base application when it is finally developed, where these small upcoming companies can make use of it to publish their services in a wide range and also help the company to manage their service more effectively. On the other hand, it will enable customers to freely make their desire choice more freely and interactively.DESIGN AND IMPLEMENTATION OF A CAR RENTAL SYSTEM2