You are on page 1of 75

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

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

i|Page
Online Vehicle Rental System 2018

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

ii | P a g e
Online Vehicle Rental System 2018

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

iii | P a g e
Online Vehicle Rental System 2018

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

iv | P a g e
Online Vehicle Rental System 2018

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

v|Page
Online Vehicle Rental System 2018

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

vi | P a g e
Online Vehicle Rental System 2018

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.

vii | P a g e
Online Vehicle Rental System 2018

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.

viii | P a g e
Online Vehicle Rental System 2018

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!

1|Page
Online Vehicle Rental System 2018

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.

2|Page
Online Vehicle Rental System 2018

 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
3|Page
Online Vehicle Rental System 2018

 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

4|Page
Online Vehicle Rental System 2018

 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:

5|Page
Online Vehicle Rental System 2018

 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…

6|Page
Online Vehicle Rental System 2018

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.

7|Page
Online Vehicle Rental System 2018

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.

8|Page
Online Vehicle Rental System 2018

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.

9|Page
Online Vehicle Rental System 2018

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.

10 | P a g e
Online Vehicle Rental System 2018

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

11 | P a g e
Online Vehicle Rental System 2018

 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.

12 | P a g e
Online Vehicle Rental System 2018

 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:

13 | P a g e
Online Vehicle Rental System 2018

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.

14 | P a g e
Online Vehicle Rental System 2018

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.

15 | P a g e
Online Vehicle Rental System 2018

