Online Car Tental System
Online Car Tental System
Online Car Tental System
CHAPTER-1
INTRODUCTION TO ONLINE CAR RENTAL SYSTEM
1.1 Introduction
This project is designed so as to be used by Car Rental Company specializing in renting cars to
customers. It is an online system through which customers can view available cars, register,
view profile and book car.
1.5 Scope
This project traverses a lot of areas ranging from business concept to computing field, and
required to perform several researches to be able to achieve the project objectives. The area
covers include:
Car rental industry: This includes study on how the car rental business is being done, process
involved and opportunity that exist for improvement.
PHP Technology used for the development of the application.
General customers as well as the company’s staff will be able to use the system effectively.
Web-platform means that the system will be available for access 24/7 except when there is a
temporary server issue which is expected to be minimal.
CHAPTER-2
CAR RENTAL SERVICES
CHAPTER-3
FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS
3.1Functional Requirements
Requirement analysis is a software engineering technique that is composed of the various tasks
that determine the needs or conditions that are to be met for a new or altered product, taking
into consideration the possible conflicting requirements of the various users.
Functional requirements are those requirements that are used to illustrate the internal working
nature of the system, the description of the system, and explanation of each subsystem. It
consists of what task the system should perform, the processes involved, which data should the
system holds and the interfaces with the user. The functional requirements identified are:
a. Customer’s registration: The system should allow new users to register online and generate
membership card.
b. Online reservation of cars: Customers should be able to use the system to make booking and
online reservation.
c. Automatic update to database once reservation is made or new customer registered: Whenever
there’s new reservation or new registration, the system should be able update the database
without any additional efforts from the admin.
d. Feedbacks to customers: It should provide means for customers to leave feedback.
3.2:Non-Functional Requirements
It describes aspects of the system that are concerned with how the system provides the
functional requirements. They are:
a. Security: The subsystem should provide a high level of security and integrity of the data held by
the system, only authorized personnel of the company can gain access to the company’s secured
page on the system; and only users with valid password and username can login to view user’s
page.
b. Performance and Response time: The system should have high performance rate when executing
user’s input and should be able to provide feedback or response within a short time span usually
50 seconds for highly complicated task and 20 to 25 seconds for less complicated task.
c. Error handling: Error should be considerably minimized and an appropriate error message that
guides the user to recover from an error should be provided. Validation of user’s input is highly
essential. Also the standard time taken to recover from an error should be 15 to 20 seconds.
d. Availability: This system should always be available for access at 24 hours, 7 days a week. Also
in the occurrence of any major system malfunctioning, the system should be available in 1 to 2
working days, so that the business process is not severely affected.
e. Ease of use: Considered the level of knowledge possessed by the users of this system, a simple
but quality user interface should be developed to make it easy to understand and required less
training.
CHAPTER-4
CAR RESERVED
NEW
REGISTRATION ADD
ONLINE CAR CUSTOMER CAR
CUSTOMER RENTAL RENTAL
COMPANY
LOGIN REQUEST
. SYSTEM TRANSACTION
REPORTS
AUTHENTICATION
REGISTRATION CONFIRMATION
Figure
4.1 Level 0 DFD of Online Car Rental System
In this diagram, Customer and Car Rental Company are the two entity sets.
Functions of Customer:
New Registration
Login Request
Registration Confirmation by the System
Reserve Car
Car Issued by the System
Email received for Reserved Car
RESPONS
RESPONSE TO FEEDBACK E TO
FEEDBACK
CUSTOMER DB
CUSTOMER
DETAILS
FEEDBACK
LOGIN
DETAILS
SIGNED IN STAFF
REGISTER AS
NEW MEMBER
CUSTOMER CUSTOMER DB
REPORT STAFF DB
CHOOSE PROCESS REPORT
CAR RENTAL VIEW
REPORT SIGNED IN
CAR DB REPORT
CAR
RESERVED
FEEDBACK CAR DB
CHAPTER-5
USE-CASE DIAGRAMS
customer.
Process This use case described the event by which
rental staff updates the system when customer pick up
or when returning car.
Add new This use case describes the event by which
staff Admin add new staff detail to the company's
staff database. It is invoke whenever a new
Admin
staff join the company.
View This use case is used by the Admin to view
report transaction report.
Depends on
Register as Add new car Update car details
Member
Pick car
<<extend>> Make reservation
Process rental
<<extend>>
Return car
<<extend>> <<extend>>
Reply to customer's
feedback
Late return Early return Depends on
Give feedback/
comments View cus tomer's
<<include>> patronage
View report
<<include>>
View transaction
report
CHAPTER-6
ACTIVITY DIAGRAMS
6.1 Activity Diagram
Activity diagrams graphically represent the sequential business and operational workflows of a
system. It is a dynamic diagram that shows the activity and the event that causes the object to
be in the particular state. The workflows from activity diagram will serve as guide for system
navigation in the final design phase of the system.
Enter details
[Yes]
Confirm and
submit
Display customer's
welcome screen
Send email
confirmation
End
[No]
Login Valid?
Update database
Send confirmation
notification
Log out
End
Start
Choose pickup
location
Choose return
location
[No]
Member?
Login
Register
[No]
Valid?
[Yes]
merge
Confirm
Redirect to payment
gateway
Send confirmation
End
Submit feedback
Send notification
End
Staff
Start
Provide member id
[No]
Pay late charges
Merge
Confirm return
Update database
End
Figure 6.5: Rent a Car
Login
[No]
Login
Valid?
[Yes]
Add to inventory
Update status
End
Start
Login
[No]
Valid?
[Yes]
Specify report to view
Retrieve report
End
CHAPTER-7
SEQUENCE DIAGRAMS
7.1 Sequence Diagram
Sequence diagrams are used to demonstrate the behavior of objects in a use case by describing
the objects and the messages they pass. It provides a graphical representation of object
interactions over time. Sequence diagrams show an actor, the objects and components they
interact with in the execution of a use case. One sequence diagram represents a single Use
Case 'scenario' or events. Sequence diagrams show the flow of messages from one object to
another, and as such correspond to the methods and events supported by an object.
Enter details
Enter username
Check username
Enter password
Login/register
Pass to control
Check username and password
Enter details
Add to database
Send confirmation
Login
Pass to control
Check validity
Log out
Close session
Figure
7.4: Add new car
Login
Check validity
Get staff info
Select feedback
Display feedback
Respond to feedback
Log out
End session
Interface:i001 Database:"db
Customer:ola Staff:john 01"
Provide member id
Update database
Login
Check validity
Specify report
Retrieve report
Log out
End session
CHAPTER-8
CLASS DIAGRAM
8.1 Class Diagram
The class diagram is the main building block, a number of classes are identified and grouped
together in a class diagram which helps to determine the statically relations between those
objects.
Automation notify
provides 1 alert
Distance chart - name : string 1
1..*
- source : string get () Feedback respond to
- destination : 1 provide () 1..* 1..*
alert () 1
- id : int Staff
get () notify () - custName : string
provide () - custEmail : string
1notify - sid : char
- sname : string
1..* send () - position : string
respond () - mobile : int
Reservation Customer
gives1..* add 1 addcar ()
- rid : int - userId : string 1..* modifyInfo ()
- pickdate : date makes 1..* - custName : string 1..*
- returndate : date 1..* - cusAddr : string 1 add
- mobile : int 1..*
- pickloc : string
- VehicleClass : string - email : string Car 1
Admin
1..* register () 1
reserve () rent - PlateNo : string
search() login () 1 - CarName : string - Id : string
reservation () - carType : string - name : string
1..* - rent : double
makes makes add ()
add () modify ()
1..* modify () view ()
1..* Return reserve ()
1
Payment
- id : int
- retdate : date process View
- id : int
- amount : double 1..*
- custName : string update () Report
pay () - id : int
confirm () - date : date
Early return - title : string
Late return
1..*
- lateCharge : double generate ()
confirm () print ()
save ()
pay ()
confirm ()
CHAPTER-9
INTRODUCTION OF TECHNOLOGIES USED IN PROJECT
9.1 About PHP
PHP: Hypertext Pre-processor is a widely used, general-purpose scripting language that was
originally designed for web development to produce dynamic web pages. For this purpose,
PHP code is embedded into the HTML source document and interpreted by a web server with
a PHP processor module, which generates the web page document.
PHP was originally created by Rasmus Lerdorf in 1995 and has been in continuous development
ever since. The main implementation of PHP is now produced by the PHP Group and serves as the
de facto standard for PHP as there is no formal specification. PHP is free software released under the
PHP License.
<head><title>php basics</title></head>
<body>
<h2>HELLO</h1>
<?php
echo "hello";
?>
</body>
</html>
In the above example PHP code is embedded within HTML. In this way PHP and HTML
coding is combined on the same page.
Since PHP is a server side scripting language, the PHP coding cannot be seen by the end user
through view source option, due to this feature PHP is very secure.
PHP is a parsed language; therefore PHP environment is necessary at the server for running
PHP scripts.
When a client requests web page containing PHP code from the server, then the requested PHP
pages are parsed under PHP environment and interaction with database is made if required.
After server side processing, the resulting HTML pages are passed to client and displayed on
the browser.
In this way the working of php is complete.
MySQL is a relational database management system (RDBMS) that runs as a server providing
multi-user access to a number of databases. MySQL is officially pronounced ("My S-Q-L"), but is
often pronounced ("My Sequel"). It is named for original developer Michael Widenius's daughter
My.
The MySQL development project has made its source code available under the terms of the GNU
General Public License, as well as under a variety of proprietary agreements. MySQL is owned and
sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Sun
Microsystems, a subsidiary of Oracle Corporation.
MySQL code uses C and C++. The SQL parser uses yacc and a home-brewed lexer, sql_lex.cc.
MySQL works on many different system platforms, including AIX, BSDi, FreeBSD, HP-UX, i5/OS,
Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, eComStation, OS/2 Warp,
QNX, IRIX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos, Tru64 and
Microsoft Windows. A port of MySQL to OpenVMS also exists.
All major programming languages with language-specific APIs include Libraries for accessing
MySQL database. In addition, an ODBC interface called MyODBC allows additional programming
languages that support the ODBC interface to communicate with a MySQL database, such as ASP or
ColdFusion. The HTSQL - URL based query method also ships with MySQL adapter allowing direct
interaction with MySQL database from any web client via structured URLs. The MySQL server and
official libraries are mostly implemented in ANSI C/ANSI C++.
In this project apache server is used to parse and execute PHP pages, before deploying websites on
the server, the website should be tested at the developer side to get a feel of how the website will
work on actual server.
Therefore apache server is like a local server on the developer side, apache server should be
informed about the environment on which it should work.
In our project apache server is configured to work with PHP, in this way all the PHP pages are
parsed and executed by the server.
When apache is installed on the system, then its services is controlled by apache service monitor.
CHAPTER-10
SCREENSHORTS
SNAPSHOT 1 : HOMEPAGE
SNAPSHOT 7: ABOUT US
CONCLUSION
Car rental business has emerged with a new goodies compared to the past experience where
every activity concerning car rental business is limited to a physical location only. Even
though the physical location has not been totally eradicated; the nature of functions and how
these functions are achieved has been reshaped by the power of internet. Nowadays, customers
can reserve cars online, rent car online, and have the car brought to their door step once the
customer is a registered member or go to the office to pick the car.
The web based car rental system has offered an advantage to both customers as well as Car
Rental Company to efficiently and effectively manage the business and satisfies customers’
need at the click of a button.
References Used:
http://www.carrentingsolutions.com/
http://www.flashvortex.com/
http://www.imscart.com/car_rental_software.html
Wikipedia.org
www.w3schools.com