This report is aimed at analyzing and designing a car rental system for a car rental company, which in our case is Smart car Rental Company. Essentially, the system will try and ease the process of checking the availability and booking of cars for hire by the customers and also enable the employees to process and follow up the same. To design the system a PHP.Net application and Access database will be employed to facilitate the same. A use case analysis will also depict the functionality of the system. The report thus outlines the documentation of the system analysis and its general design.
In analyzing the system, an introduction, mission and vision statement of the company, its objectives, SWOT analysis, an insight on its functionality, the constraints, risk management, and a flow diagram of Smart car rental system will be given. The subsequent part will entail the actual design of the system which comprises of UML diagrams such as use case diagram, class diagram, and a sequence diagram.
System analysis
Introduction
Smart car Rental Company has been in business for about half a decade and over the years, it has established itself as a reliable service provider in the car rental business. This basically entails offering people who do not own cars the opportunity to rent one. However, a visit to the company revealed that with the growing client base and growing competition has led to a compromise in the efficiency of their services especially prompt booking and record keeping. They still employ the manual reservation in papers and books and do not have an efficient record of regular clients making them repeat the tedious task of registration every time. In addition, there is no absolute way of monitoring the vehicle checking in and checking out thus the confirmation of the availability of a vehicle for hire is dependent on word of mouth. With technology being used to improve the efficiency of service providers and competitors using the same, it has become imperative to keep pace with this advancement. To do this, we plan to develop a car rental system which will provide clients and staff with ability to inquire on availability and cost, make reservation, issue invoice, issue contracts, checkout and check in vehicles. This will have the ultimate effect of cost reduction, customer retention and better fleet and staff management.
Our Mission and vision
We endeavor to provide the general public with the ease of access to car rental services offering a wide variety of vehicles for hire to suit whatever occasion. We try as much as we can to satisfy the customer’s specifications and meet their demands as much as we can. We aspire to make the client our primary concern and add value to their lives by meeting and surpassing their expectations. To deliver quality products, friendly service from courteous and well informed staff and offer professional advice at affordable cost whenever necessary forms the basis of our mission. We also have the vision to be a techno-savvy, efficient and the company of choice by satisfactorily fulfilling our client’s car rental requirements. In addition, we aim at maintaining and improving our good reputation. (Boucher & Yalcin, 2006).
Goals
Smart car Rental Company’s main goal revolves around the client as is any other company. We hope to be the car rental company of choice in the region and maintain and expand the client base both locally and regionally. This can be done by knowing what the customer’s are looking for and customizing our services to meet their preferences.
The Objectives
For any company to gauge its progress and milestones, it has to come up with a number of objectives which will assist the company in implementing its mission and vision. Smart car Rental Company is no exception and has thus constituted some objectives in its achievement agenda and these include:
- To use new innovations and ideas to improve services and enhance customer satisfaction.
- To handle client’s queries and requirements amicably and in time.
- To maintain our loyal customers by offering dependable and consistent service coupled by a personal address of issues.
- To make it easy for a customer whenever they would like to rent a car.
- To produce a web-based system that allows customers to register and reserve car online and for the company to effectively manage the car rental business.
SWOT Analysis of Smart car Rental Company
Strengths
For Smart car Rental Company, its strengths basically lies in its service delivery which the company has learnt to improve over the years. A team of experienced and diligent drivers; a variety of vehicles to suit any occasion; a strategic easy access location and years of experience in the car rental business give the company a stronger edge over its competitors.
Weaknesses
Smart car Rental Company faces the following challenges and needs to concentrate on improving these weaknesses to maximize output. It mainly lacks the efficient capacity to facilitate its reservations and lacks an adequate form of record keeping, such that there is no way of distinguishing its loyal customers. Furthermore, it has all its fleet concentrated in its primary location thus lacks the capacity to offer services from satellite locations. Our system aims at helping them solve the first two weaknesses.
Opportunities
If it maximizes its human and technological resources adequately, Smart Car Company has the opportunity to expand its client base and exert an even greater influence in the region. Also there is the prospect of utilizing the improvements in technology to better the services as is evident from our system proposal.
Threats
It is evident that just like any other business, Smart car rental company faces imminent threats bound to hamper its productivity. Fuel forms the basic operational component and thus international fluctuations in fuel prices is likely to affect its costs. On the other hand, insurance is vital for any business and increasing interest rates are a sure threat. Lastly, competitors with aggressive business strategies form the greatest threat to the survival of the business. Thus, the company needs to be aware of these threats and come up with adequate combat strategies to counter the same.
Functionality of the system
Functional requirements refer to those requirements that are used to outline the operation of the system, its description, and an insight into each subsystem. (Giachetti, 2010)It essentially outlines what task the system needs to perform, the involved processes, which data the system should hold and the user interface. These functional requirements include:
- Customer registration: the system allows new users to register and save their information online which can be accessed and updated at any time. Also it enables them generate a membership card.
- Online car reservation: it should allow the customer view his car of choice and make a booking and reserve it online.
- Automatic update to the main database once the reservation has been made or after new customer registration: the system should be able to update the database without additional efforts from the administrator once a new reservation or registration is made.
- Customer feedback: the system should also provide the customer with an opportunity to leave a feedback and also obtain a response to their concerns.
There are various risks that might hinder the system’s functionalities and processes. These may include: – technical problems such as system’s failure, intrusion, loss of information and hardware damage; slow performance and response time; error handling and its availability.
To counter the above mentioned risks the following non-functional requirements need to be put in place. These are:
- Security: a high level of security and unmatched integrity of the data within the system should be provided by the subsystem. Only company authorized personnel can gain access to the system’s secured page; and only users with authenticated username and password can be able to login to the user’s page.
- Response and performance time: when executing the user’s request, the system should have a high rate of operation and be able to process and provide feedback within the shortest time possible approximately less than a minute for the most complicated tasks.
- Error handling: there should be an appropriate error information message that enables the user to recover from a mistake. More so, the errors should be kept to a minimum and the standard error recovery time be maintained within less than 20 seconds.
- Easy to operate: considering the technological know-how of the operators of this system, a simple yet quality user interface needs to be created to make understanding and training easier.
- Availability: this system should be able to be operational and accessible all the time and in case of any serious system breakdown, it should be available in at most 2 working days to ensure the business is not affected.
Constraints
The limitations facing the car rental system include:
- Technical constraints. The lack of resources such as hardware components like processor capabilities, memory capacity and additional disk capacity.
- Financial constraints. The implementation of the system would require significant financial input to facilitate acquisition of new hardware, software, system operation staff and to facilitate the training process.
Data flow diagram (DFD)
This refers to a graphical representation that shows the flow of information and the transformational changes that the data undergoes as it is channeled from input to output. It basically puts into context the functionality of the system graphically. For the car rental system, the following DFD depicts its functionality
Figure 1 depicts the 0 DFD diagram for Smart car rental system that entails 2 external entities and 4 basic processes. The processes are:
- Customer registration.
- Car reservation.
- Automatic update.
- Feedback.
The external entity sets are the customer and the Smart car rental company each with individual functions. The process begins when the customer submits his details for registration which include his names, identification card details, driver’s license and address. The rental company verifies the information and registers the customer. He can then be allowed to login, choose and reserve a car of his choice. The system will show the availability of the car and an email will be sent to the customer to show the reserved car. The rental company will then view the transaction reports and charge the customer in accordance to their preferred service.
System Design
Use case analysis
Simply put, a use case diagram is an informal method useful for analysis of functional requirements and specification. (Satzinger, Jackson & Burd, 2008) It involves an analysis of how actors in the system interact with their use cases.
Class diagram
This is the building block of the system in which the classes involved are grouped together in a diagram that helps to come up with the existing relations between these objects. (Kendall , 2002) Figure 4 shows the class diagram of smart car rental system which is a detailed view of on use case. The classes are customer, staff, reservation, administrator, feedback, payment and return. Every class has its individual attributes that explain what the class can perform. Also, they are interconnected such that none is autonomous and the system acts to interconnect them all. The outcome of each process or action has been outlined and the subsequent commands shown by the direction of the arrows.
Activity diagram
The reason for an activity diagram is to outline the flow of actions procedurally that are part of a greater activity. (Kock, 2007) It shows the activity and the event in a dynamic diagram that causes the object to be in a particular state. This will be used as a guide for navigating the system in the final design phase of the system. They show all potential flows of sequence within an activity.
Sequence diagrams act to demonstrate the character of objects in a use case by outlining the messages and objects they pass. The way the constituent objects interact over a given duration is shown in a graphical form. (O’Docherty, 2005) They show an actor, objects and constituents that they associate with in executing a use case. Every sequence diagram addresses one use case.
Like in figure 9, the sequence diagram shows the process of reservation. The customer initially logs in and after being verified by the system with reference to the customer database begins the process of choosing the vehicle class, location, return location and the return date and time. From the car database, he will be presented with the list of the available cars and once he chooses he confirms and submits the information. He then enters the payment details with reference to his visa card details for processing of the payment, after which he is automatically updated as having reserved the vehicle.
Technology Used in the Project
PHP: This stands for hypertext pre-processor and is a general purpose writing language that was ideally designed for development of dynamic web pages. This means it is processed by an application that interpretes in a command-line mode hence executing the anticipated operating system functions and giving a program output on a standard output channel. It may also be used as a graphical application. PHP is hence used as a processor for several modern web servers and also as a standalone interpreter on a number of operating systems. (Darie & Balanescu, 2008) In this case, the PHP code is incorporated into a HTML source document for further interpretation by a web server that has a PHP processor module that finally generates the document in the web page.
The PHP code comes in a requested file and is executed by the PHP runtime mostly to develop dynamic web page content. PHP can be employed to several web servers, operating systems and platforms and in this case we have linked it to the database management system for the car rental system. (Powell , Green & Mairlot, 2002)
In the development of a car rental system the PHP system is linked to a relational database management system that can run a multi-user access to several databases. The ideal relational database of choice is MySQL whose source code is available under a General Public License. The MySQL code uses C and C++ while the SQL parser uses yacc and sql_lex.cc. It can work on a number of system platforms such as AIX, FreeBSD, Linux, Mac OS X, Open Server and Microsoft Windows.
The last component in implementing this system is apache server which is used to parse and execute PHP pages, before releasing the websites on the server. In this project, apache server is designed to work with PHP and thus the pages are parsed and executed by the server.
PHP Syntax..
HTML and PHP code is written on the same page but is distinguishable by enclosure within <? Php?> tags. For example:
HELLO</h 1>
In the above example the PHP code is embedded within HTML.
For example to Connect the PHP Application to MySQL Database the following would be used-
- Make a connection variable to the database:
- $con=mysql_connect (“localhost”, “servername”’ “password”);
- $con is a connection variable to database.
- Select a database over that connection variable:
- $db=mysql_select_db(“databasename,$con);
- Prepare a sql query to execute:
- $qry= Select * from abc;
- Run the sql query:
- $result=mysql_query ($qry);
- Iterate over the result:
- While ($row = mysql_fetch_array ($result))
{ //some logic }
Working of PHP:
We decided to try out PHP and MySQL relational database to develop our car rental system because it was interesting and a quite different from the Visual Basic Application and database program that we are used to. However, the actual system is still under development. Smart car rental system on completion would be similar to the following snapshots:-
This is the would be home page available to the customer.
This is a snapshot of the would be car catalogue for the customer’s viewing.
The car details of the available cars.
The car booking form.
This is the confirmation to the customer of his booking.
This is how the customer will be able to facilitate payment.
Summary
In designing this system we have used PHP programming language which executes anticipated operations in a command line way by utilizing an application that interpretes the process. (Stanciulescu, 2008) It can also be used as a standalone interpreter for a number of operating systems. This technology is what Smart car rental system is based on.
As times are going by, it has become imperative for the incorporation of technology into business. Car rental business is no exception especially with its new advancements from the previous dependence on physical location alone. The nature of functions and how they are achieved has been influenced by the internet. These days people willing to rent cars can easily reserve cars online, rent and have their vehicle of choice delivered to their door step once they are registered members. This web based car rental system offers advantage to both customers as well as the company to be efficient in management of their business while at the same time satisfying the customer’s needs in time.
References
Boucher , T., & Yalcin, A., (2006) Design of industrial information systems. New York: Academic Press.
Darie , C., & Balanescu, E., (2008) Beginning PHP and MySQL E-Commerce: From Novice to Professional. Chicago: Apress.
Giachetti, R., (2010) Design of Enterprise Systems: Theory, Architecture, and Methods. New York: CRC Press.
Kendall , K., (2002) Systems analysis and design. 5th edition. Chicago: Prentice Hall.
Kock, N., (2007) Systems analysis & design fundamentals: a business process redesign approach. New York: SAGE.
O’Docherty, M., (2005) Object-oriented analysis and design: understanding system development with UML 2.0. New York: John Wiley and Sons.
Photos of car rental system. Web.
Powell , G., Green, T. & Mairlot, B., (2002) Dreamweaver MX: PHP web development. Germany: Glasshaus.
Satzinger, J., Jackson, R., & Burd, S., (2008) Systems Analysis and Design in a Changing World. 5th edition. Carlifornia: Cengage Learning EMEA.
Stanciulescu, A. (2008) A methodology for developing multimodal user interfaces of information systems, univ. de Louvain, France.