[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

16 | P a g e
Online Vehicle Rental System 2018

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

17 | P a g e
Online Vehicle Rental System 2018

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

18 | P a g e
Online Vehicle Rental System 2018

 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

19 | P a g e
Online Vehicle Rental System 2018

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

20 | P a g e
Online Vehicle Rental System 2018

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.

21 | P a g e
Online Vehicle Rental System 2018

Use-case Diagram

ZTC Online Car Rental System


Sign up
Register Car
Details *
*
View
Update Car Details Booking/Reservation
*
*

Search and view Search and view Car


Booking Cancle
* *
* Booking/Reservation *
** * *
«uses»
«uses» *
Confirm «uses»
Reserve/Book Car * * *
** Booking/reservation *
*** * *
«uses»
«uses»
* * Customer
Manage Contract «uses» «uses»
Rental Officer «uses» Post Feedback

* «uses» «uses»
Manage Rental
status «uses»

Log in
* «extends»
«uses»
Register Car
conditions
«uses» Log out
«uses»
*
«uses» «uses»
Confirm Rented Car «uses»
conditions Manage page
«uses»
*
«uses» *
* * «uses»
Manage Backup **
View FeedBack
* ** *
Update Account
*
* *
** Create User Account
*

* * System Admin
View Generated
Manager Report Manage User Account

Figure 1: Use Case Diagram

22 | P a g e
Online Vehicle Rental System 2018

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 User Action System Response
Action 1. The actor is on the home page to 2. The system promotes the actor to
login to the system. enter Username, Password.
4. The system verifies that all fields
3. The actor enters username and have been filled out and valid.
password, Click on Login 5. The system successfully logged in.
Button. 6. Use case Exit
Alternate course 4.1 If all fields are not filled out and not matched to the username and
of Action 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.

23 | P a g e
Online Vehicle Rental System 2018

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 User Action System Response
Action 1. The customer wants to reserve a 3. The system checks availability of
car. the car.
2. The customer selects the car 4. The system prompts the customer
he/she wanted to reserve and to fill a reservation form.
clicks reservation link. 7. The system checks all required
5. The customer fills the following information had been filled and
information (Full Name, the entered dates are valid also
ID/Passport No, Country, Mobile 8. The system presents information
number and Selects Pickup & to accept or decline the rental
return date). Agreement.
6. The customer clicks reserve 10. The system shows the customer
button to reserve. that the reservation has been
9. The customer accepts the completed, and presents the customer
reservation and clicks Accept. a reservation confirmation number
and receipt.
11. Use case ends.

24 | P a g e
Online Vehicle Rental System 2018

Alternate course 3.1. If the car is not available, the system goes back to step 2 to
of Action 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 User Action System Response
Action 1. The Rental officer open the 4. The system displays
reservation requests list. successful conformation
2. The Rental officer check for the summary for the reservation.
information that is filled by the 5. Use case Exit.
customer is correct.
3. The Rental officer clicks on the
confirm button.
Alternate course 2.1 If the information filled is not correct the Rental officer will click on
of Action the cancel confirmation button and send message to the customer to fill
correct information.

25 | P a g e
Online Vehicle Rental System 2018

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 User Action System Response
Action 1. The actor wants to cancel reservation 3. The system displays a form
2. The actor opens reservation page and
5. The system verifies the field
clicks cancel reservation
has been filled out correctly and
button/Link.
checks validity of confirmation
4. The actor enters reservation
number, then popup a message
confirmation number and clicks
to verify the canceling.
cancel reservation button.
7. The system cancels the
6. Are you sure you want to cancel, the
reservation and display a
customer clicks “Yes” button.
message the reservation is
canceled.
8.use case Exit
Alternate course of 6.1 If all fields are not filled out the system goes back or returns to step 4
Action of basic course of Action. To fill the invalid or the empty field.

26 | P a g e
Online Vehicle Rental System 2018

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 User Action System Response
Action 1. The Rental officer or Customers 2. Then the system display all
enters name of the car and select one information about the car based on
from the combo Box, Car Brand. selected list.
Car Model and Fuel type Clicks on 3. Use case End.
the search button.
Alternate course 2.1 If the entered car is not found system displays message that the Searched
of Action car is not found and returns to step 1 of basic course of Action to search for
another car.

27 | P a g e
Online Vehicle Rental System 2018

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 User Action System Response
Action 1. The Rental officer wants to 3. The system will response and
Create Contract. display new contract form.
2. Rental Officer requests for new 5. The system checks for the
contract form. validity of the data entered on the
4. The Rental officer enters the form and from database and
needed information and clicks on displays confirmation message
the Submit button. 8. The system displays successfully
6. The Rental officer clicks on yes updates information in to database.
button. 9. Use case Ends.
Alternate course of 5.1 . If the entered information is not valid then return to basic course
Action of action 3
6.1. If rental officer clicks on no then return to basic course of
action 4

28 | P a g e
Online Vehicle Rental System 2018

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 User Action System Response
Action 1. Rental officer wants to Register 3. The system displays the Rent
rent. registration Form.
2. Rental officer requests for rent 6. The system validates the
registration form by clicking on the information entered by the Rental
Manage rent payment button. officer and saves it in to database.
4. The Rental officer fills the needed Also it displays success message
information in the form provided. to the Rental officer.
5. When he/she finished filling the 7. Exit use case.
form he/she Click on Submit button.
Alternate course of 6.1if the entered information is invalid the system back to basic course of
Action action 4

29 | P a g e
Online Vehicle Rental System 2018

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 User Action System Response
Action 1. The Rental officer wants to add a 3. The system response or displays
new car the requested form to add new car.
2. The Rental officer selects from the 5. The system verifies that the
manage car drop down the Add new fields have been filled out
car button and clicks on it. correctly.
4. The Rental officer enters the 6. The system displays a
needed information in the form and successfully stored message to the
clicks on the save or insert button. Rental officer.
7. Use case Exit

Alternate course 5.1 If the customer enters invalid number system goes back or returns to
of Action step 4 of basic course of Action. To fill invalid or the empty field again.

30 | P a g e
Online Vehicle Rental System 2018

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 User Action System Response
Action 1. The Manager wants to generate report. 3. The system responds
2. The Manager clicks rent pages. the requested page.
4. Then on the rent page the Manager specifies 5. The System gives
the date and then clicks on the generate button. Success message and
displays the requested
report.
6. Use case ends

Alternate course of 5.1. If the reservation information is empty or not found the system
Action notify to select for another date and go back to step 4.

31 | P a g e
Online Vehicle Rental System 2018

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 3. The system responds to the requested
log out action.
2. The actor clicks the 4. The system displays a message that the
log out button actor logged out from the system.
5. Use case Ends

32 | P a g e
Online Vehicle Rental System 2018

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

Actor Login(UI) System Controller Database

Opens()
Enter Username and Password()

Please enter correct data error()

Checks Authorization()

Username or Password Incorrect Not Authorized for Login error()


Success()
Successfully Logged in to the System

Figure 2: Sequence diagram - Login

33 | P a g e
Online Vehicle Rental System 2018

2. Sequence diagram of Car Reservation/Booking

Assume that the customer has logged in to the system.

Customer Reservation(UI) System Controller Database

Opens() Select vehicle()


Check for avaliablity()

Vehicle Not Avaliable error()


success()
Opens a reservation form() Vehicle avaliable

Fills reservation form()

Fill correct information error()


success()
Store to database()

Displays Resrvation Successfull Stored in Database success()

Figure 3: Sequence Diagram – Car Reservation/Booking

34 | P a g e
Online Vehicle Rental System 2018

3. Sequence diagram of Confirm Reservation

Rental Officer Reservatin(UI) System Controller Database

Opens()
Request to Display List() Retrive List()

Display Reservation List List Retrived Success()

Insert payment detail()

if correct: Confirm reservation()

Generate Confirmation Message() Store to Database()

Successfully Confirmed Stored in to database Success()

if not correct: Cancel reservation()

Generate Confirmation Message() Store to Database()

Successfully Cancled Stored in to database Success()

Figure 4: Sequence Diagram – Confirm Reservation

35 | P a g e
Online Vehicle Rental System 2018

4. Sequence diagram of Car Registration

Rental Officer Registration(UI) System Controller Database

Opens Form()
Fills form()

Fill correct information error()


Store in to database()

Success()
Successfully registered Veicle Stored in to Database

Figure 5: Sequence Diagram – Car Registration

36 | P a g e
Online Vehicle Rental System 2018

5. Sequence diagram of Cancel Reservation/Booking

Customer Reservation(UI) System Controller Database

Opens()
Request to cancle reservation()

Displays Form() Success()

Enters conformation number() Checks Validity()

Enter Valid Conformation Number error()


Update Database()

Success()
Successfully Canceled Reservation Reservation Canceled

Figure 6: Sequence Diagram – Cancel Reservation

37 | P a g e
Online Vehicle Rental System 2018

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

Actor Opened Login Page

Enter Password and Username

{Check Username and Password}

[if false]
Invalid Password and Username

[if true]

Login Successfull

Display Actor Settings

Actor Login to the System

Figure 7: Activity Diagram – Login

38 | P a g e
Online Vehicle Rental System 2018

2. Activity diagram of Car Reservation

Customer is Logged in to the system

Select Vehicle

{Check Vehicle Avaliablity}


[if false]
Vehicle not Avaliable

[if true]

Display Reservation Form

Fill Form

{Check Inserted Data}


[if false]
Invalid Data Inserted

[if true]

Reservation Successfull

Customer Successfully reserve vehicle

Figure 8: Activity Diagram – Reserve Car

39 | P a g e
Online Vehicle Rental System 2018

3. Activity diagram of Confirm Reservation

Employee open reservation page

Request Reservation list

Display Reservation list

Check payment data

{Confirm If Data is Correct,


Cancel If Data is Incorrect}

Confirm Reservation Cancel Reservation

Successfully Confirmed Reservation Successfully Canceled Reservation

End

Reservation Confirm/Cancel successfully

Figure 9: Activity Diagram – Confirm Reservation

40 | P a g e
Online Vehicle Rental System 2018

4. Activity diagram of Car Registration

Employee is Open Vehicle Registration Page

Open Regiistration Form

Fill Form

{Check Inserted Data}


[if false]
Invalid Data Inserted

[if true]

Registration Successfull

Employee Successfully Registered vehicle

Figure 10: Activity Diagram – Car Registration

41 | P a g e
Online Vehicle Rental System 2018

5. Activity diagram of Cancel Reservation

Customer Open Reservation Page

Request to cancel reservation

Open Reservation Cancel Form

Enter Confirmation Number

{Check Inserted Confirmation number}

[if false]
Invalid Conformation number Inserted

[if true]

Reservation Canceled Successfull

Customer Successfully Canceled Resrvation

Figure 11: Activity Diagram – Cancel Reservation

42 | P a g e
Online Vehicle Rental System 2018

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.

43 | P a g e
Online Vehicle Rental System 2018

Analysis Class Diagram

Customer
-C_ID Reservation Vehicle
-Full Namer -R_ID -V_ID
-have
-e-mail -Pickup date Present In -in -V_Name
-Password -Return date -Plate Number
-Phone number 1..* 1..1 1..1 -Brand_ID
-Status
-DoB Makes -Confirmation Number -Price Per Day
-Have
-Nationality -Posting Date -Model Year
-Address -C_ID -Seating Capacity
-City 1
-V_ID -Fuel Type
-Register Date -Acc_ID 1..* -Registration Date
-Update Date 1 +Create Reservation() -Updation Date
Register -Status
+Create Account() +Confirm Reservation()
+Update Account() +Cancel Reservation() +register vechile()
+update vechile()
1 Contract 1..*Approved By
1
-Contract_ID 1 -Have
-Pickup Date 1 1
Makes 1..1
-Return Date *
-Miles Out User_Accounts
Registers Car Brand
-Miles In -Acc_ID
1..* 1 -Full Name -Brand_ID
-Daily Fee
-Username -Brand Name
-Fule Provided By
-Password -Registration Date
-Fule Charged
1 -Phone number -Updation Date
Makes -VAT
-Down Payment -Role +Register Brand()
-Total Paid -Status +Update Brand()
-Confirmation Number -Updation Date 1 Register
1..*
-Vehicle_ID +Update Account()
-Customer_ID +Create Account()
-Driver_License_No +Activate()
-Acc_ID +Deativate()
+Create Rent() Insurance 1..1
+Update Rent() 1 -Insurnce_ID
1..* +View Rent() 1..* -Coverage
Register
-Vehicle_ID
Payment 1..1 -Updation Date
Confirms
-Payment_ID +Register Insurance()
-Daily Fee +Update Insurance()
-Fule Charged 1..1 Makes
-Payment_Method
-Total_Payment
-Down_Payment
-Final_Payment 1..*
-Return_From_Payment
-Vehicle_ID
-Customer_ID
-Contract_ID
-Acc_ID
-Updation_Date
+Create Payment()
+Update Payment()
+View Payment()

Figure 12: Analysis Class Diagram

44 | P a g e
Online Vehicle Rental System 2018

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.

45 | P a g e
Online Vehicle Rental System 2018

Design Class Diagram

Customer Reservation Vehicle


-C_ID -R_ID -V_ID
-have -in -V_Name
-Full Namer -Pickup date Present In
-e-mail -Return date -Plate Number
1..* -Status 1..1 1..1 -Brand_ID
-Password
Makes -Price Per Day
-Phone number -Confirmation Number -Have
-DoB -Posting Date -Model Year
-Nationality -C_ID -Seating Capacity
1 1 1
-Address -V_ID -Fuel Type
1 -City -Acc_ID 1..* -Registration Date -Have
-Register Date +Create Reservation() Have -Updation Date
-Update Date 1 +Confirm Reservation() -Status 1
+Create Account() Makes +Cancel Reservation() +register vechile()
+Update Account() Register +update vechile()
1..* Driver 1..*
-Driver_Licence_No
Contract -Expire Date 1..1Approved By Car Brand
1 1..1
-Contract_ID -Status -Brand_ID
-Pickup Date +Vew Assigned Car() -Brand Name
«becomes» User_Accounts
-Return Date -Registration Date
1..1 -Acc_ID 1 1..* -Updation Date
-Miles Out Assigned -Full Name
-Miles In +Register Brand()
1..1 -Username
-Daily Fee Register +Update Brand()
-Password
-Fule Provided By Assigned Driver 1
-Phone number
-Fule Charged
* -Assign_ID -Role Insurance
Makes -VAT 1..1
-Driver_License_No -Status -Insurnce_ID
-Down Payment -Plate_No -Updation Date 1 -Coverage
-Total Paid -Delivery Address +Update Account() -Vehicle_ID
-Confirmation Number -Delivery Time Register
+Create Account() 1..* -Updation Date
-Vehicle_ID -Delivery Status
+Activate() +Register Insurance()
-Customer_ID -Rental Officer_Username
+Deativate() +Update Insurance()
-Driver_License_No +Assign Driver()
-Acc_ID 1..1 +Update Status()
+Create Rent() «becomes»
+Update Rent() 1..1 1
+View Rent() Registers
Assigne
Payment Makes Rental Officer
-Payment_ID
-Daily Fee 1..1 +Update profile()
-Fule Charged +Register cars()
1 +Register Insurances()
-Payment_Method
1..* +Approve Reservation()
-Total_Payment
+Confirms Contract()
-Down_Payment
-Final_Payment 1..1
-Return_From_Payment
-Vehicle_ID
-Customer_ID
-Contract_ID 1..*
-Acc_ID Confirms
-Updation_Date
+Create Payment()
+Update Payment()
+View Payment()

Figure 13: Design Class Diagram

46 | P a g e
Online Vehicle Rental System 2018

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

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

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

47 | P a g e
Online Vehicle Rental System 2018

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

48 | P a g e
Online Vehicle Rental System 2018

Table 15: PDM – Vehicle/Car Table

Table 16: PDM – Reservation/Booking Table

49 | P a g e
Online Vehicle Rental System 2018

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.

50 | P a g e
Online Vehicle Rental System 2018

Application Server: WampServer Database Server :MySql

<< Php >>


BRC_Database
BRC_Serverside Script

<< html >>

Work Station: Web Browser

«executable» Printer: Laser Jet 2050


Rent Manipulator
<< Driver >>
Laser jet 2050
«executable»
Reserve Manipulator

«executable»
Report Generator

device : Web server

wamp apache tomcat device :


server Database server

device :
«executable» php
Client_Workstations
Reservation Manipulator MYAdmin
* database
* server
Web browser
*
«executable» «executable»
* * Rent Manipulator * Schemas/Qeries
*
End user **
*
* *

*
«executable»
* Report Manipulator
*

*
*
«executable»
Search data manipulator

Figure 14: System Design Deployment Diagram

51 | P a g e
Online Vehicle Rental System 2018

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

52 | P a g e
Online Vehicle Rental System 2018

3.4.2 Reservation UI Design

Figure 16: Reservation Page UI Design

53 | P a g e
Online Vehicle Rental System 2018

3.4.3 Manage Reservation UI

Figure 17: Manage Reservation UI Design

54 | P a g e
Online Vehicle Rental System 2018

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.

55 | P a g e
Online Vehicle Rental System 2018

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

56 | P a g e
Online Vehicle Rental System 2018

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">

57 | P a g e
Online Vehicle Rental System 2018

<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-
hidden="true">&times;</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>

58 | P a g e
Online Vehicle Rental System 2018

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>

59 | P a g e
Online Vehicle Rental System 2018

<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">&times;</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>

60 | P a g e
Online Vehicle Rental System 2018

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

61 | P a g e
Online Vehicle Rental System 2018

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.

62 | P a g e
Online Vehicle Rental System 2018

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.

63 | P a g e
Online Vehicle Rental System 2018

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 _______________

64 | P a g e
Online Vehicle Rental System 2018

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______________

65 | P a g e
Online Vehicle Rental System 2018

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

66 | P a g e

You might also like