UTM Computing Proceedings
Innovations in Computing Technology and Applications
Volume: 5 | Year: 2022 | eISSN No. : 2976-2278
Car Rental System
Norhasliana Amiza Abdullah AND Ruhaidah Samsudin
School of Computing, Faculty Engineering
Universiti Teknologi Malaysia (UTM)
81310, Johor Bahru, Malaysia
[email protected],
[email protected] Abstract— The goal of this project is to develop and build a data process is quite a hassle as the staff, or the admin have to reply
management system for a car rental company. This solution to each one of the customers’ queries. They also need to answer
improves customer loyalty while also simplifies vehicle and staff the same questions such as the rate of car rentals, the
management. This application collects information from users by availability of the car and more. The customer needs to wait for
having them fill out their information. Agile methodology has been
chosen as the methodology and layered architecture pattern as the
their reply to know the car is available or not for that time. There
architectural design pattern. This project used PHP language with is no platform for customer to know the availability of the car
MySQL as a database. This system is an online system that is that they want to rent.
entirely integrated. It effectively and efficiently automates manual
procedures. This automated method assists consumers by allowing In this study, a Car Rental System a web-based
them to fill up the specifics based on their needs. It specifies the application which is in the e-commerce domain is proposed.
sort of car they are attempting to rent as well as the rental date. This technology is intended to assist the organization in
enabling auto rentals via an internet system. It allows users to
I. INTRODUCTION browse for available cars, edit their profiles, and reserve a car
This project will help the rental process of Khaimal Rental Car for a certain time period. It includes an easy-to-use interface
more convenience which is all the operations is carried out that allows the user to search for car and rent it for the time
automatically in web-based application of Car Rental System. period selected. They have the option of paying online as well.
By using these applications, the business will be available for By using these systems, the customer can make their booking
24 hours per day which is the customer can make the booking anytime and anywhere.
anytime. Car Rental System also help the staff to manage
multiple booking at one time without hassle. The status of car III. COMPARISON BETWEEN EXISTING SYSTEM
has been updated by the system within minutes which can helps The study's findings are reported in this section, which includes
the staff deal with the replacements and cancellation efficiently. a system comparison.
To ensure the satisfaction with the services, the system provide
a feedback part that customer can give their feedback after done
Table 1 Comparison the proposed system with existing system
renting the car with this company. The staff will know their rate
of service and can come up with better service in future. Type Application Khaimal Car Car Rental
Style and Fonts Features Rental System
Wherever Times is specified, Times Roman or Times New Customer can register an ✔ ✔
Roman may be used. If neither is available on your word account
processor, please use the font closest in appearance to Times. Login into the system ✔ ✔
Avoid using bit-mapped fonts. True Type 1 or Open Type fonts View user profile ✔ ✔
are required. Please embed all fonts, in particular symbol fonts,
as well, for math, etc. Edit user profile ❌ ✔
Customers give feedback ❌ ✔
II. PROBLEM BACKGROUND Customer can choose ❌ ✔
The Khaimal Car Rental used applications such as pickup and return date.
WhatsApp, Facebook, Telegram and etc. in order to exchange The previous date is not
information about the car rental with their customers. This available to pick
1
Norhasliana Amiza/ IJIC Vol. 001, No. 001 (2022)
Customer can edit the ❌ ✔ • Phase 1: Requirements/Planning
return and pickup date
• Phase 2: Design
Customers pick available ❌ ✔
car based on the date • Phase 3: Development
Customer can send query ✔ ✔
about booking • Phase 4: Testing
• Phase 5: Implementation and deployment
Table above shown the comparison the proposed system with • Phase 6: Review
existing system. Based on the analysis above about the
comparison with the existing system, to improve the user Figure 2 shown the cycle of these six phases of agile
experience, the proposed system would incorporate some of the methodology. All these phases will be discussed in this section.
present systems functionalities. In the existing systems, the
system does not allow the user to edit the profile or update the
profile. Hence, there is no feedback or rating section that the
customer can give their feedback in the system. Besides, the
customer also cannot reschedule the booking date in the system.
IV. METHODOLOGY AND DESIGN
Among various software development methodologies, for this
project I choose Agile methodology. The Agile software
development technique is one of the easiest and most successful
techniques to transform a business requirement vision into
software solutions. Agile software development is a concept Figure 2 Six Phases of Agile Methodology
that refers to methods that include continuous planning,
learning, improvement, team participation, evolutionary
development, and early delivery [2]. It increases adaptability in 1) Phase 1: Requirements/Planning
the face of change.
Release planning starting when the stakeholder has
been identified and specifies precisely what they want. Discuss
how this is feasible through growing the tale backlog. One
useful approach to think about stories is to explain the feature
or product by the end user. The requirements needed from the
Mr. Abu; the manager of Khaimal Car Rental have been
collected during the virtual meeting with him.
The problem background, goal, objectives, and scope
of the project were established based on the meeting. Following
Figure 1 Agile Methodology that, a use case diagram was created for each step to illustrate
the present workflow for managing bookings. A study of the
management's current manual system was used to conduct a
study of the problem's background. The backdrop of the issue,
Figure 1 shown the agile methodology. By using this the objective, the goals, and the scope of the project were all
method, the projects will be broken down into sprints or revised as a result of the review. In addition, a list of possible
iterations that are the repeatable phases in a within the time. The functions that may be implemented has been compiled.
number and duration of sprints should be defined at the start of Furthermore, the problem domain was thoroughly
the project, and each sprint should provide a draft, prototype, or examined in order to acquire a deeper knowledge of the issue.
viable version of the ultimate output. Implementing agile The users for the Car Rental System have been identified, as
technique has a number of benefits, one of which is that it is well as their interactions with the use cases. Then, to provide an
flexible that helps to plan the altered elements for the next overview of the system's features, a use case model was
iteration. constructed. Following that, use case descriptions for each use
case were recorded for each feature's comprehensive procedure.
A. Phases of the Chosen Methodology To illustrate the flow, each use case description was paired with
a sequence diagram and an activity diagram. Furthermore, the
Agile development is based on an iterative approach state diagram was created to depict all of the various states as
to technology design and development that accepts continual well as the transition that happens when a certain event
change. The Agile lifecycle adds structure to the fluid and happens.
flexible way a particular task is supplied. There are 6 phases
involved which are
Norhasliana Amiza/ IJIC Vol. 001, No. 001 (2022)
2) Phase 2: Design V. REQUIREMENT ANALYSIS
A review of various architectural patterns was carried To ensure the system run smoothly, the system requirements
out at this phase in order to select the best architecture for the has been analyzed. There are two categories that will be
CRS. Based on the information in Software Requirements analyzed in this section which are system hardware
Specification (SRS), the system's software architecture pattern requirements and system software requirements. Table below
was then established. To demonstrate the database architecture describes the minimum system requirements to develop Car
of the CRS, an Entity Relationship Diagram (ERD) was Rental System.
created. The Software Design Document (SDD) have been built
during this phase which is consist of the design of the purpose
system. Following that, the data structure design was used to Table 2 System Requirements
build the characteristics in each table. Hardware
Windows 10
3) Phase 3: Development
Processor Intel(R) Core (TM) i5-11300H
The development phase consists of the creation of CPU @ 3.10GHz
code and the transformation of design documents into the real System Type 64-bit Operating System
program in the development process. Begin building the first Random Access 4 GB
version of the product with the goal of having a functional, Memory (RAM)
useable product by the conclusion of the sprint. This is not the Software
final version and will go through many modifications, thus it Enterprise Architect Create UML diagrams
should only provide the bare minimum of functionality. The Xampp server Consists Apache server to run
code is done following the sprints. MySQL database.
Once a fixed time interval is determined for a sprint, it Visual Studio Code Used as coding environment
must be constant throughout the development cycle. For the System Requirements
sprint 1, there are 4 use cases that will be done which are Language Used PHP
register account, login, view profile and edit profile. For sprint Database MySQL
2, it is focus on the booking module which the use case consists User Interface Design HTML, AJAX, JQUERY,
of booking, choose car, select pickup and return date & time JAVASCRIPT
and location, edit return date & time and location, cancel
booking, make payment and booking status. All these use case One of the successful requirements gathering is
will be done during this sprint. Sprint 3 is for the owner car interview. Interviews with stakeholders and end users are
manage their car. The use cases are managed car, delete car, important to the development of excellent software. Unable to
edit car details, add car, check car status, update vehicle status comprehend and meet the aims and expectations of users and
and view booking. These use cases will be completed stakeholders. This will allow us to appropriately weigh and
throughout this sprint. For the last sprint focus on feedback handle the inputs of each interviewee. Good listeners get more
module that include give feedback, view feedback, and remove out of interviews than ordinary listeners. The online meeting
feedback. has been setting up to gather all the requirements that needed
by the stakeholder.
4) Phase 4: Testing
In this phase, the test cases created were reviewed and A. Functional Requirements
refined to ensure the test case cover the importance features in A case diagram is a technique to summarize the details
the system. Testing will be conducted by modules to make sure of a system and its users. It is usually displayed as a visual
that all the features are functioning and free from errors. All the representation of the interactions between distinct parts in a
outcomes will be recorded in software testing documentation system. Using case diagrams, the events in a system are
(STD). specified and the flow of such occurrences is not described by
case graphs. Figure above shows the use case diagram of CRS.
5) Phase 5: Implementation and deployment
This phase is essential to the functioning of the created system
that will assessed by the stakeholder. This ensures the entire
satisfaction of customers. In this phase the software has been
released to the market.
6) Phase 6: Review
When the system goes through all phases without problems, a
maintenance actions were taken, wherein modifications will be
updated and maintained from time to time.
Norhasliana Amiza/ IJIC Vol. 001, No. 001 (2022)
UC003: View This function is for customer to view their
Profile profile.
UC004: Edit The customer can edit their details here.
Profile This function requires the customer to edit
their details and update it.
UC005: This function is for customer to rent a car.
Booking
UC006: Choose The customer can choose their car based
Car on the details after the system give the
available car to choose within the time
and date that they already choose.
UC007: Choose The customer needs to enter booking date,
Booking Date the pickup and return date.
UC008: Vehicle The customer needs to update their
Status booking status through this function
whether they already take the car or has
return the car.
UC009: Make After the customer have done choose their
Payment car, they will be directed to the payment
page which is the system will display
booking info, their personal info and also
the customer need to fill in their billing
address and the payment type. If the
Figure 3 Use Case Diagram of CRS
payment successful, the system will
1) Actor Description display the successful message with
a) Customer booking details.
• This is a group of users that must be assumed that UC010: This function is for the admin to manage
they do not have any technical background Manage Car the car in the system.
regarding CRS application. Hence, all the user UC011: Add The admin can add new car into the
interface operations must be easily recognized. Car system by using this function.
b) Admin UC012: Edit The admin can edit the car details and
Car Details update the details into the system through
• This is also another group of users who are
this function
responsible for generating contents for the CRS
UC013: Delete The listed car can be deleted by the admin
that must be assumed that they do not have any
Car through this function. The system will
technical background regarding CRS application.
update the list of cars
Functions and operations involving this group of
UC014: This function is for the admin to manage
users must be easy to learn without any manuals
Manage the booking in the system.
or instructions in order to save time and energy
Booking
for them.
UC015: This function is for the admin to manage
2) Use Case Description
Booking status to update status of the booking either
Table below show the description of each test cases for the
confirm or cancel the booking
development of the system.
UC016: This function allows the admin to manage
Table 3 Use Case Description Manage the feedback that has been posted by the
Feedback customer
UC001: This function is for customer to register
UC017: Give This function is for customer to give their
Register an account to enter authorized pages in
Feedback feedback and rating on the service of the
Account CRS application. The customer required
booking process.
to fill in the registration details.
UC018: View This function is for admin to view all the
UC002: Login This function is for users to authenticate
Feedback feedback of their customer.
their identities and be directed to the
UC019: Send This function is for the customer who has
respective pages. This process will
Query query about their booking.
require to enter the email and password
supplied during the registration process. UC020: This function is for admin to view the
Manage query that has been send by the customer.
Customer
Query
Norhasliana Amiza/ IJIC Vol. 001, No. 001 (2022)
VI. SYSTEM DESIGN AND ANALYSIS
A. System interfaces
The figures above will represent the entire system's user
interface. The system must display the main page before
allowing the user to log in. The user can access the system
through the login page, where they must enter their email
address and password. If the user is a first-time visitor, they
must first create an account. The system will display the
system's main page after they have successfully logged in.
Figure above show the interface of the system for the login
page, register page and the main page.
Figure 6 Main Page
B. System testing
1) Black Box Testing
Black box testing analyzes system functionalities without
referring to the system's internal structure. It ensures that the
system responds to each input with the desired results. The
Figure 4 Login Page tester merely needs to know the information to be input and
compare the output with the expected output during the test.
Testing documents were written in plain English so that they
could be easily understood. Table below show one test cases
that using the black box testing.
Table 4 Test TC001 for UC001 Register account
Varia Status Input data T01 T02 T03 T04 T05
ble
Full valid Hasliana X X X
name Amiza
invalid Hs&*! X
invalid “ ” X
Email valid hasliana@g X X
mail.com
invalid hasliana X X
Figure 5 Register Page
invalid “ ” X
Passw valid haSLiana99 X X
ord *
invalid 123 X
invalid “ ” X X
Conta valid 012345678 X X X
ct No 9
invalid 0af012w X
invalid “ ” X
EXPECTED RESULT
Norhasliana Amiza/ IJIC Vol. 001, No. 001 (2022)
Account registered to the X ACKNOWLEDGMENT
system
To everyone who made it possible for me to write this report,
Display error message X X X X thank you from the bottom of my heart. My deepest appreciation
ACTUAL RESULT goes go to Dr. Ruhaidah, who guide me over this semester. My
Account registered to the X fellow friends also deserve recognition for their assistance. I'd
system also like to thank everyone I've worked with and everyone else
who has helped me out at some point. The ideas and advice they
Display error message X X X X offer are quite helpful. I regret that due to space constraints, I
Pass/Fail PAS PAS PA PAS PA cannot provide a complete list here. For everything they have
S S SS S SS done for me, I am eternally grateful to my entire family.
REFERENCES
Table above shows the test case for user to register an account
before login into the system. this test case is to validate that the [1] 10 Best Web Development Frameworks to Use in 2021.
user can register an account after fill in all the fields’ forms. The Hackr.io. (n.d.).
test data provided to be input to the system then verify the [2] 16, A. J. van der H. M. (2020, February 27). What is the
expected output. After submitted the form, the data of the user Agile Development Cycle? A Quick Intro to Agile
will be saved in the database. Development. Mendix.
[3] 16, A. J. van der H. M. (2020, February 27). What is the
Agile Development Cycle? A Quick Intro to Agile
VII. CONCLUSION Development. Mendix.
Through the development of car rental system, the project [4] Altvater, A. A. (2020, April 24). What is Agile
objectives have been achieved. Elicitation and analysis of Methodology? How It Works, Best Practices, Tools.
Khaimal Car Rental has been done during “Projek Sarjana Stackify.
Muda 1” (PSM1). For “Projek Sarjana Muda 2” (PSM2), I have [5] David, M. (2021, June 19). The 5 best web application
successfully design and develop the car rental system for frameworks: How to choose. TechBeacon.
Khaimal Car Rental. All the documentation for the design of [6] Freeman, J. (2019, October 25). What is JSON? A better
the system has been recorded in Software Design Document format for data exchange. InfoWorld.
(SDD) and Software Requirements Specification (SRS). [7] Gillis, A. S. (2019, June 21). What is Systems Development
Furthermore, the testing and validation of the functional Life Cycle? - Definition from WhatIs.com.
requirements of the system has been completed. User SearchSoftwareQuality.
acceptance has been conducted and STD has been producing [8] Google. (n.d.). Firebase Realtime Database. Google.
that contained the details of the testing. [9] Kereta Sewa Kuantan & Kota Bharu Best Deal In Town
Kuantan & Kota Bharu Car Rental Best Deal In Town.
(n.d.).
[10] Pedamkar, P. (2021, June 10). What Is Ionic Framework?:
Why Should we use the Ionic Framework? EDUCBA.
[11] Pitaliya, S. (2021, February 2). A Comprehensive List of
Best Frontend Frameworks to Consider in 2021.
[12] Robinson, R. (2020, July 24). SQL for web Developers
(Part I). Medium.
[13] Top Web Development Frameworks in 2021. Lvivity.
(2021, January 22).