Post on 21-Jan-2022
Online Car Reservation & Rental System for
Zelalem Car Rent & Tour Travel in Addis Ababa
A Project Report
Submitted by
NAME ID NO:
Abel Negash TER/4642/07
Metadel Girma TER/4678/07
Bayush Adane TER/4649/07
Eshetu Fentie TER/4660/07
In partial fulfilment for the award of the degree of
BACHELOR OF SCIENCE IN INFORMATION TECHNOLOGY
Under the guidance of
Fanuel Belay
_________________________
ADVISOR SIGNATURE
DEPARTMENT OF INFORMATION TECHNOLOGY
INISTITUTE OF TECHNOLOGY
DEBRE MARKOS UNIVERSITY
DEBRE MARKOS
JUNE/ 2018
Online Vehicle Rental System 2018
i | P a g e
Table of Contents
List of Tables ............................................................................................................................................... iv
List of Figures ............................................................................................................................................... v
List of Acronyms ......................................................................................................................................... vi
ACKNOWLEDGEMENT .......................................................................................................................... vii
ABSTRACT ............................................................................................................................................... viii
CHAPTER 1: Introduction ........................................................................................................................... 1
1.1 Introduction ................................................................................................................................... 1
1.2 Background of the project ............................................................................................................. 1
1.3 Problems Statement ...................................................................................................................... 2
1.4 Objective of the Project................................................................................................................. 4
1.4.1 General Objective ................................................................................................................. 4
1.4.2 Specific Objective ................................................................................................................. 4
1.5 Project Scope ................................................................................................................................ 4
1.6 Limitation of the project ............................................................................................................... 4
1.7 Significance of the project ............................................................................................................ 5
1.8 System Requirements .................................................................................................................... 6
1.8.1 Hardware Requirements ........................................................................................................ 6
1.8.2 Software Requirements ......................................................................................................... 6
1.8.3 Programming Language used ................................................................................................ 7
1.9 Data Collection Methodology ....................................................................................................... 7
1.9.1 Observation ........................................................................................................................... 7
1.9.2 Interview ............................................................................................................................... 7
1.9.3 Document analysis: ............................................................................................................... 8
1.10 Feasibility Study of the project ..................................................................................................... 8
1.10.1 Technical feasibility analysis: ............................................................................................... 8
1.10.2 Operational Feasibility .......................................................................................................... 8
1.10.3 Economic feasibility ............................................................................................................. 8
1.10.4 Political feasibility ................................................................................................................ 9
CHAPTER 2: System Analysis .............................................................................................................. 10
2.1 Overview of the Existing System ................................................................................................ 10
Online Vehicle Rental System 2018
ii | P a g e
2.2 System Requirement Specification ............................................................................................. 11
2.2.1 Functional Requirement ...................................................................................................... 11
2.2.2 Non-Functional Requirements ............................................................................................ 13
2.2.3 Business rule ....................................................................................................................... 15
2.3 System requirement analysis ....................................................................................................... 17
2.3.1 Actor and Use case Identification ....................................................................................... 17
Use-case Diagram .............................................................................................................................. 22
Use-case Description .......................................................................................................................... 23
2.3.2 Sequence Diagram .............................................................................................................. 33
2.3.3 Activity Diagram................................................................................................................. 38
2.3.4 Analysis Class Diagram ...................................................................................................... 43
CHAPTER 3: System Design ................................................................................................................ 45
3.1 Design Class diagram ................................................................................................................. 45
Design Class Diagram ......................................................................................................................... 46
3.2 Database design /Physical data model ........................................................................................ 47
3.2.1 Entity Description ............................................................................................................... 47
3.2.2 Physical data model (PDM) ................................................................................................ 47
3.3 System Architecture (Deployment Diagram).............................................................................. 50
3.4 User Interface Design.................................................................................................................. 52
3.4.1 Login UI Design.................................................................................................................. 52
3.4.2 Reservation UI Design ........................................................................................................ 53
3.4.3 Manage Reservation UI ...................................................................................................... 54
CHAPTER 4: Implementation ............................................................................................................... 55
4.1 Overview of Programming Language ......................................................................................... 55
4.2 Algorithms Used ......................................................................................................................... 56
4.2.1 Algorithm for Login ............................................................................................................ 56
4.2.2 Algorithm for Forgot password ........................................................................................... 56
4.3 Pseudo code ................................................................................................................................ 57
A. Sample Code for Login ............................................................................................................... 57
B. Sample Code for forgot password ............................................................................................... 59
CHAPTER 5: Testing ............................................................................................................................. 61
Online Vehicle Rental System 2018
iii | P a g e
CHAPTER 6: Conclusion and Recommendations ................................................................................. 62
6.1 Conclusion .................................................................................................................................. 62
6.2 Recommendation and Future Enhancement ................................................................................ 62
6.2.1 Recommendation ................................................................................................................ 62
6.2.2 Feature enhancement ........................................................................................................... 62
APPENDIX I .............................................................................................................................................. 63
APPENDIX II ............................................................................................................................................. 64
APPENDIX III ............................................................................................................................................ 65
References ................................................................................................................................................... 66
Online Vehicle Rental System 2018
iv | P a g e
List of Tables
Table 1: Use case identification table ......................................................................................................... 19
Table 2: Use Case - Login .......................................................................................................................... 23
Table 3: Use Case - Reserve Car ................................................................................................................ 24
Table 4: Use Case - Confirm/Approve Reservation ................................................................................... 25
Table 5: Use Case - Cancel Reservation ..................................................................................................... 26
Table 6: Use Case - Search Car .................................................................................................................. 27
Table 7: Use Case – Create Contract .......................................................................................................... 28
Table 8: Use Case - Register Rental Payment Information ........................................................................ 29
Table 9: Use case – Register New Car ........................................................................................................ 30
Table 10: Use Case - Generate Report ........................................................................................................ 31
Table 11: Use Case – Logout ...................................................................................................................... 32
Table 12: Entity Description ....................................................................................................................... 47
Table 13: PDM – User Accounts Table ...................................................................................................... 48
Table 14: PDM - Contract Table................................................................................................................. 48
Table 15: PDM – Vehicle/Car Table .......................................................................................................... 49
Table 16: PDM – Reservation/Booking Table ............................................................................................ 49
Table 17: PDM – Assign Driver Table ....................................................................................................... 50
Online Vehicle Rental System 2018
v | P a g e
List of Figures
Figure 1: Use Case Diagram ......................................................................................................... 22
Figure 2: Sequence diagram - Login ............................................................................................. 33
Figure 3: Sequence Diagram – Car Reservation/Booking ............................................................ 34
Figure 4: Sequence Diagram – Confirm Reservation ................................................................... 35
Figure 5: Sequence Diagram – Car Registration .......................................................................... 36
Figure 6: Sequence Diagram – Cancel Reservation ..................................................................... 37
Figure 7: Activity Diagram – Login ............................................................................................. 38
Figure 9: Activity Diagram – Confirm Reservation ..................................................................... 40
Figure 10: Activity Diagram – Car Registration ........................................................................... 41
Figure 11: Activity Diagram – Cancel Reservation ...................................................................... 42
Figure 12: Analysis Class Diagram .............................................................................................. 44
Figure 13: Design Class Diagram ................................................................................................. 46
Figure 14: System Design Deployment Diagram ......................................................................... 51
Figure 15: Login Form UI Design ................................................................................................ 52
Figure 16: Reservation Page UI Design........................................................................................ 53
Figure 17: Manage Reservation UI Design .................................................................................. 54
Figure 18: Sample for Security testing ......................................................................................... 61
Online Vehicle Rental System 2018
vi | P a g e
List of Acronyms
ZTC -------------------------------------- Zelalem Tour Travel and Car Rental
OOPHP -------------------------------------- Object Oriented Hyper Text Pre Processer
ID -------------------------------------- Identification
Info -------------------------------------- Information
Sys Admin -------------------------------------- System Administrator
PW -------------------------------------- Password
UN -------------------------------------- Username
RAM -------------------------------------- Random Access Memory
CPU -------------------------------------- Central Processing Unit
UML -------------------------------------- Unified Modeling Language
UC -------------------------------------- Use Case
UI -------------------------------------- User Interface
CSS -------------------------------------- Cascading Style Sheet
GHz -------------------------------------- gigahertz
GB -------------------------------------- gigabyte
No -------------------------------------- Number
URL -------------------------------------- Uniform Resource Location
HTML -------------------------------------- Hypertext Markup Language
MySQL -------------------------------------- My Structural Query Language (Database)
SQL -------------------------------------- Structural Query Language
WAMP -------------------------------------- Windows Apache MySQL PHP
Online Vehicle Rental System 2018
vii | P a g e
ACKNOWLEDGEMENT
First of all, we thanks for our Lord God, that helps us in different ways either we know or we did
not know to complete our work. Secondly all we want to thanks for our advisor instructor Fanuel
Belay; he plays a great role by giving us the comments and different advices that helps for our
project and also by motivating us to do our work effectively. Last but not list, we would like to
thank for the people who plays a great role in the development of this project by giving us
information on the System and how the system work. Finally, we would like to give our gratitude
for our families, friends and also our teachers for giving some advices and other direct or indirect
helps.
Online Vehicle Rental System 2018
viii | P a g e
ABSTRACT
The title of this project is called “Online Car Reservation and Rental System for Zelalem Tour
Travel and Car Rental in Addis Ababa”. The purpose of the project is to build an automated
system for reserving Vehicles online and easily manage rental services by using the web based
system. This project contains reservation system for customers to reserve car online and Rental
system for the organization to control rental process and manage cars rental online easily.
Online Vehicle Rental System 2018
1 | P a g e
CHAPTER 1: Introduction
1.1 Introduction
This chapter of the project document which provides a general introduction about this
industrial project. It contains and describes about background of the organization, existing
system functions and problems.
This chapter also describes about the system, objective including the general and specific
objectives of the project, as well as the methodologies that we used for data gathering,
analysis and design.
1.2 Background of the project
Zelalem Tour and Car Rental (ZTC) organization is a private limited organization established
under the commercial law of Ethiopia. Owned and Managed by an Ethiopian, with a great
specialization in group, individual, educational and leisure tours for the last 10 years in
Ethiopia. Also serve to specialized tours such as: -Architectural, Medical tours and
documentary filming tour packages as well. We are based in Addis Ababa, Ethiopia, with a
squad of experienced professionals. We afford the best vacation holidays in Ethiopia. We have
the widest choices of well-designed tour packages for groups and individuals throughout
Ethiopia. Our packages include: cultural tours, historical tours, festival tours, adventure tours,
wildlife safari, trekking, business, conference tours, bird-watching, car rental and so much
more.
Available cars: - We have more than 205 excellent cars available; this includes:
MERCEDES S & E CLASSES, TOYOTA COROLLA, TOYOTA YARIS, TOYOTA
PRADO LAND CRUISER, NISSAN PATROL 4WD V8, LAND CRUISER 105,
AUTOMOBILES, SUVS, FOUR WHEEL DRIVES, MINI BUSES and COASTER BUSES.
All our cars are with models of above 2010.
Note:
- All cars are fully insured.
- Cars availability: 24/7.
- Driver, Fluency in English
- In the case of any technical problems, ZTC immediately replace with the same condition car!
Online Vehicle Rental System 2018
2 | P a g e
1.3 Problems Statement
The existing system has a number of problems in the working procedure for the organization and
customers. The increasing amount of data makes more paper to be used during reservation and
renting process. Much amount of paper means to the data storing will have more complexity and
hard to find the one we want to see and update. Besides, to this, in the existing system customer
cannot get services on time and from where he is. When a customers need a car to rent they must
go to the office, which may be so far from their location so that it takes much time, money and
other costs.
Generally, the existing system problems are: -
1. During reservation a customer reserve a car on phone or expected to go to the
organization for reserving. This has its own problem in the business sector.
The organization phone may be busy or may not work when customer is calling
to make reservation.
It may be difficult to customers to get the phone number or the location of the
organization.
The customers may be resulted to unnecessary extra expense and waste their
time.
The organization may not be able to serve many customers at a time.
The customers may not get service of the organization 24/7 (twenty four hours a
day and seven days a week).
2. During renting a car, the customer information and contract made between them are
filled in a manual form.
The contract form made between the customer and organization needs more
space to store files in the file cabinet.
Consumes more resources: it takes many materials to license. Such as paper, pen,
file cabinets etc.
Difficult to update customer information change work place of the customer
because the customer wants to changes his/her trade name entire information
should be changed.
Online Vehicle Rental System 2018
3 | P a g e
There is data loss, poor organized and unsecured data. This also leads to security
problem not protect the data from an unauthorized person and does not keep the
organizations’ safety.
Tedious to perform entire activities because done by manually
3. During generating monthly report.
When generating report, it takes time and it may not be easy to manage and
analysis the monthly work due to massive collection of data and the generated
report may not be accurate.
4. During Assigning a driver
Assigning a driver is done manually. So it can be tedious work to do manually
and have to tell the driver orally.
Solution of the Existing system
Our project team found solution for existing system problems to make the customer access and
services easy and to get any information and services regarding with their location by using their
own device such as desktop computer, personal computer, smart phone etc. This solution is
somewhat used to minimize time, cost. The solution that we stated as follows:
Develop Mobile Application: If it is developed by using android application it more
important and the best one but if the android system limits the operability of the system
on other operating systems and due to our programming language limitation the team
members are not completely agreed on this solution. So it is not 100% selected by our
team members.
Develop Interactive Web based system using OOPHP, HTML and MySQL: this version
is best solution than others because support all operating systems, all browsers accept the
functionality of the system therefore no need of android so we select this solution than
others.
Alternative solution
Online Vehicle Rental System 2018
4 | P a g e
Develop Web based Application Using both English and Amharic Version because any
customer can use the system that they can read and write in both English and Amharic.
So the system is easy to use by anyone that describe in the above that mean they can read
and write both languages and the user interface is clear for all users.
1.4 Objective of the Project
1.4.1 General Objective
The general objective of this project is to develop interactive web based (online) system
for the ZTC car rental organization located in Addis Ababa.
1.4.2 Specific Objective
Here are some specific objectives that would together help us achieve the overall goal of
the project as follows:
To let customer Reserve and rent cars online.
To check cars availability without any difficulty.
To assign driver easily.
To update customer information.
To generate daily, weekly, monthly and annual report on time.
To maintain customer information secured.
To take a backup of process on the system.
To develop a database system that store, manipulate, searching and retrieving
customer information.
1.5 Project Scope
The scope of this project is developing web based system for ZTC car rental organization
for Addis Ababa branch. The functions which cover in this project are we are focusing on
making rent car and online reserve. Customers as well as the organization’s Rental officer
will be able to use the system effectively.
1.6 Limitation of the project
Our project is limited to the following
Online Vehicle Rental System 2018
5 | P a g e
The first limitation is Time, meaning that the given time to finish this project is
limited so don’t expect perfect system.
The project scope is limited to automate the existing system because there is no
online payment in Ethiopia currently.
Also when collecting information, Rental officers who gave the information are not
willing to give us full information during to security issues.
1.7 Significance of the project
This project focuses on the specific conditions of trade that is Trade Registration and
Licensing Management System. It would cover different activities. Such as customer (trader)
apply in everywhere, system notifies number of customer register in the database, announce
license renewal date.
Significance for the Customer:
To increase the customers satisfaction by serving customers everywhere online,
saving their time and cost.
It is user friendly means that customers can easily use the system without any
difficulties.
The system manages and stores their information.
The customer can complain online to the manager.
Significance for the Organization:
To increase the owners business by saving time and consumption of materials.
To enable website Administrators, to easily update the information on the system.
Reduce the workload of Rental officers.
Access of information will be easier, faster, safer, and well-organized way.
Reduce space to store file cabinet not manual.
Easy to retrieve data.
System notifies number of customer.
Organizations serve customers easily with their online request for service.
Significance for the Developer:
Online Vehicle Rental System 2018
6 | P a g e
Get financial benefit by selling the system/website.
Get knowledge and experience.
Get moral satisfaction by reducing the workload of Rental officer and customer.
Can be popular or famed and get many job requests from other companies.
1.8 System Requirements
These are the necessary minimum software and hardware requirements that we have used to
develop this automated system. These requirements are described below as follows:
1.8.1 Hardware Requirements
These are hardware requirements we used for developing this system such as:
Personal Computer: used to write documentation and implementation with:
o Processor - Intel(R) Pentium(R) CPU B950 @ 2.10 GHz.
o RAM - 4 GB.
o Hard Drive - 100 GB or higher.
Backup Device – Flash Disk (8GB) for data storage.
Mobile Camera to collect data that can’t be gained manually.
Paper for data collecting and Printer to print the document.
1.8.2 Software Requirements
Operating System
Windows 10 is the Operating System we used to develop this system.
Applications software used :
Microsoft Office products such as
o MS-WORD 2010: to write documentation of the system.
o MS PowerPoint 2010: for presentation.
o Microsoft Visio 2010 to draw UML diagrams like: use case diagram, class
diagram, activity diagram, sequence diagram, and graphical user interface.
XAMPP Server : to manage Apache and MySQL services
Sublime 3.0 text editor:
To write the HTML5, JavaScript, CSS3, PHP Scripts…
Online Vehicle Rental System 2018
7 | P a g e
1.8.3 Programming Language used
A programming language is a formal computer language designed to communicate instructions to
a machine, particularly a computer.
The client side programming language (user interface (front end)) of the application
developed in HTML5, Bootstrap, Style sheet (CSS3) and Scripting language (JavaScript),
JQuery, Ajax to develop the presentation layer that is interpreted by the system web
browser.
Database layer (back end) programming language is MySQL.
The server side programming (application logic layer) is PHP. PHP is fast data processing
programming language. Therefore we developed this system using PHP for the server side
programming and it is compatible with the client side languages used and also with the
back end (database layer).
1.9 Data Collection Methodology
In order to find the necessary information about the current system the team used primary and
secondary data collection methodologies. These methodologies are very important to gather
information for this project such as, Observation, Interview and Document Analysis.
1.9.1 Observation
We have seen the customers waiting in queue to reserve and also rent car. Also they wait
additional time until the Rental officers makes sure the needed car is available. By observing
how the customers and rental officers interact with the current manual system of the ZTC
organization, we have collected the data which is necessary for automating the existing
manual system.
1.9.2 Interview
To know how the Car Reservation and Rental System work we prepared questions concerning
to the current manual System and interviewed the Rental officers in the office. For example
we interviewed one of the Rental officers about how the existing system works, and she told
us the office have lack of human resource to perform activities properly and answers
customer’s request on time.
Online Vehicle Rental System 2018
8 | P a g e
1.9.3 Document analysis:
We have collected more information about the manual system by using earlier documents that
help us with developing this project. During the analysis of documents, we considered those
documents which can bring more features to the project relevant with developing the system.
1.10 Feasibility Study of the project
The feasibility study is the preliminary study that determines whether a system project is
financially, technically, operationally and politically feasible.
1.10.1 Technical feasibility analysis:
The system is developed by using best technological system development techniques such as
OOPHP, Java Script, JQuery, Ajax, Bootstrap, CSS3 and MySQL database without any
problems. When we evaluate the hardware’s and software’s requirement and how they meet
the need of the proposed system, our proposed system is technically feasible because we have
used currently available and affordable technologies to develop the proposed system with
easy and attractive user interface.
1.10.2 Operational Feasibility
The system is operationally feasible by changing the manual system to the web based online
system and giving the user easy to use automated system or takes advantages of business
opportunity by minimizing efforts and time. The system is developed by using technologically
system development techniques such as PHP, Java Script, CSS and MySQL database without
any problems. When we evaluate the hardware’s and software’s requirement and how they
meet the need of the system, our system is technically feasible because used currently
available and affordable technologies for developing the system easy user interface to access.
The system provides best service for customer and users. Users can use the system easily
since it is not confusing for customer and officer.
1.10.3 Economic feasibility
Our system is economically feasible, because it reduces the time and resource needed to perform
certain actions such as customer registration, generate report, paper and pen, which they are
using for manual work.
Online Vehicle Rental System 2018
9 | P a g e
It reduces the cost that is spent for reservation and rental process. Such as transport cost, pen and
paper cost for the form that is filled during car reservation and rent. It also reduces the loss of
data that means it reduces the cost that is priceless so it saves us a lot of money.
For example, to handle much amount of data there must be many people to manage the data and
a lot of hardcopy, pen, and pencil needed. But after the system is developed the data can be
managed digitally with one person in very short time.
This means the concrete benefit that can be expressed in terms of birr. So the system saves a lot
of birr that was used to buy the material such as paper, pencil, rubber, and so on.
1.10.4 Political feasibility
Politically feasibility in terms of legal system:
The system has no conflict with any government directives, because it gives services for the
people effectively and efficiently, all the stakeholders (participants) agreed before the system is
developed. So the government is profitable and the system will be politically feasible.
Online Vehicle Rental System 2018
10 | P a g e
CHAPTER 2: System Analysis
The system analysis modeling deals with analyzing the system. It includes the system use case
diagrams, the use case descriptions (scenarios), sequence diagrams, activity diagrams, analysis
class diagram. After identifying the actors and use cases, the use cases are developed and textual
descriptions (scenarios) are stated. The Sequence diagram is depicted based on the use cases
which are developed for the system. Activities will be represented by the activity diagrams.
2.1 Overview of the Existing System
Zelalem Car Rental and Tour Travel organization gives car rental service for both foreign and
local customers. This organization does its daily work by providing their service to the customers
using a manual system for reserving, contract holding and to keep record of all the rental
activities and customer information.
The detailed existing system functions are listed as follows: -
During car reservation the customers reserve a car by making a phone call to the
organization; otherwise he/she is expected to go to the organization to make
reservation. First he/she have to call the office and then he have to tell the rental
officer the car he wanted and when he wants the car and then he have to pay them a
collateral to make sure that he/she will come back for renting the car reserved.
During renting, the customer has to go to the office and his/her full personal
information, payments status and rental agreements (contracts) are filled in the car
rental agreement form (contract) in order to hold legal contract between the customer
and organization for renting the car.
The organization makes a general report about the rented cars once at the end of the
month and generates a report to the manager.
Users of the Existing System
In the existing manual Car rental system there are different users namely Customers, Rental
officer, Office manager and Driver.
The users of existing system mentioned below:
Rental officer: is user of the existing system that registers reservation and rent, manage
booking/reservation & manage rent.
Online Vehicle Rental System 2018
11 | P a g e
o The Rental Officer manages customer information.
o Check customer status and create contract.
Customers: request to rent car from the organization, first by reserving and then by filling
the contract form to get rental service.
Manager: manages and controls activities of the organization. Also control the whole
business activity, reviews and solved the customer complain if they have.
Driver: provide driving service for the customers who needed delivery and hire the
driver for themselves.
2.2 System Requirement Specification
System requirement specifications are abstract description of the services, which the system
should provide. Are statements, in a natural language plus diagrams, of what services the
system is expected to provide to system users and the constraints under which it must operate.
That describes user goals or tasks that the users must be able to perform with the system. User
requirements therefore describe what the user will be able to do with the system.
The system must have requirement that satisfies customers. System requirements may be either
functional or non-functional requirement.
2.2.1 Functional Requirement
These are statements of services the system should provide, how the system should react to
particular inputs, and how the system should behave in particular situations. It deals with what
the system should do or provide for users. Specifies the software functionality that the
developers must build into the product to enable users to accomplish their tasks. The system
manages and process data according to the rule and regulation of the organization.
It also provides report generation facilitate. The database of the system provides the following
functionality. Data entry inputs data to the system. System serves different interface that
manage data entry mechanism in the database. Example car reservation/booking form, update
customer profile, cancelation form, Rental agreement form (contracts) etc…
The functional requirement of the system includes:
The system must let:
All users Sign in and Sign out
Online Vehicle Rental System 2018
12 | P a g e
All users change their password
New customers sign up
Customers with username and password sign in and book/reserve cars
Customers manage their profiles
Customers to select specific car using different search category while reservation with
option for advanced search to limit the car search to specific categories of cars search.
E.g. By brand name, fuel type, price, color …
Customer view list of available cars during reservation.
Customer to view detail description of particular car.
Customers reserve/book a car easily
Customers manage their reservation/booking
Customers cancel their reservation/booking
Customer to select cars in the list.
Rental officer to Search cars by specific record.
Customers to cancel reservation using reservation confirmation number.
System successfully committed reservations.
System display reservation summary with a unique reservation conformation number for
all successfully committed reservation.
Generate report about the done task. Report may be daily, weekly, monthly or annually
work.
System Admin Backup and restore database
System Admin create user account and assign roles.
System Admin manage user accounts
System Admin manage their profiles
System Admin to create new user account.
System Admin to change account password.
Rental officer to update reservation information.
Rental officer to view reservations made by customers.
Rental officer search and view customer information.
Rental officer register payment for each service and provide receipt to customer.
Rental officer to register new cars, car brands and manage them.
Online Vehicle Rental System 2018
13 | P a g e
Rental officer to assign driver.
Driver view assigned car and destination address.
Rental officer to select cars in the list.
Rental officer to update information of the car in need of modification.
Rental officer to update information of the brand in need of modification.
Rental officer to display all lists of car.
Rental officer to display all available cars.
Rental officer to Search cars by specific record.
Rental officer to display all rented car.
Rental officer to display all off duty cars.
Rental officer to register customers into rental list.
Rental officer to update about customer rent record details in the rental list.
Rental officer to select customer rent record by specific search category.
Rental officer to search rent record of customers using specific categories.
Rental officer to display customers, who rent cars.
Rental officer to display all customers rent record
The system must provide printable summary for successfully committed reservation/rent.
2.2.2 Non-Functional Requirements
Non-functional requirements, as the name suggests, are requirements that are not directly
concerned with the specific services delivered by the system to its users. They may relate to
emergent system properties such as reliability, response time, and store occupancy.
Alternatively, they may define constraints on the system implementation such as the capabilities
of I/O devices or the data representations used in interfaces with other systems. Non-functional
requirements, such as performance, security, or availability, usually specify or constrain
characteristics of the system as a whole. Non-functional requirements are often called qualities of
a system. Non-functional requirements describe the aspects of the system that do not relate to its
execution, but rather to its evolution over time.
Some of the non-functional requirements of the system are:
Online Vehicle Rental System 2018
14 | P a g e
Usability
The system provides user-friendly interfaces and easy to navigate from one link to
other, which enhances users’ efficiency.
The user can use the system by reading help and support.
Security
The system should provide basic security features like username and password
authentication to prevent the system from unauthorized access. The system does
not allow unauthorized users to log into the system and modify records. Users
will have their own encrypted password and username by using encryption
algorithm to access the system like md5 encryption algorithm method.
Performance
The system response time for every instruction conducted by the user must not
exceed more than a minimum of 10 seconds.
The system should have high performance rate when executing user’s input and
should be able to provide response within a short time span usually 50 second for
highly complicated task and 20 to 25 seconds for less complicated task.
Availability
The system should always be available at any time in the presence of internet
connection or presence in networked environment and electric power for access at
24 hours a day, 7 days a week unless the network or internet connection fails and
electric power off.
Also in the occurrence of any major system malfunctioning, the system should be
available in 1 to 2 working days, so that business process is not severely affected.
Reliability
The system should be used smoothly without being corrupted and frequently
failure. When failures occur the system should be tolerates failure, troubleshoot in
short period of time and return related error message.
Online Vehicle Rental System 2018
15 | P a g e
Technical requirement
Are requirements that outline what is needed to support the project; during development,
implementation and ongoing delivery. Include servers to store data and a process for ongoing
maintenance related to a website.
2.2.3 Business rule
Business rules are statements about the enterprise way of doing business process.
This part specifies and gives somewhat understanding of activities which are being done in the
existing system with regard to business rule that are also used in this system.
The following are the major business rule used by the existing system is
[BR-1] Customer must have Identification Card or Passport.
[BR-2] Customer must be greater than 25 years of age to rent or drive a vehicle from
Zelalem Tour and Car rental.
[BR-3] Customer should pay as collateral (50ETB) to successfully reserve/book a car
using mobile banking or wire transfer to the organizations bank account.
[BR-4] Customer should come with a property, the needed documentations like original
driver license and also stocks or bonds as collateral or money that can be used as collateral
for the car.
[BR-5] Bank account or Credit card must have available funds of $500 greater than the
total amount of the rental charges. All required funds will be taken as a deposit against
rental charges.
[BR-6] All unused funds will be returned through your bank account or credit card
processor after the vehicle is returned.
[BR-7] Customer is responsible for damage to the rental vehicle and any third party
claims for liability. Customer may also be responsible for the cost of the repair of the
vehicle, loss of use, towing storage and impound fees.
[BR-8] Zelalem tour and car rental offers, at an additional charge, a Collision Damage to
cover your financial responsibility for collision damage to the rented vehicle. Your own
auto insurance may cover all or part of your financial responsibility for the rented vehicle,
so you should determine the extent of your coverage before deciding whether to purchase a
CDW.
Online Vehicle Rental System 2018
16 | P a g e
[BR-9] For self-drive rental, a rental day is each 24 hour time period beginning with the
date/time indicated on rental agreement. There is no grace period and hourly charges apply
after the rental period. After three hours late, a full day charge applies.
[BR-10] In the case of renting a car with driver, operational hour is from 6:00am-7:00pm
(14hours per day), unless special agreement is made.
[BR-11] Many of contracts include unlimited mileage. If you do not plan on driving more
than 75 kms per day, then one of our promotional rates may best suit your needs. These
rates have an extra charge per kms if you exceed the specified mileage on your agreement.
[BR-12] Extending contract beyond the current expiration date, customer must notify
renter immediately and pay all necessary additional deposits. If customer keeps the
vehicle longer than the return date specified on the contract, an increased rate will be
charged. Only the renter is permitted to extend the rental agreement. If additional funds are
not available or a payment cannot be made, a request for extension will be denied and the
vehicle must be returned on the original return date and time. In order to extend the rental
period, cash renters must make an additional payment for deposit in our office prior to the
contract end date.
[BR-13] Customer must come with the original driver license of the driver who is going to
drive the car at the time of payment and collect the car. Zelalem tour and car rental don’t
accept additional driver. Operation of our vehicles by anyone other than the driver listed on
the contract will immediately terminate the contract and result in a forfeit of your deposit.
No additional drivers may be added to a contract over the telephone. Photo copies or fax
copies of the driver's license will not be accepted.
[BR-14] Cancelation in less than 24hours results on non-refund ability of cash. Cash
deposits CAN NOT be refunded, once the service starts rendering. Your non-refundable
deposit guarantees you the vehicle when you get here, as WE DO NOT OVER-BOOK!
[BR-15] Rental rate applies only to the exact reservation period specified. Returning the
vehicle past the confirmed return date subjects you to a higher daily and or weekly charge
of $10 per day.
[BR-16] Fueling the rental vehicle is the renter’s responsibility. Vehicles must be returned
with the same amount of fuel as the start of the rental to avoid refueling charges. Renters
should stop at a local station and refuel to the same level before returning it. If the
Online Vehicle Rental System 2018
17 | P a g e
customer chooses not to do so, we charge a premium for providing this refueling service to
them. That charge takes into account both direct and indirect costs of having us refuel for
you.
[BR-17] Customer must return vehicle in the same clean condition that he/she received it.
A cleaning fee may be applied for any vehicle that is not returned in a reasonably clean
condition or excessively dirty condition.
[BR-18] If vehicle breaks down, customer must notify the renter immediately. The renter
will advise on how to proceed. Customer will be repaid for any repairs authorized by
renter, or for any oil or parts authorized by renter. Customer must retain any and all
receipts for repayment. Emergency breakdown after hour’s number is printed on contract.
[BR-19] Customers are responsible for all damage to or loss of the vehicle, or missing
equipment, regardless if he/she is at fault or not.
[BR-20] Customer must report all accidents or incidents of theft or vandalism to the police
within 24 hours after the time you discover them. Customer must provide the renter a copy
of the police report. Customer must report all accidents involving the vehicle directly to
the renter within 24 hours of occurrence. Failure to report any damage, loss or vandalism
will result in forfeiture of your deposit.
2.3 System requirement analysis
System Requirements Analysis gives the professional systems engineer the tools to set up a
proper and effective analysis of the resources, schedules and parts needed to successfully
undertake and complete any large, complex project. This fully revised text offers readers the
methods for rationally breaking down a large project into a series of stepwise questions, enabling
you to determine a schedule, establish what needs to be procured, how it should be obtained, and
what the likely costs in money, manpower, and equipment will be to complete the project at
hand.
2.3.1 Actor and Use case Identification
Actor
An actor specifies a role played by a user or any other system that interacts with the subject. An
actor represents a coherent set of roles that are entities external to the system can play in using
Online Vehicle Rental System 2018
18 | P a g e
the system, rather than representing a particular individual. An actor represents a type of users of
the system or external systems that the system interacts with. The actors which interact with this
system are listed below:
Rental officer
Manager
Customer
System Admin
Driver
Use cases identification
Use Case: A use case in a use case diagram is a visual representation of distinct business
functionality in a system.
System Admin:
Create User Accounts
Manage User Accounts
View log file
Manage Database (Backup/Restore)
Manager:
View:
o Log file
o Complain/Feedback
o Report
Manage Testimonials
Rental Officer:
Manage Cars Data
Manage Booking/Reservation
Manage Contract
Manage Payment
Online Vehicle Rental System 2018
19 | P a g e
Manage Assigned Driver
Manage Collaterals
Manage Insurances
Manage Notice
Customer:
Register for Booking
Make Reservation/Booking cars
Send
o Testimonials
o Feedback/Complains
View
o Reservation Details
o Car Details
View Assigned Car
Table 1: Use case identification table
ID Use case name Include/use Actors
UC1 Login All actors
UC2 Reserve/book car UC1 Customer
UC3 Confirm/Approve Reservation UC1 Rental Officer
UC4 Cancel Reservation UC1 Customer, Rental Officer
UC5 Create Contract UC1 Rental Officer
UC7 Register Cars UC1 Rental Officer
UC8 Register Payment Details UC1 Rental Officer
Online Vehicle Rental System 2018
20 | P a g e
UC9 View Generated Report UC1 Rental Officer
UC10 Logout UC1 All actors
UC11 View Feedback/Complains UC1 Manager
UC12 Send Feedback/Complain UC1 Customer
UC13 Manage Assigned Driver UC1 Rental Officer
UC14 View Assigned car UC1 Driver
UC15 Register Insurances UC1 Rental Officer
UC16 Register payment UC1 Rental Officer
UC17 Update Account UC1 All actors
UC18 Post Notice UC1 Manager
UC19 Backup and Restore DB UC1 System Admin
UC20 Manage Account UC1 System Admin
UC21 Sign Up Customer
Online Vehicle Rental System 2018
21 | P a g e
System use case diagrams
A use case diagram is a set of use cases for a system, the actors of these use cases, the relations
between the actors and these use cases, and the relations among the use cases. The UML (unified
modeling language) notation for a use case diagram is containing different shapes and each shape
has its own meaning.
A use case diagram at its simplest is a representation of a user's interaction with the
system and depicting the specifications of a use case.
Informally speaking, a use case is a story or a case of using a system by some users to
vehicular out a process. A bit more precisely speaking, a use case describes the sequence
of events of some types of users, called Actors, using some part of the system
functionality to complete a process.
An oval represents a use case,
A man like figure represents an actor,
A line between an actor and a use case represents that the actor initiates and/or
participates in the process.
Online Vehicle Rental System 2018
22 | P a g e
Use-case Diagram
ZTC Online Car Rental System
Customer
Manager
Rental Officer
System Admin
Log in
Register Car
Details
Update Car Details
Confirm
Booking/reservation
View FeedBack
Manage page
Search and view
Booking
Create User Account
Update Account
Search and view Car
Reserve/Book Car
Cancle
Booking/Reservation
Post Feedback
View Generated
Report
Log out
Manage Contract
Manage Rental
status
Sign up
«extends»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
«uses»
Register Car
conditions
«uses»
Confirm Rented Car
conditions
«uses»
*
*
*
*
*
*
**
*
*
**
*
*
*
*
*
*
**
*
*
*
*
*
*
*
*
*
*
*
***
**
*
**
*
*
*
*
*
Manage User Account
«uses»
*
*
View
Booking/Reservation*
*
«uses»
«uses»
Manage Backup
«uses»
**
Figure 1: Use Case Diagram
Online Vehicle Rental System 2018
23 | P a g e
Use-case Description
1. Use-case Login
Table 2: Use Case - Login
Use-case Number UC-01
Use-Case Name Log in
Priority High
Actor Rental officer, Customer, Manager, System Admin
Description This use case describes how actors to login into the System.
Precondition Must not be logged in
Post-condition If the use case was successful, the actor is now logged into the system. If
not, the system state is unchanged.
Basic course of
Action
User Action System Response
1. The actor is on the home page to
login to the system.
3. The actor enters username and
password, Click on Login
Button.
2. The system promotes the actor to
enter Username, Password.
4. The system verifies that all fields
have been filled out and valid.
5. The system successfully logged in.
6. Use case Exit
Alternate course
of Action
4.1 If all fields are not filled out and not matched to the username and
password the system notifies the actor a message Verify Username or
Password and then goes back or returns to step 3 of basic course of Action
to enter again.
Online Vehicle Rental System 2018
24 | P a g e
2. Use-case Reserve Car
Table 3: Use Case - Reserve Car
Use-case Number UC-02
Use-Case Name Reserve/Book car
Priority High
Actor Customer
Description This use case permits customers to reserve and make schedule for renting
car, based on the availability of the car.
Precondition Customer wants to reserve a car and reservation details about customer have
to be entered.
Post-condition Customers reserve successfully
Basic course of
Action
User Action System Response
1. The customer wants to reserve a
car.
2. The customer selects the car
he/she wanted to reserve and
clicks reservation link.
5. The customer fills the following
information (Full Name,
ID/Passport No, Country, Mobile
number and Selects Pickup &
return date).
6. The customer clicks reserve
button to reserve.
9. The customer accepts the
reservation and clicks Accept.
3. The system checks availability of
the car.
4. The system prompts the customer
to fill a reservation form.
7. The system checks all required
information had been filled and
the entered dates are valid also
8. The system presents information
to accept or decline the rental
Agreement.
10. The system shows the customer
that the reservation has been
completed, and presents the customer
a reservation confirmation number
and receipt.
11. Use case ends.
Online Vehicle Rental System 2018
25 | P a g e
Alternate course
of Action
3.1. If the car is not available, the system goes back to step 2 to
displays when the car is going to be available or recommend
selecting another car.
7.1. If the customer enters invalid date and time or information, the
system goes back to step 5 to enter the invalid field again.
9.1. If the customer declines the agreement, the system displays a
message that the reservation is canceled.
3. Use-case Confirm/Approve Reservation
Table 4: Use Case - Confirm/Approve Reservation
Use-case Number UC-03
Use-Case Name Confirm/Approve Reservation
Priority High
Actor Rental officer
Description This use case permits to confirm/approve the reservation made by the
customer.
Precondition UC-1, Customer must pay the fee needed to be approved
Post-condition Reservation Confirmed successfully
Basic course of
Action
User Action System Response
1. The Rental officer open the
reservation requests list.
2. The Rental officer check for the
information that is filled by the
customer is correct.
3. The Rental officer clicks on the
confirm button.
4. The system displays
successful conformation
summary for the reservation.
5. Use case Exit.
Alternate course
of Action
2.1 If the information filled is not correct the Rental officer will click on
the cancel confirmation button and send message to the customer to fill
correct information.
Online Vehicle Rental System 2018
26 | P a g e
4. Use-case Cancel Reservation
Table 5: Use Case - Cancel Reservation
Use-Case Number UC-04
Use-Case Name Cancel a Reservation/Booking
Priority
Actor High Rental officer
Description This use case permits the actors to cancel a reservation.
Precondition UC-1, UC-2
Post-condition Actor successfully cancel a reservation
Basic course of
Action
User Action System Response
1. The actor wants to cancel reservation
2. The actor opens reservation page and
clicks cancel reservation
button/Link.
4. The actor enters reservation
confirmation number and clicks
cancel reservation button.
6. Are you sure you want to cancel, the
customer clicks “Yes” button.
3. The system displays a form
5. The system verifies the field
has been filled out correctly and
checks validity of confirmation
number, then popup a message
to verify the canceling.
7. The system cancels the
reservation and display a
message the reservation is
canceled.
8.use case Exit
Alternate course of
Action
6.1 If all fields are not filled out the system goes back or returns to step 4
of basic course of Action. To fill the invalid or the empty field.
Online Vehicle Rental System 2018
27 | P a g e
5.Use-case Search car
Table 6: Use Case - Search Car
Use-Case Number UC-05
Use-Case Name Search Car
Priority Medium
Actor Rental officer and customer
Description This use case permits Rental officer and customer to search car from the car
list in order to display.
Precondition UC-3, UC-2
Post-condition Display
Basic course of
Action
User Action System Response
1. The Rental officer or Customers
enters name of the car and select one
from the combo Box, Car Brand.
Car Model and Fuel type Clicks on
the search button.
2. Then the system display all
information about the car based on
selected list.
3. Use case End.
Alternate course
of Action
2.1 If the entered car is not found system displays message that the Searched
car is not found and returns to step 1 of basic course of Action to search for
another car.
Online Vehicle Rental System 2018
28 | P a g e
6. Use-case Create Contract
Table 7: Use Case – Create Contract
Use-Case Number UC-06
Use-Case Name Create Contract
Priority High
Actor Rental officer
Description This use case permits Rental officer to Create Contract details.
Precondition UC-1, UC-3
Post-condition UC-7
Basic course of
Action
User Action System Response
1. The Rental officer wants to
Create Contract.
2. Rental Officer requests for new
contract form.
4. The Rental officer enters the
needed information and clicks on
the Submit button.
6. The Rental officer clicks on yes
button.
3. The system will response and
display new contract form.
5. The system checks for the
validity of the data entered on the
form and from database and
displays confirmation message
8. The system displays successfully
updates information in to database.
9. Use case Ends.
Alternate course of
Action
5.1 . If the entered information is not valid then return to basic course
of action 3
6.1. If rental officer clicks on no then return to basic course of
action 4
Online Vehicle Rental System 2018
29 | P a g e
7.Use-case Register Rental Payment
Table 8: Use Case - Register Rental Payment Information
Use-Case Number UC-08
Use-Case Name Register Rental Payment
Priority High
Actor Rental officer
Description This use case permits Rental officer to Register Rental Payment
information when customer comes to rent car.
Precondition UC-1, UC-3
Post-condition Successful Message
Basic course of
Action
User Action System Response
1. Rental officer wants to Register
rent.
2. Rental officer requests for rent
registration form by clicking on the
Manage rent payment button.
4. The Rental officer fills the needed
information in the form provided.
5. When he/she finished filling the
form he/she Click on Submit button.
3. The system displays the Rent
registration Form.
6. The system validates the
information entered by the Rental
officer and saves it in to database.
Also it displays success message
to the Rental officer.
7. Exit use case.
Alternate course of
Action
6.1if the entered information is invalid the system back to basic course of
action 4
Online Vehicle Rental System 2018
30 | P a g e
8. Use-case Register New Car
Table 9: Use case – Register New Car
Use-Case Number UC-09
Use-Case Name Register New Cars
Priority Medium
Actor Rental Officer
Description These use case permits Rental officer to register New Cars to the system
with detail descriptions about the Car such as condition, Plate Number,
Model year, Car Brand, Color, Gear type, Fuel type, Number of sits and
amount of price per day….
Precondition New car Purchased
Post-condition New Car information stored successfully.
Basic course of
Action
User Action System Response
1. The Rental officer wants to add a
new car
2. The Rental officer selects from the
manage car drop down the Add new
car button and clicks on it.
4. The Rental officer enters the
needed information in the form and
clicks on the save or insert button.
3. The system response or displays
the requested form to add new car.
5. The system verifies that the
fields have been filled out
correctly.
6. The system displays a
successfully stored message to the
Rental officer.
7. Use case Exit
Alternate course
of Action
5.1 If the customer enters invalid number system goes back or returns to
step 4 of basic course of Action. To fill invalid or the empty field again.
Online Vehicle Rental System 2018
31 | P a g e
9. Use-case Generate Report
Table 10: Use Case - Generate Report
Use-Case Number UC-11
Use-Case Name Generate Report
Priority High
Actor Manager
Description These use case allow Manager of the organization to generate a report
about the renting information of a month.
Precondition Manager wants to see report
Post Condition Generate monthly Report Information
Basic Course of
Action
User Action System Response
1. The Manager wants to generate report.
2. The Manager clicks rent pages.
4. Then on the rent page the Manager specifies
the date and then clicks on the generate button.
3. The system responds
the requested page.
5. The System gives
Success message and
displays the requested
report.
6. Use case ends
Alternate course of
Action
5.1. If the reservation information is empty or not found the system
notify to select for another date and go back to step 4.
Online Vehicle Rental System 2018
32 | P a g e
10. Use-case Logout
Table 11: Use Case – Logout
Use-Case Number UC-12
Use-Case Name Log out
Priority High
Actor Rental officer, Customer, Manager, System Admin
Description These use case allow Actors to log out from the system at a time of
accomplishing their work.
Precondition UC-1
Post Condition System logs out
Basic Course of Action User Action System Response
1. The actor wants to
log out
2. The actor clicks the
log out button
3. The system responds to the requested
action.
4. The system displays a message that the
actor logged out from the system.
5. Use case Ends
Online Vehicle Rental System 2018
33 | P a g e
2.3.2 Sequence Diagram
A sequence diagram shows an interaction arranged in time sequence. In particular, it shows the
instances participating in the interaction by their “lifelines” and the stimuli that they arranged in
time sequence. It does not show the associations among the objects.
A sequence diagrams are used to represent or model the flow of messages, events and actions
between the objects or components of a system. Time is represented in the vertical direction
showing the sequence of interactions of the header elements, which are displayed horizontally at
the top of the diagram. Sequence Diagrams are used primarily to design, document and validate
the architecture, interfaces and logic of the system by describing the sequence of actions that
need to be performed to complete a task.
1. Sequence diagram of Login
Figure 2: Sequence diagram - Login
Actor Login(UI) System Controller Database
Enter Username and Password()
Opens()
error()Please enter correct data
Success()
error()Not Authorized for Login
Checks Authorization()
Successfully Logged in to the System
Username or Password Incorrect
Online Vehicle Rental System 2018
34 | P a g e
2. Sequence diagram of Car Reservation/Booking
Figure 3: Sequence Diagram – Car Reservation/Booking
Customer Reservation(UI) System Controller Database
Opens() Select vehicle()
Check for avaliablity()
error()Vehicle Not Avaliable
Assume that the customer has logged in to the system.
Fills reservation form()
Opens a reservation form()
error()Fill correct information
Store to database()
Displays Resrvation Successfull
success()
Vehicle avaliable
success()Stored in Database
success()
Online Vehicle Rental System 2018
35 | P a g e
3. Sequence diagram of Confirm Reservation
Figure 4: Sequence Diagram – Confirm Reservation
Rental Officer Reservatin(UI) System Controller Database
Opens()
Success()Display Reservation List
Success()
Request to Display List()
if not correct: Cancel reservation()
Generate Confirmation Message()
if correct: Confirm reservation()
Store to Database()
Stored in to database Success()Successfully Cancled
List Retrived
Retrive List()
Insert payment detail()
Stored in to database
Store to Database()
Successfully Confirmed
Generate Confirmation Message()
Online Vehicle Rental System 2018
36 | P a g e
4. Sequence diagram of Car Registration
Figure 5: Sequence Diagram – Car Registration
Registration(UI) System Controller Database
Opens Form()
Store in to database()
Fills form()
Stored in to Database
Fill correct information
Success()Successfully registered Veicle
error()
Rental Officer
Online Vehicle Rental System 2018
37 | P a g e
5. Sequence diagram of Cancel Reservation/Booking
Figure 6: Sequence Diagram – Cancel Reservation
Customer Reservation(UI) System Controller Database
Opens()
Request to cancle reservation()
Enters conformation number()
Enter Valid Conformation Number
Displays Form() Success()
Successfully Canceled Reservation
error()
Checks Validity()
Success()
Update Database()
Reservation Canceled
Online Vehicle Rental System 2018
38 | P a g e
2.3.3 Activity Diagram
An activity diagram is a variation of a state machine in which the states represent the
performance of actions or sub activities and the transitions are triggered by the completion of the
actions or sub activities. It represents a state machine of a procedure itself. Activity diagrams are
used to describe the functionalities of business activities and software systems.
1. Activity diagram of Login
Figure 7: Activity Diagram – Login
Enter Password and Username
Invalid Password and Username
[if false]
[if true]
Actor Opened Login Page
Login Successfull
Display Actor Settings
{Check Username and Password}
Actor Login to the System
Online Vehicle Rental System 2018
39 | P a g e
2. Activity diagram of Car Reservation
Fill Form
Invalid Data Inserted
[if false]
[if true]
Reservation Successfull
{Check Inserted Data}
Customer Successfully reserve vehicle
Customer is Logged in to the system
Select Vehicle
[if false]
[if true]
Vehicle not Avaliable
Display Reservation Form
{Check Vehicle Avaliablity}
Figure 8: Activity Diagram – Reserve Car
Online Vehicle Rental System 2018
40 | P a g e
3. Activity diagram of Confirm Reservation
Reservation Confirm/Cancel successfully
Employee open reservation page
Display Reservation list
Confirm Reservation Cancel Reservation
Request Reservation list
{Confirm If Data is Correct,
Cancel If Data is Incorrect}
Successfully Confirmed Reservation Successfully Canceled Reservation
Check payment data
End
Figure 9: Activity Diagram – Confirm Reservation
Online Vehicle Rental System 2018
41 | P a g e
4. Activity diagram of Car Registration
Fill Form
Invalid Data Inserted[if false]
[if true]
Registration Successfull
{Check Inserted Data}
Employee Successfully Registered vehicle
Employee is Open Vehicle Registration Page
Open Regiistration Form
Figure 10: Activity Diagram – Car Registration
Online Vehicle Rental System 2018
42 | P a g e
5. Activity diagram of Cancel Reservation
Enter Confirmation Number
Invalid Conformation number Inserted[if false]
[if true]
Reservation Canceled Successfull
{Check Inserted Confirmation number}
Customer Successfully Canceled Resrvation
Customer Open Reservation Page
Open Reservation Cancel Form
Request to cancel reservation
Figure 11: Activity Diagram – Cancel Reservation
Online Vehicle Rental System 2018
43 | P a g e
2.3.4 Analysis Class Diagram
A class diagram in the Unified Modeling Language(UML) is a type of static structure diagram
that describes the structure of a system by showing the system's classes, their attributes,
operations (or methods), and the relationships among objects.
In the diagram, classes are represented with boxes which contain three parts:
The top part contains the name of the class
The middle part contains the attributes of the class
The bottom part gives the methods or operations the class can take or undertake
In the design of a system, a number of classes are identified and grouped together in a class
diagram which helps to determine the static relations between those objects. With detailed
modeling, the classes of the conceptual design are often split into a number of subclasses.
Online Vehicle Rental System 2018
44 | P a g e
Analysis Class Diagram
Figure 12: Analysis Class Diagram
+Create Account()+Update Account()
-C_ID-Full Namer-e-mail-Password-Phone number-DoB-Nationality-Address-City-Register Date-Update Date
Customer
+register vechile()+update vechile()
-V_ID-V_Name-Plate Number-Brand_ID-Price Per Day-Model Year-Seating Capacity-Fuel Type-Registration Date-Updation Date-Status
Vehicle
+Create Reservation()+Confirm Reservation()+Cancel Reservation()
-R_ID-Pickup date-Return date-Status-Confirmation Number-Posting Date-C_ID-V_ID-Acc_ID
Reservation
+Create Rent()+Update Rent()+View Rent()
-Contract_ID-Pickup Date-Return Date-Miles Out-Miles In-Daily Fee-Fule Provided By-Fule Charged-VAT-Down Payment-Total Paid-Confirmation Number-Vehicle_ID-Customer_ID-Driver_License_No-Acc_ID
Contract
+Update Account()+Create Account()+Activate()+Deativate()
-Acc_ID-Full Name-Username-Password-Phone number-Role-Status-Updation Date
User_Accounts
1
1..*
Makes
1
*Registers
1
1..*Makes
1..*
1
Approved By
+Register Brand()+Update Brand()
-Brand_ID-Brand Name-Registration Date-Updation Date
Car Brand
-have
1..1
-in
1..1
Present In
+Create Payment()+Update Payment()+View Payment()
-Payment_ID-Daily Fee-Fule Charged-Payment_Method-Total_Payment-Down_Payment-Final_Payment-Return_From_Payment-Vehicle_ID-Customer_ID-Contract_ID-Acc_ID-Updation_Date
Payment
1
1..*
Makes 1
1..*
Confirms1..1
1..1Makes
+Register Insurance()+Update Insurance()
-Insurnce_ID-Coverage-Vehicle_ID-Updation Date
Insurance
1..*
1
Register
1..*
1
Register
1..*1
Register
-Have1
1..1
-Have
1
1..1
Online Vehicle Rental System 2018
45 | P a g e
CHAPTER 3: System Design
Introduction
This chapter of the project document which provides a system design of this project. System
design focuses on transforming the analysis model into the design model that takes into account
the non-functional requirements and constraints described in the problem statement and
requirement analysis sections discussed earlier. Up to now we were in the problem domain.
System design is the first part to get into the solution Domain in a software development.
This chapter contains and describes about design class diagram, Physical data model, user
interface design and deployment diagram /architectural design. System design is the
transformation of the analysis model into a system design model. Design is the first step in the
development phase for any techniques and principles for the purpose of defining a device, a
process or system in sufficient detail to permit its physical realization.
The main objectives of design to shows the direction how the system built and obtains clear
information needed to drive the actual implementation of the system. It is based on
understanding of the model the software built on. The objectives of the design are to model the
system with high quality. Implementing of high quality system depend on the nature of design
created by the designer.
3.1 Design Class diagram
This section discusses classes and their variations, including templates and instantiated classes,
and the relationships between classes association and the contents of classes (attributes and
operations). A class encapsulates state (attributes) and offers services to manipulate that state
(behavior).
Class diagrams show the static structure of the model, in particular, the things that exist (such as
classes and types), their internal structure, and their relationships to other things. Class modeling
shows the classes of the system, their interrelationships (including inheritance, aggregation,
constraint and association), and the operations and attributes of the classes. It shows the static
features of the actors and do not represent any particular processing.
Online Vehicle Rental System 2018
46 | P a g e
Design Class Diagram
Figure 13: Design Class Diagram
+Create Account()+Update Account()
-C_ID-Full Namer-e-mail-Password-Phone number-DoB-Nationality-Address-City-Register Date-Update Date
Customer
+register vechile()+update vechile()
-V_ID-V_Name-Plate Number-Brand_ID-Price Per Day-Model Year-Seating Capacity-Fuel Type-Registration Date-Updation Date-Status
Vehicle
+Create Reservation()+Confirm Reservation()+Cancel Reservation()
-R_ID-Pickup date-Return date-Status-Confirmation Number-Posting Date-C_ID-V_ID-Acc_ID
Reservation
+Create Rent()+Update Rent()+View Rent()
-Contract_ID-Pickup Date-Return Date-Miles Out-Miles In-Daily Fee-Fule Provided By-Fule Charged-VAT-Down Payment-Total Paid-Confirmation Number-Vehicle_ID-Customer_ID-Driver_License_No-Acc_ID
Contract
+Update Account()+Create Account()+Activate()+Deativate()
-Acc_ID-Full Name-Username-Password-Phone number-Role-Status-Updation Date
User_Accounts
1
1..*
Makes
1
*
Registers
1
1..*Makes
1..*
1Approved By
+Register Brand()+Update Brand()
-Brand_ID-Brand Name-Registration Date-Updation Date
Car Brand
-have
1..1
-in
1..1
Present In
+Create Payment()+Update Payment()+View Payment()
-Payment_ID-Daily Fee-Fule Charged-Payment_Method-Total_Payment-Down_Payment-Final_Payment-Return_From_Payment-Vehicle_ID-Customer_ID-Contract_ID-Acc_ID-Updation_Date
Payment
1
1..*
Makes
1
1..*Confirms
1..1
1..1
Makes
+Register Insurance()+Update Insurance()
-Insurnce_ID-Coverage-Vehicle_ID-Updation Date
Insurance
1..*
1
Register
1..*
1
Register
1..*
1
Register
-Have
1
1..1
-Have
1
1..1
+Update profile()+Register cars()+Register Insurances()+Approve Reservation()+Confirms Contract()
Rental Officer
+Assign Driver()+Update Status()
-Assign_ID-Driver_License_No-Plate_No-Delivery Address-Delivery Time-Delivery Status-Rental Officer_Username
Assigned Driver
+Vew Assigned Car()
-Driver_Licence_No-Expire Date-Status
Driver
1..1
1..1
Assigned
1..1
1
Have
1..1
1..1
Assigne
«becomes»
«becomes»
Online Vehicle Rental System 2018
47 | P a g e
3.2 Database design /Physical data model
Database design is the process of producing a detailed data model of a database. This logical data
model contains all the needed logical and physical design choices and physical storage
parameters needed to generate a design in a Data Definition Language, which can then be used to
create a database. A fully attributed data model contains detailed attributes for each entity. The
term database design can be used to describe many different parts of the design of an overall
database system. Principally, and most correctly, it can be thought of as the logical design of the
base data structures used to store the data.
Data structure design describes about data modeling and in this part Entity Relational Diagram,
relational mapping, and normalization are described.
3.2.1 Entity Description
In here we provide a description of entities with all their attributes. Describing entity name,
business definition for the entities and there attribute and domain.
Table 12: Entity Description
3.2.2 Physical data model (PDM)
Database design is the process of producing a detailed data model of a database. This data model
contains all the needed logical and physical design choices and physical storage parameters
needed to generate a design in a data definition language, which can then be used to create a
Entity Name Business definition
User account This entity is responsible to store information of user accounts of the Rental
officers, Managers, System admin and drivers in the database.
Customer Attribute stores customers’ details information in the database, in order to
identify the customer.
Vehicle/Car This entity stores the information of the car in the database.
Reservation This stores information about the reservations made by a customer.
Rent Payment This stores rental information of the rented car, payment details
Online Vehicle Rental System 2018
48 | P a g e
database. Physical data model represents how the model will be built in the database. A physical
database model shows all table structures, including column name, column data type, column
constraints, primary key, foreign key, and relationships between tables. Physical data modeling
involves the actual design of a database according to the requirements that were established
during logical modeling.
Table 13: PDM – User Accounts Table
Table 14: PDM - Contract Table
Online Vehicle Rental System 2018
49 | P a g e
Table 15: PDM – Vehicle/Car Table
Table 16: PDM – Reservation/Booking Table
Online Vehicle Rental System 2018
50 | P a g e
Table 17: PDM – Assign Driver Table
3.3 System Architecture (Deployment Diagram)
As the name Deployment itself describes the purpose of the diagram, Deployment diagrams are
used to visualize the topology (arrangement) of the physical components of a system and where
the software components are deployed. Deployment diagrams show the configuration of run-
time processing elements and the software components, processes, and objects that live on them.
Software component instances represent run-time manifestations of code units. Deployment
diagram would show what hardware components ("nodes") exist (e.g., a web server, an
application server, and a database server. Deployment diagrams consist of nodes and their
relationships. The purpose of deployment diagrams can be described as:
o Visualize hardware topology of a system.
o Describe runtime processing nodes
o Describe the hardware components used to deploy software components.
Online Vehicle Rental System 2018
51 | P a g e
Figure 14: System Design Deployment Diagram
Database Server :MySql
Work Station: Web Browser
«executable»
Rent Manipulator
Application Server: WampServer
«executable»
Reserve Manipulator
Printer: Laser Jet 2050
Laser jet 2050
BRC_Database<< Php >>
<< Driver >>
<< html >>
«executable»
Report Generator
BRC_Serverside Script
device :
Client_Workstations
device : Web server
device :
Database server
Web browser
wamp apache tomcat
server
php
MYAdmin
database
server
*
*
«executable»
Reservation Manipulator
«executable»
Rent Manipulator
«executable»
Report Manipulator
«executable»
Search data manipulator
«executable»
Schemas/Qeries
*
*
* *
*
*
*
*End user
*
*
*
*
*
*
*
*
Online Vehicle Rental System 2018
52 | P a g e
3.4 User Interface Design
User interface is the external part of the system which is used to access and interact with the
system easily.
3.4.1 Login UI Design
Figure 15: Login Form UI Design
Online Vehicle Rental System 2018
53 | P a g e
3.4.2 Reservation UI Design
Figure 16: Reservation Page UI Design
Online Vehicle Rental System 2018
54 | P a g e
3.4.3 Manage Reservation UI
Figure 17: Manage Reservation UI Design
Online Vehicle Rental System 2018
55 | P a g e
CHAPTER 4: Implementation
4.1 Overview of Programming Language
OOPHP is a scripting language that is often embedded into HTML to add functions HTML alone
can't do. OOPHP allows you to collect process and utilize data to create a desired output. In
short, it lets you interact with your pages using object oriented concepts.
OOPHP is freely available for use. The community of open source PHP developers provides
technical support and is constantly improving updating the core PHP functionalities. OOPHP is
available at free of cost under PHP General Public License and most of its associative required
software's like MySQL, Text Editors and Apache Server are also freely available, so it proves
very cost effective for the developers.
OOPHP provides high compatibility with leading operating systems and web servers such as
thereby enabling it to be easily deployed across several different platforms. OOPHP scripts can
run across operating systems such as Linux, Windows, and Mac OSX etc. and also provide
support for all major web servers such as Apache, IIS etc. To implement our project we use the
following programing languages
1. OOPHP : to handle the server side scripting
2. JavaScript, JQuery and AJAX Scripting language: used to develop different validations.
3. HTML5: to display the web page.
4. CSS3: for the formatting of the web site.
5. Bootstrap: for making the website interactive in all devices.
Implementation in the system includes implementing the attributes and methods of each object
and integrating all the objects in the system, to function as a single system the implementation
activity spans the gap between the detailed objects designed model and a complete set of source
code file that can be compiled together.
Online Vehicle Rental System 2018
56 | P a g e
4.2 Algorithms Used
4.2.1 Algorithm for Login
Start Page
Click on login link
Login form displayed
Enter
Username and password
Click login button
Connect to database
If (valid)
The privileged page displayed
Else
Display error message /return value
4.2.2 Algorithm for Forgot password
Login Page
Click on forget password link
Forgot password form is displayed
Fill email and mobile number
Enter new password and confirm password
Click on forget password button
Connect to database
If (valid)
Display successful message.
Else display invalid input message
Online Vehicle Rental System 2018
57 | P a g e
4.3 Pseudo code
Pseudo code is a detailed readable description of what a computer program or algorithm must do,
expressed in a formally-styled natural language rather than in a programming language. Pseudo
code is sometimes used as a detailed step in the process of developing a program. It allows
designers or lead programmers to express the design in great detail and provides programmers a
detailed template for the next step of writing code in a specific programming language. The
purpose of using pseudo code is that it is easier for people to understand than conventional
programming language code, and that it is an efficient and environment-independent description
of the key principles of an algorithm
A. Sample Code for Login
<?php
if(isset($_POST['login']))
{$email=$_POST['email'];
$password=md5($_POST['password']);
$sql ="SELECT EmailId,Password,FullName FROM tblusers WHERE EmailId=:email and
Password=:password";
$query= $dbh -> prepare($sql);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0){
$_SESSION['login']=$_POST['email'];
$_SESSION['fname']=$results->FullName;
$currentpage=$_SERVER['REQUEST_URI'];
echo "<script type='text/javascript'> document.location = '$currentpage'; </script>";
} else{echo "<script>alert('Invalid Details');</script>";}}?>
<div class="modal fade" id="loginform">
<div class="modal-dialog" role="document">
Online Vehicle Rental System 2018
58 | P a g e
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Login</h3></div>
<div class="modal-body">
<div class="row">
<div class="login_wrap">
<div class="col-md-12 col-sm-6">
<form method="post">
<div class="form-group">
<input type="email" class="form-control" name="email" placeholder="Email address*">
</div>
<div class="form-group">
<input type="password" class="form-control" name="password" placeholder="Password*">
</div>
<div class="form-group checkbox">
<input type="checkbox" id="remember"> </div>
<div class="form-group">
<input type="submit" name="login" value="Login" class="btn btn-block"></div>
</form>
</div> </div></div></div>
<div class="modal-footer text-center">
<p>Don't have an account? <a href="#signupform" data-toggle="modal" data-
dismiss="modal">Signup Here</a></p>
<p><a href="#forgotpassword" data-toggle="modal" data-dismiss="modal">Forgot
Password ?</a></p>
</div></div></div>
</div>
Online Vehicle Rental System 2018
59 | P a g e
B. Sample Code for forgot password
<?php
if(isset($_POST['update']))
{$email=$_POST['email'];
$mobile=$_POST['mobile'];
$newpassword=md5($_POST['newpassword']);
$sql ="SELECT EmailId FROM tblusers WHERE EmailId=:email and ContactNo=:mobile";
$query= $dbh -> prepare($sql);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> bindParam(':mobile', $mobile, PDO::PARAM_STR);
$query-> execute();
$results = $query -> fetchAll(PDO::FETCH_OBJ);
if($query -> rowCount() > 0)
{$con="update tblusers set Password=:newpassword where EmailId=:email and
ContactNo=:mobile";
$chngpwd1 = $dbh->prepare($con);
$chngpwd1-> bindParam(':email', $email, PDO::PARAM_STR);
$chngpwd1-> bindParam(':mobile', $mobile, PDO::PARAM_STR);
$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);
$chngpwd1->execute();
echo "<script>alert('Your Password succesfully changed');</script>";}
else {echo "<script>alert('Email id or Mobile no is invalid');</script>"; }}?>
<script type="text/javascript">
function valid()
{if(document.chngpwd.newpassword.value!= document.chngpwd.confirmpassword.value)
{alert("New Password and Confirm Password Field do not match !!");
document.chngpwd.confirmpassword.focus();
return false;}
return true;}
</script>
Online Vehicle Rental System 2018
60 | P a g e
<div class="modal fade" id="forgotpassword">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Password Recovery</h3></div>
<div class="modal-body">
<div class="row">
<div class="forgotpassword_wrap">
<div class="col-md-12">
<form name="chngpwd" method="post" onSubmit="return valid();">
<div class="form-group">
<input type="email" name="email" class="form-control" placeholder="Your Email address*"
required=""></div>
<div class="form-group">
<input type="text" name="mobile" class="form-control" placeholder="Your Reg. Mobile*"
required=""></div>
<div class="form-group">
<input type="password" name="newpassword" class="form-control" placeholder="New
Password*" required=""></div>
<div class="form-group"><input type="password" name="confirmpassword" class="form-
control" placeholder="Confirm Password*" required=""></div>
<div class="form-group"><input type="submit" value="Reset My Password" name="update"
class="btn btn-block"></div></form>
<div class="text-center">
<p class="gray_text">For security reasons we don't store your password. Your password will be
reset and a new one will be send.</p>
<p><a href="#loginform" data-toggle="modal" data-dismiss="modal"><i class="fa fa-angle-
double-left" aria-hidden="true"></i> Back to Login</a></p>
</div></div> </div> </div></div></div></div></div>
Online Vehicle Rental System 2018
61 | P a g e
CHAPTER 5: Testing
Verification (A set of operations that the software correctly implemented a particular function)
on the smallest element of the program i.e. the modules are tested alone in order to discover any
error in the code.
System test insures that the entire integrated software system meets requirements. It tests a
configuration to insure known and predictable results. System testing is based on process
description and flows, emphasizing pre-driven process links and integration points. In essence
system testing is not about checking the individual parts of design, but about checking the system
as a whole. System testing insures the following have been met correctly.
1. Performance testing: Determines how the system performs on the range of possible
environments in which it may be used. This test is done by configuring the system in
different environments like different operating system, different hardware configurations.
2. Security testing:
Security testing was done by trying to access the system that is not authorized. For example
without the valid user name and password tester will try to access the System.
Figure 18: Sample for Security testing
Online Vehicle Rental System 2018
62 | P a g e
CHAPTER 6: Conclusion and Recommendations
6.1 Conclusion
The project is aimed at developing online car Reservation and Rental system. The system allows
customers to perform tasks in an easy way. After we have completed the project we are sure the
problems in the existing system would be solved. The main focus of this project is for
minimizing human errors and less effort to gain effectiveness and efficiency.
6.2 Recommendation and Future Enhancement
6.2.1 Recommendation
In this project we can’t fully automate the on line rental system because there is no online
payment system in this country. So, as a future enhancement when the online payment system
started in this country any concerned bodies who have the ability to fill this gap upgrade the
system. Everyone who wants to interact to our system should have some knowledge of
technology and technology results.
6.2.2 Feature enhancement
Due to time limitation we can’t do all the tasks that are needed in the system, so to enhance the
performance and functionality of the system the next developer can include the following tasks.
Fully automate the system by including online payment system.
Make the system fully accessible in Amharic language.
Develop better security mechanism than the current security like two step verification.
Online Vehicle Rental System 2018
63 | P a g e
APPENDIX I
Deployment diagram: diagrams are special diagrams used to focus on software
Components and hardware components.
Action: is the fundamental unit of behavior specification and represents some
transformation or processing in the modeled system, such as invoking a method of a class
or a sub activity.
Actor - a role that a user takes when invoking a use case. Also see actor modeling.
Activity: carrying out behavior in a State machine diagram.
Activity-diagram: a diagram that describes procedural logic, business process and work
flow supporting parallelism.
Diagram - a visual representation of a subset of features of a UML Mode
Sequence diagram - describes the Messages sent between a number of participating
Objects in a Scenario
Class - the primary declarative construct of Object-Oriented Programming; a cohesive
unit of Attributes and Operations; a compile-time template for an Object
Class diagram - a type of static structure diagram that describes the structure of a system
by showing the system's classes, their attributes, and the relationships between the
classes.
Online Vehicle Rental System 2018
64 | P a g e
APPENDIX II
Declaration
We undersigned, declare that this is our original work, has not been presented for a degree in
this or any other university, and all the source or materials used for this thesis/project have been
acknowledged.
Name Id No Signature
Abel Negash TER/4642/07 _______________
Metadel Girma TER/4678/07 _______________
Bayush Adane TER/4649/07 _______________
Eshetu Fentie TER/4660/07 _______________
Online Vehicle Rental System 2018
65 | P a g e
APPENDIX III
APPROVAL OF ADVISOR AND EXAMINERS
This project has been submitted for examination with our approval as the project advisor.
Advisor Name____________________ Signature____________
This project has been examined with our approval as the project examiner.
Examiner Name:
1. ____________________ signature______________
2. ____________________Signature______________
3. ____________________Signature______________
Online Vehicle Rental System 2018
66 | P a g e
References
[1] “Business License” Entrepreneur, 05 11 2015, [online],
Available:http://www.Entrepreneur.com/encyclopedia/business-license[Accessed 12 11
2015]
[2] Shelly, Cashman, Rosenblatt System analysis and design, tomson course technology,
USA, 5th
edition
[3] Nano degrees, system analysis and design, erangrifiad, jun5, 2010.
[4] Functional requirement: http://www.ops.fhwa.dot.gov/functional-requirement accessed:
01/04/2010E.C
[5] Technical Feasibility, Economic Feasibility, Operational Feasibility, Legal
Feasibility:http://www.freetutes.com/systemanalysis/sa3-technical-economic-
operational-legal.html accessed: 20/04/2010E.C
[6] [Class diagram] https://www.visual-paradigm.com/VPGallery/diagrams/Class.html
accessed: 16/05/2010
[7] physical data model definition https://www.techopedia.com/definition/30500/physical-
data-model accessed: 12/05/2010E.C
[8] What is activity diagram and its purpose:
http://www.modernanalyst.com/Careers/InterviewQuestions/tabid/117/ID/371/Wht-is-
an-Activity-Diagram-and-what-is-its-purpose.aspx accessed30/04/2010E.C