Online Vehicle Rental System - 6te.net

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

Transcript of Online Vehicle Rental System - 6te.net

Online Car Reservation & Rental System for

Zelalem Car Rent & Tour Travel in Addis Ababa

A Project Report

Submitted by

NAME ID NO:

Abel Negash TER/4642/07

Metadel Girma TER/4678/07

Bayush Adane TER/4649/07

Eshetu Fentie TER/4660/07

In partial fulfilment for the award of the degree of

BACHELOR OF SCIENCE IN INFORMATION TECHNOLOGY

Under the guidance of

Fanuel Belay

_________________________

ADVISOR SIGNATURE

DEPARTMENT OF INFORMATION TECHNOLOGY

INISTITUTE OF TECHNOLOGY

DEBRE MARKOS UNIVERSITY

DEBRE MARKOS

JUNE/ 2018

Online Vehicle Rental System 2018

i | P a g e

Table of Contents

List of Tables ............................................................................................................................................... iv

List of Figures ............................................................................................................................................... v

List of Acronyms ......................................................................................................................................... vi

ACKNOWLEDGEMENT .......................................................................................................................... vii

ABSTRACT ............................................................................................................................................... viii

CHAPTER 1: Introduction ........................................................................................................................... 1

1.1 Introduction ................................................................................................................................... 1

1.2 Background of the project ............................................................................................................. 1

1.3 Problems Statement ...................................................................................................................... 2

1.4 Objective of the Project................................................................................................................. 4

1.4.1 General Objective ................................................................................................................. 4

1.4.2 Specific Objective ................................................................................................................. 4

1.5 Project Scope ................................................................................................................................ 4

1.6 Limitation of the project ............................................................................................................... 4

1.7 Significance of the project ............................................................................................................ 5

1.8 System Requirements .................................................................................................................... 6

1.8.1 Hardware Requirements ........................................................................................................ 6

1.8.2 Software Requirements ......................................................................................................... 6

1.8.3 Programming Language used ................................................................................................ 7

1.9 Data Collection Methodology ....................................................................................................... 7

1.9.1 Observation ........................................................................................................................... 7

1.9.2 Interview ............................................................................................................................... 7

1.9.3 Document analysis: ............................................................................................................... 8

1.10 Feasibility Study of the project ..................................................................................................... 8

1.10.1 Technical feasibility analysis: ............................................................................................... 8

1.10.2 Operational Feasibility .......................................................................................................... 8

1.10.3 Economic feasibility ............................................................................................................. 8

1.10.4 Political feasibility ................................................................................................................ 9

CHAPTER 2: System Analysis .............................................................................................................. 10

2.1 Overview of the Existing System ................................................................................................ 10

Online Vehicle Rental System 2018

ii | P a g e

2.2 System Requirement Specification ............................................................................................. 11

2.2.1 Functional Requirement ...................................................................................................... 11

2.2.2 Non-Functional Requirements ............................................................................................ 13

2.2.3 Business rule ....................................................................................................................... 15

2.3 System requirement analysis ....................................................................................................... 17

2.3.1 Actor and Use case Identification ....................................................................................... 17

Use-case Diagram .............................................................................................................................. 22

Use-case Description .......................................................................................................................... 23

2.3.2 Sequence Diagram .............................................................................................................. 33

2.3.3 Activity Diagram................................................................................................................. 38

2.3.4 Analysis Class Diagram ...................................................................................................... 43

CHAPTER 3: System Design ................................................................................................................ 45

3.1 Design Class diagram ................................................................................................................. 45

Design Class Diagram ......................................................................................................................... 46

3.2 Database design /Physical data model ........................................................................................ 47

3.2.1 Entity Description ............................................................................................................... 47

3.2.2 Physical data model (PDM) ................................................................................................ 47

3.3 System Architecture (Deployment Diagram).............................................................................. 50

3.4 User Interface Design.................................................................................................................. 52

3.4.1 Login UI Design.................................................................................................................. 52

3.4.2 Reservation UI Design ........................................................................................................ 53

3.4.3 Manage Reservation UI ...................................................................................................... 54

CHAPTER 4: Implementation ............................................................................................................... 55

4.1 Overview of Programming Language ......................................................................................... 55

4.2 Algorithms Used ......................................................................................................................... 56

4.2.1 Algorithm for Login ............................................................................................................ 56

4.2.2 Algorithm for Forgot password ........................................................................................... 56

4.3 Pseudo code ................................................................................................................................ 57

A. Sample Code for Login ............................................................................................................... 57

B. Sample Code for forgot password ............................................................................................... 59

CHAPTER 5: Testing ............................................................................................................................. 61

Online Vehicle Rental System 2018

iii | P a g e

CHAPTER 6: Conclusion and Recommendations ................................................................................. 62

6.1 Conclusion .................................................................................................................................. 62

6.2 Recommendation and Future Enhancement ................................................................................ 62

6.2.1 Recommendation ................................................................................................................ 62

6.2.2 Feature enhancement ........................................................................................................... 62

APPENDIX I .............................................................................................................................................. 63

APPENDIX II ............................................................................................................................................. 64

APPENDIX III ............................................................................................................................................ 65

References ................................................................................................................................................... 66

Online Vehicle Rental System 2018

iv | P a g e

List of Tables

Table 1: Use case identification table ......................................................................................................... 19

Table 2: Use Case - Login .......................................................................................................................... 23

Table 3: Use Case - Reserve Car ................................................................................................................ 24

Table 4: Use Case - Confirm/Approve Reservation ................................................................................... 25

Table 5: Use Case - Cancel Reservation ..................................................................................................... 26

Table 6: Use Case - Search Car .................................................................................................................. 27

Table 7: Use Case – Create Contract .......................................................................................................... 28

Table 8: Use Case - Register Rental Payment Information ........................................................................ 29

Table 9: Use case – Register New Car ........................................................................................................ 30

Table 10: Use Case - Generate Report ........................................................................................................ 31

Table 11: Use Case – Logout ...................................................................................................................... 32

Table 12: Entity Description ....................................................................................................................... 47

Table 13: PDM – User Accounts Table ...................................................................................................... 48

Table 14: PDM - Contract Table................................................................................................................. 48

Table 15: PDM – Vehicle/Car Table .......................................................................................................... 49

Table 16: PDM – Reservation/Booking Table ............................................................................................ 49

Table 17: PDM – Assign Driver Table ....................................................................................................... 50

Online Vehicle Rental System 2018

v | P a g e

List of Figures

Figure 1: Use Case Diagram ......................................................................................................... 22

Figure 2: Sequence diagram - Login ............................................................................................. 33

Figure 3: Sequence Diagram – Car Reservation/Booking ............................................................ 34

Figure 4: Sequence Diagram – Confirm Reservation ................................................................... 35

Figure 5: Sequence Diagram – Car Registration .......................................................................... 36

Figure 6: Sequence Diagram – Cancel Reservation ..................................................................... 37

Figure 7: Activity Diagram – Login ............................................................................................. 38

Figure 9: Activity Diagram – Confirm Reservation ..................................................................... 40

Figure 10: Activity Diagram – Car Registration ........................................................................... 41

Figure 11: Activity Diagram – Cancel Reservation ...................................................................... 42

Figure 12: Analysis Class Diagram .............................................................................................. 44

Figure 13: Design Class Diagram ................................................................................................. 46

Figure 14: System Design Deployment Diagram ......................................................................... 51

Figure 15: Login Form UI Design ................................................................................................ 52

Figure 16: Reservation Page UI Design........................................................................................ 53

Figure 17: Manage Reservation UI Design .................................................................................. 54

Figure 18: Sample for Security testing ......................................................................................... 61

Online Vehicle Rental System 2018

vi | P a g e

List of Acronyms

ZTC -------------------------------------- Zelalem Tour Travel and Car Rental

OOPHP -------------------------------------- Object Oriented Hyper Text Pre Processer

ID -------------------------------------- Identification

Info -------------------------------------- Information

Sys Admin -------------------------------------- System Administrator

PW -------------------------------------- Password

UN -------------------------------------- Username

RAM -------------------------------------- Random Access Memory

CPU -------------------------------------- Central Processing Unit

UML -------------------------------------- Unified Modeling Language

UC -------------------------------------- Use Case

UI -------------------------------------- User Interface

CSS -------------------------------------- Cascading Style Sheet

GHz -------------------------------------- gigahertz

GB -------------------------------------- gigabyte

No -------------------------------------- Number

URL -------------------------------------- Uniform Resource Location

HTML -------------------------------------- Hypertext Markup Language

MySQL -------------------------------------- My Structural Query Language (Database)

SQL -------------------------------------- Structural Query Language

WAMP -------------------------------------- Windows Apache MySQL PHP

Online Vehicle Rental System 2018

vii | P a g e

ACKNOWLEDGEMENT

First of all, we thanks for our Lord God, that helps us in different ways either we know or we did

not know to complete our work. Secondly all we want to thanks for our advisor instructor Fanuel

Belay; he plays a great role by giving us the comments and different advices that helps for our

project and also by motivating us to do our work effectively. Last but not list, we would like to

thank for the people who plays a great role in the development of this project by giving us

information on the System and how the system work. Finally, we would like to give our gratitude

for our families, friends and also our teachers for giving some advices and other direct or indirect

helps.

Online Vehicle Rental System 2018

viii | P a g e

ABSTRACT

The title of this project is called “Online Car Reservation and Rental System for Zelalem Tour

Travel and Car Rental in Addis Ababa”. The purpose of the project is to build an automated

system for reserving Vehicles online and easily manage rental services by using the web based

system. This project contains reservation system for customers to reserve car online and Rental

system for the organization to control rental process and manage cars rental online easily.

Online Vehicle Rental System 2018

1 | P a g e

CHAPTER 1: Introduction

1.1 Introduction

This chapter of the project document which provides a general introduction about this

industrial project. It contains and describes about background of the organization, existing

system functions and problems.

This chapter also describes about the system, objective including the general and specific

objectives of the project, as well as the methodologies that we used for data gathering,

analysis and design.

1.2 Background of the project

Zelalem Tour and Car Rental (ZTC) organization is a private limited organization established

under the commercial law of Ethiopia. Owned and Managed by an Ethiopian, with a great

specialization in group, individual, educational and leisure tours for the last 10 years in

Ethiopia. Also serve to specialized tours such as: -Architectural, Medical tours and

documentary filming tour packages as well. We are based in Addis Ababa, Ethiopia, with a

squad of experienced professionals. We afford the best vacation holidays in Ethiopia. We have

the widest choices of well-designed tour packages for groups and individuals throughout

Ethiopia. Our packages include: cultural tours, historical tours, festival tours, adventure tours,

wildlife safari, trekking, business, conference tours, bird-watching, car rental and so much

more.

Available cars: - We have more than 205 excellent cars available; this includes:

MERCEDES S & E CLASSES, TOYOTA COROLLA, TOYOTA YARIS, TOYOTA

PRADO LAND CRUISER, NISSAN PATROL 4WD V8, LAND CRUISER 105,

AUTOMOBILES, SUVS, FOUR WHEEL DRIVES, MINI BUSES and COASTER BUSES.

All our cars are with models of above 2010.

Note:

- All cars are fully insured.

- Cars availability: 24/7.

- Driver, Fluency in English

- In the case of any technical problems, ZTC immediately replace with the same condition car!

Online Vehicle Rental System 2018

2 | P a g e

1.3 Problems Statement

The existing system has a number of problems in the working procedure for the organization and

customers. The increasing amount of data makes more paper to be used during reservation and

renting process. Much amount of paper means to the data storing will have more complexity and

hard to find the one we want to see and update. Besides, to this, in the existing system customer

cannot get services on time and from where he is. When a customers need a car to rent they must

go to the office, which may be so far from their location so that it takes much time, money and

other costs.

Generally, the existing system problems are: -

1. During reservation a customer reserve a car on phone or expected to go to the

organization for reserving. This has its own problem in the business sector.

The organization phone may be busy or may not work when customer is calling

to make reservation.

It may be difficult to customers to get the phone number or the location of the

organization.

The customers may be resulted to unnecessary extra expense and waste their

time.

The organization may not be able to serve many customers at a time.

The customers may not get service of the organization 24/7 (twenty four hours a

day and seven days a week).

2. During renting a car, the customer information and contract made between them are

filled in a manual form.

The contract form made between the customer and organization needs more

space to store files in the file cabinet.

Consumes more resources: it takes many materials to license. Such as paper, pen,

file cabinets etc.

Difficult to update customer information change work place of the customer

because the customer wants to changes his/her trade name entire information

should be changed.

Online Vehicle Rental System 2018

3 | P a g e

There is data loss, poor organized and unsecured data. This also leads to security

problem not protect the data from an unauthorized person and does not keep the

organizations’ safety.

Tedious to perform entire activities because done by manually

3. During generating monthly report.

When generating report, it takes time and it may not be easy to manage and

analysis the monthly work due to massive collection of data and the generated

report may not be accurate.

4. During Assigning a driver

Assigning a driver is done manually. So it can be tedious work to do manually

and have to tell the driver orally.

Solution of the Existing system

Our project team found solution for existing system problems to make the customer access and

services easy and to get any information and services regarding with their location by using their

own device such as desktop computer, personal computer, smart phone etc. This solution is

somewhat used to minimize time, cost. The solution that we stated as follows:

Develop Mobile Application: If it is developed by using android application it more

important and the best one but if the android system limits the operability of the system

on other operating systems and due to our programming language limitation the team

members are not completely agreed on this solution. So it is not 100% selected by our

team members.

Develop Interactive Web based system using OOPHP, HTML and MySQL: this version

is best solution than others because support all operating systems, all browsers accept the

functionality of the system therefore no need of android so we select this solution than

others.

Alternative solution

Online Vehicle Rental System 2018

4 | P a g e

Develop Web based Application Using both English and Amharic Version because any

customer can use the system that they can read and write in both English and Amharic.

So the system is easy to use by anyone that describe in the above that mean they can read

and write both languages and the user interface is clear for all users.

1.4 Objective of the Project

1.4.1 General Objective

The general objective of this project is to develop interactive web based (online) system

for the ZTC car rental organization located in Addis Ababa.

1.4.2 Specific Objective

Here are some specific objectives that would together help us achieve the overall goal of

the project as follows:

To let customer Reserve and rent cars online.

To check cars availability without any difficulty.

To assign driver easily.

To update customer information.

To generate daily, weekly, monthly and annual report on time.

To maintain customer information secured.

To take a backup of process on the system.

To develop a database system that store, manipulate, searching and retrieving

customer information.

1.5 Project Scope

The scope of this project is developing web based system for ZTC car rental organization

for Addis Ababa branch. The functions which cover in this project are we are focusing on

making rent car and online reserve. Customers as well as the organization’s Rental officer

will be able to use the system effectively.

1.6 Limitation of the project

Our project is limited to the following

Online Vehicle Rental System 2018

5 | P a g e

The first limitation is Time, meaning that the given time to finish this project is

limited so don’t expect perfect system.

The project scope is limited to automate the existing system because there is no

online payment in Ethiopia currently.

Also when collecting information, Rental officers who gave the information are not

willing to give us full information during to security issues.

1.7 Significance of the project

This project focuses on the specific conditions of trade that is Trade Registration and

Licensing Management System. It would cover different activities. Such as customer (trader)

apply in everywhere, system notifies number of customer register in the database, announce

license renewal date.

Significance for the Customer:

To increase the customers satisfaction by serving customers everywhere online,

saving their time and cost.

It is user friendly means that customers can easily use the system without any

difficulties.

The system manages and stores their information.

The customer can complain online to the manager.

Significance for the Organization:

To increase the owners business by saving time and consumption of materials.

To enable website Administrators, to easily update the information on the system.

Reduce the workload of Rental officers.

Access of information will be easier, faster, safer, and well-organized way.

Reduce space to store file cabinet not manual.

Easy to retrieve data.

System notifies number of customer.

Organizations serve customers easily with their online request for service.

Significance for the Developer:

Online Vehicle Rental System 2018

6 | P a g e

Get financial benefit by selling the system/website.

Get knowledge and experience.

Get moral satisfaction by reducing the workload of Rental officer and customer.

Can be popular or famed and get many job requests from other companies.

1.8 System Requirements

These are the necessary minimum software and hardware requirements that we have used to

develop this automated system. These requirements are described below as follows:

1.8.1 Hardware Requirements

These are hardware requirements we used for developing this system such as:

Personal Computer: used to write documentation and implementation with:

o Processor - Intel(R) Pentium(R) CPU B950 @ 2.10 GHz.

o RAM - 4 GB.

o Hard Drive - 100 GB or higher.

Backup Device – Flash Disk (8GB) for data storage.

Mobile Camera to collect data that can’t be gained manually.

Paper for data collecting and Printer to print the document.

1.8.2 Software Requirements

Operating System

Windows 10 is the Operating System we used to develop this system.

Applications software used :

Microsoft Office products such as

o MS-WORD 2010: to write documentation of the system.

o MS PowerPoint 2010: for presentation.

o Microsoft Visio 2010 to draw UML diagrams like: use case diagram, class

diagram, activity diagram, sequence diagram, and graphical user interface.

XAMPP Server : to manage Apache and MySQL services

Sublime 3.0 text editor:

To write the HTML5, JavaScript, CSS3, PHP Scripts…

Online Vehicle Rental System 2018

7 | P a g e

1.8.3 Programming Language used

A programming language is a formal computer language designed to communicate instructions to

a machine, particularly a computer.

The client side programming language (user interface (front end)) of the application

developed in HTML5, Bootstrap, Style sheet (CSS3) and Scripting language (JavaScript),

JQuery, Ajax to develop the presentation layer that is interpreted by the system web

browser.

Database layer (back end) programming language is MySQL.

The server side programming (application logic layer) is PHP. PHP is fast data processing

programming language. Therefore we developed this system using PHP for the server side

programming and it is compatible with the client side languages used and also with the

back end (database layer).

1.9 Data Collection Methodology

In order to find the necessary information about the current system the team used primary and

secondary data collection methodologies. These methodologies are very important to gather

information for this project such as, Observation, Interview and Document Analysis.

1.9.1 Observation

We have seen the customers waiting in queue to reserve and also rent car. Also they wait

additional time until the Rental officers makes sure the needed car is available. By observing

how the customers and rental officers interact with the current manual system of the ZTC

organization, we have collected the data which is necessary for automating the existing

manual system.

1.9.2 Interview

To know how the Car Reservation and Rental System work we prepared questions concerning

to the current manual System and interviewed the Rental officers in the office. For example

we interviewed one of the Rental officers about how the existing system works, and she told

us the office have lack of human resource to perform activities properly and answers

customer’s request on time.

Online Vehicle Rental System 2018

8 | P a g e

1.9.3 Document analysis:

We have collected more information about the manual system by using earlier documents that

help us with developing this project. During the analysis of documents, we considered those

documents which can bring more features to the project relevant with developing the system.

1.10 Feasibility Study of the project

The feasibility study is the preliminary study that determines whether a system project is

financially, technically, operationally and politically feasible.

1.10.1 Technical feasibility analysis:

The system is developed by using best technological system development techniques such as

OOPHP, Java Script, JQuery, Ajax, Bootstrap, CSS3 and MySQL database without any

problems. When we evaluate the hardware’s and software’s requirement and how they meet

the need of the proposed system, our proposed system is technically feasible because we have

used currently available and affordable technologies to develop the proposed system with

easy and attractive user interface.

1.10.2 Operational Feasibility

The system is operationally feasible by changing the manual system to the web based online

system and giving the user easy to use automated system or takes advantages of business

opportunity by minimizing efforts and time. The system is developed by using technologically

system development techniques such as PHP, Java Script, CSS and MySQL database without

any problems. When we evaluate the hardware’s and software’s requirement and how they

meet the need of the system, our system is technically feasible because used currently

available and affordable technologies for developing the system easy user interface to access.

The system provides best service for customer and users. Users can use the system easily

since it is not confusing for customer and officer.

1.10.3 Economic feasibility

Our system is economically feasible, because it reduces the time and resource needed to perform

certain actions such as customer registration, generate report, paper and pen, which they are

using for manual work.

Online Vehicle Rental System 2018

9 | P a g e

It reduces the cost that is spent for reservation and rental process. Such as transport cost, pen and

paper cost for the form that is filled during car reservation and rent. It also reduces the loss of

data that means it reduces the cost that is priceless so it saves us a lot of money.

For example, to handle much amount of data there must be many people to manage the data and

a lot of hardcopy, pen, and pencil needed. But after the system is developed the data can be

managed digitally with one person in very short time.

This means the concrete benefit that can be expressed in terms of birr. So the system saves a lot

of birr that was used to buy the material such as paper, pencil, rubber, and so on.

1.10.4 Political feasibility

Politically feasibility in terms of legal system:

The system has no conflict with any government directives, because it gives services for the

people effectively and efficiently, all the stakeholders (participants) agreed before the system is

developed. So the government is profitable and the system will be politically feasible.

Online Vehicle Rental System 2018

10 | P a g e

CHAPTER 2: System Analysis

The system analysis modeling deals with analyzing the system. It includes the system use case

diagrams, the use case descriptions (scenarios), sequence diagrams, activity diagrams, analysis

class diagram. After identifying the actors and use cases, the use cases are developed and textual

descriptions (scenarios) are stated. The Sequence diagram is depicted based on the use cases

which are developed for the system. Activities will be represented by the activity diagrams.

2.1 Overview of the Existing System

Zelalem Car Rental and Tour Travel organization gives car rental service for both foreign and

local customers. This organization does its daily work by providing their service to the customers

using a manual system for reserving, contract holding and to keep record of all the rental

activities and customer information.

The detailed existing system functions are listed as follows: -

During car reservation the customers reserve a car by making a phone call to the

organization; otherwise he/she is expected to go to the organization to make

reservation. First he/she have to call the office and then he have to tell the rental

officer the car he wanted and when he wants the car and then he have to pay them a

collateral to make sure that he/she will come back for renting the car reserved.

During renting, the customer has to go to the office and his/her full personal

information, payments status and rental agreements (contracts) are filled in the car

rental agreement form (contract) in order to hold legal contract between the customer

and organization for renting the car.

The organization makes a general report about the rented cars once at the end of the

month and generates a report to the manager.

Users of the Existing System

In the existing manual Car rental system there are different users namely Customers, Rental

officer, Office manager and Driver.

The users of existing system mentioned below:

Rental officer: is user of the existing system that registers reservation and rent, manage

booking/reservation & manage rent.

Online Vehicle Rental System 2018

11 | P a g e

o The Rental Officer manages customer information.

o Check customer status and create contract.

Customers: request to rent car from the organization, first by reserving and then by filling

the contract form to get rental service.

Manager: manages and controls activities of the organization. Also control the whole

business activity, reviews and solved the customer complain if they have.

Driver: provide driving service for the customers who needed delivery and hire the

driver for themselves.

2.2 System Requirement Specification

System requirement specifications are abstract description of the services, which the system

should provide. Are statements, in a natural language plus diagrams, of what services the

system is expected to provide to system users and the constraints under which it must operate.

That describes user goals or tasks that the users must be able to perform with the system. User

requirements therefore describe what the user will be able to do with the system.

The system must have requirement that satisfies customers. System requirements may be either

functional or non-functional requirement.

2.2.1 Functional Requirement

These are statements of services the system should provide, how the system should react to

particular inputs, and how the system should behave in particular situations. It deals with what

the system should do or provide for users. Specifies the software functionality that the

developers must build into the product to enable users to accomplish their tasks. The system

manages and process data according to the rule and regulation of the organization.

It also provides report generation facilitate. The database of the system provides the following

functionality. Data entry inputs data to the system. System serves different interface that

manage data entry mechanism in the database. Example car reservation/booking form, update

customer profile, cancelation form, Rental agreement form (contracts) etc…

The functional requirement of the system includes:

The system must let:

All users Sign in and Sign out

Online Vehicle Rental System 2018

12 | P a g e

All users change their password

New customers sign up

Customers with username and password sign in and book/reserve cars

Customers manage their profiles

Customers to select specific car using different search category while reservation with

option for advanced search to limit the car search to specific categories of cars search.

E.g. By brand name, fuel type, price, color …

Customer view list of available cars during reservation.

Customer to view detail description of particular car.

Customers reserve/book a car easily

Customers manage their reservation/booking

Customers cancel their reservation/booking

Customer to select cars in the list.

Rental officer to Search cars by specific record.

Customers to cancel reservation using reservation confirmation number.

System successfully committed reservations.

System display reservation summary with a unique reservation conformation number for

all successfully committed reservation.

Generate report about the done task. Report may be daily, weekly, monthly or annually

work.

System Admin Backup and restore database

System Admin create user account and assign roles.

System Admin manage user accounts

System Admin manage their profiles

System Admin to create new user account.

System Admin to change account password.

Rental officer to update reservation information.

Rental officer to view reservations made by customers.

Rental officer search and view customer information.

Rental officer register payment for each service and provide receipt to customer.

Rental officer to register new cars, car brands and manage them.

Online Vehicle Rental System 2018

13 | P a g e

Rental officer to assign driver.

Driver view assigned car and destination address.

Rental officer to select cars in the list.

Rental officer to update information of the car in need of modification.

Rental officer to update information of the brand in need of modification.

Rental officer to display all lists of car.

Rental officer to display all available cars.

Rental officer to Search cars by specific record.

Rental officer to display all rented car.

Rental officer to display all off duty cars.

Rental officer to register customers into rental list.

Rental officer to update about customer rent record details in the rental list.

Rental officer to select customer rent record by specific search category.

Rental officer to search rent record of customers using specific categories.

Rental officer to display customers, who rent cars.

Rental officer to display all customers rent record

The system must provide printable summary for successfully committed reservation/rent.

2.2.2 Non-Functional Requirements

Non-functional requirements, as the name suggests, are requirements that are not directly

concerned with the specific services delivered by the system to its users. They may relate to

emergent system properties such as reliability, response time, and store occupancy.

Alternatively, they may define constraints on the system implementation such as the capabilities

of I/O devices or the data representations used in interfaces with other systems. Non-functional

requirements, such as performance, security, or availability, usually specify or constrain

characteristics of the system as a whole. Non-functional requirements are often called qualities of

a system. Non-functional requirements describe the aspects of the system that do not relate to its

execution, but rather to its evolution over time.

Some of the non-functional requirements of the system are:

Online Vehicle Rental System 2018

14 | P a g e

Usability

The system provides user-friendly interfaces and easy to navigate from one link to

other, which enhances users’ efficiency.

The user can use the system by reading help and support.

Security

The system should provide basic security features like username and password

authentication to prevent the system from unauthorized access. The system does

not allow unauthorized users to log into the system and modify records. Users

will have their own encrypted password and username by using encryption

algorithm to access the system like md5 encryption algorithm method.

Performance

The system response time for every instruction conducted by the user must not

exceed more than a minimum of 10 seconds.

The system should have high performance rate when executing user’s input and

should be able to provide response within a short time span usually 50 second for

highly complicated task and 20 to 25 seconds for less complicated task.

Availability

The system should always be available at any time in the presence of internet

connection or presence in networked environment and electric power for access at

24 hours a day, 7 days a week unless the network or internet connection fails and

electric power off.

Also in the occurrence of any major system malfunctioning, the system should be

available in 1 to 2 working days, so that business process is not severely affected.

Reliability

The system should be used smoothly without being corrupted and frequently

failure. When failures occur the system should be tolerates failure, troubleshoot in

short period of time and return related error message.

Online Vehicle Rental System 2018

15 | P a g e

Technical requirement

Are requirements that outline what is needed to support the project; during development,

implementation and ongoing delivery. Include servers to store data and a process for ongoing

maintenance related to a website.

2.2.3 Business rule

Business rules are statements about the enterprise way of doing business process.

This part specifies and gives somewhat understanding of activities which are being done in the

existing system with regard to business rule that are also used in this system.

The following are the major business rule used by the existing system is

[BR-1] Customer must have Identification Card or Passport.

[BR-2] Customer must be greater than 25 years of age to rent or drive a vehicle from

Zelalem Tour and Car rental.

[BR-3] Customer should pay as collateral (50ETB) to successfully reserve/book a car

using mobile banking or wire transfer to the organizations bank account.

[BR-4] Customer should come with a property, the needed documentations like original

driver license and also stocks or bonds as collateral or money that can be used as collateral

for the car.

[BR-5] Bank account or Credit card must have available funds of $500 greater than the

total amount of the rental charges. All required funds will be taken as a deposit against

rental charges.

[BR-6] All unused funds will be returned through your bank account or credit card

processor after the vehicle is returned.

[BR-7] Customer is responsible for damage to the rental vehicle and any third party

claims for liability. Customer may also be responsible for the cost of the repair of the

vehicle, loss of use, towing storage and impound fees.

[BR-8] Zelalem tour and car rental offers, at an additional charge, a Collision Damage to

cover your financial responsibility for collision damage to the rented vehicle. Your own

auto insurance may cover all or part of your financial responsibility for the rented vehicle,

so you should determine the extent of your coverage before deciding whether to purchase a

CDW.

Online Vehicle Rental System 2018

16 | P a g e

[BR-9] For self-drive rental, a rental day is each 24 hour time period beginning with the

date/time indicated on rental agreement. There is no grace period and hourly charges apply

after the rental period. After three hours late, a full day charge applies.

[BR-10] In the case of renting a car with driver, operational hour is from 6:00am-7:00pm

(14hours per day), unless special agreement is made.

[BR-11] Many of contracts include unlimited mileage. If you do not plan on driving more

than 75 kms per day, then one of our promotional rates may best suit your needs. These

rates have an extra charge per kms if you exceed the specified mileage on your agreement.

[BR-12] Extending contract beyond the current expiration date, customer must notify

renter immediately and pay all necessary additional deposits. If customer keeps the

vehicle longer than the return date specified on the contract, an increased rate will be

charged. Only the renter is permitted to extend the rental agreement. If additional funds are

not available or a payment cannot be made, a request for extension will be denied and the

vehicle must be returned on the original return date and time. In order to extend the rental

period, cash renters must make an additional payment for deposit in our office prior to the

contract end date.

[BR-13] Customer must come with the original driver license of the driver who is going to

drive the car at the time of payment and collect the car. Zelalem tour and car rental don’t

accept additional driver. Operation of our vehicles by anyone other than the driver listed on

the contract will immediately terminate the contract and result in a forfeit of your deposit.

No additional drivers may be added to a contract over the telephone. Photo copies or fax

copies of the driver's license will not be accepted.

[BR-14] Cancelation in less than 24hours results on non-refund ability of cash. Cash

deposits CAN NOT be refunded, once the service starts rendering. Your non-refundable

deposit guarantees you the vehicle when you get here, as WE DO NOT OVER-BOOK!

[BR-15] Rental rate applies only to the exact reservation period specified. Returning the

vehicle past the confirmed return date subjects you to a higher daily and or weekly charge

of $10 per day.

[BR-16] Fueling the rental vehicle is the renter’s responsibility. Vehicles must be returned

with the same amount of fuel as the start of the rental to avoid refueling charges. Renters

should stop at a local station and refuel to the same level before returning it. If the

Online Vehicle Rental System 2018

17 | P a g e

customer chooses not to do so, we charge a premium for providing this refueling service to

them. That charge takes into account both direct and indirect costs of having us refuel for

you.

[BR-17] Customer must return vehicle in the same clean condition that he/she received it.

A cleaning fee may be applied for any vehicle that is not returned in a reasonably clean

condition or excessively dirty condition.

[BR-18] If vehicle breaks down, customer must notify the renter immediately. The renter

will advise on how to proceed. Customer will be repaid for any repairs authorized by

renter, or for any oil or parts authorized by renter. Customer must retain any and all

receipts for repayment. Emergency breakdown after hour’s number is printed on contract.

[BR-19] Customers are responsible for all damage to or loss of the vehicle, or missing

equipment, regardless if he/she is at fault or not.

[BR-20] Customer must report all accidents or incidents of theft or vandalism to the police

within 24 hours after the time you discover them. Customer must provide the renter a copy

of the police report. Customer must report all accidents involving the vehicle directly to

the renter within 24 hours of occurrence. Failure to report any damage, loss or vandalism

will result in forfeiture of your deposit.

2.3 System requirement analysis

System Requirements Analysis gives the professional systems engineer the tools to set up a

proper and effective analysis of the resources, schedules and parts needed to successfully

undertake and complete any large, complex project. This fully revised text offers readers the

methods for rationally breaking down a large project into a series of stepwise questions, enabling

you to determine a schedule, establish what needs to be procured, how it should be obtained, and

what the likely costs in money, manpower, and equipment will be to complete the project at

hand.

2.3.1 Actor and Use case Identification

Actor

An actor specifies a role played by a user or any other system that interacts with the subject. An

actor represents a coherent set of roles that are entities external to the system can play in using

Online Vehicle Rental System 2018

18 | P a g e

the system, rather than representing a particular individual. An actor represents a type of users of

the system or external systems that the system interacts with. The actors which interact with this

system are listed below:

Rental officer

Manager

Customer

System Admin

Driver

Use cases identification

Use Case: A use case in a use case diagram is a visual representation of distinct business

functionality in a system.

System Admin:

Create User Accounts

Manage User Accounts

View log file

Manage Database (Backup/Restore)

Manager:

View:

o Log file

o Complain/Feedback

o Report

Manage Testimonials

Rental Officer:

Manage Cars Data

Manage Booking/Reservation

Manage Contract

Manage Payment

Online Vehicle Rental System 2018

19 | P a g e

Manage Assigned Driver

Manage Collaterals

Manage Insurances

Manage Notice

Customer:

Register for Booking

Make Reservation/Booking cars

Send

o Testimonials

o Feedback/Complains

View

o Reservation Details

o Car Details

View Assigned Car

Table 1: Use case identification table

ID Use case name Include/use Actors

UC1 Login All actors

UC2 Reserve/book car UC1 Customer

UC3 Confirm/Approve Reservation UC1 Rental Officer

UC4 Cancel Reservation UC1 Customer, Rental Officer

UC5 Create Contract UC1 Rental Officer

UC7 Register Cars UC1 Rental Officer

UC8 Register Payment Details UC1 Rental Officer

Online Vehicle Rental System 2018

20 | P a g e

UC9 View Generated Report UC1 Rental Officer

UC10 Logout UC1 All actors

UC11 View Feedback/Complains UC1 Manager

UC12 Send Feedback/Complain UC1 Customer

UC13 Manage Assigned Driver UC1 Rental Officer

UC14 View Assigned car UC1 Driver

UC15 Register Insurances UC1 Rental Officer

UC16 Register payment UC1 Rental Officer

UC17 Update Account UC1 All actors

UC18 Post Notice UC1 Manager

UC19 Backup and Restore DB UC1 System Admin

UC20 Manage Account UC1 System Admin

UC21 Sign Up Customer

Online Vehicle Rental System 2018

21 | P a g e

System use case diagrams

A use case diagram is a set of use cases for a system, the actors of these use cases, the relations

between the actors and these use cases, and the relations among the use cases. The UML (unified

modeling language) notation for a use case diagram is containing different shapes and each shape

has its own meaning.

A use case diagram at its simplest is a representation of a user's interaction with the

system and depicting the specifications of a use case.

Informally speaking, a use case is a story or a case of using a system by some users to

vehicular out a process. A bit more precisely speaking, a use case describes the sequence

of events of some types of users, called Actors, using some part of the system

functionality to complete a process.

An oval represents a use case,

A man like figure represents an actor,

A line between an actor and a use case represents that the actor initiates and/or

participates in the process.

Online Vehicle Rental System 2018

22 | P a g e

Use-case Diagram

ZTC Online Car Rental System

Customer

Manager

Rental Officer

System Admin

Log in

Register Car

Details

Update Car Details

Confirm

Booking/reservation

View FeedBack

Manage page

Search and view

Booking

Create User Account

Update Account

Search and view Car

Reserve/Book Car

Cancle

Booking/Reservation

Post Feedback

View Generated

Report

Log out

Manage Contract

Manage Rental

status

Sign up

«extends»

«uses»

«uses»

«uses»

«uses»

«uses»

«uses»

«uses»

«uses»

«uses»

«uses»

«uses»

«uses»

«uses»

«uses»

Register Car

conditions

«uses»

Confirm Rented Car

conditions

«uses»

*

*

*

*

*

*

**

*

*

**

*

*

*

*

*

*

**

*

*

*

*

*

*

*

*

*

*

*

***

**

*

**

*

*

*

*

*

Manage User Account

«uses»

*

*

View

Booking/Reservation*

*

«uses»

«uses»

Manage Backup

«uses»

**

Figure 1: Use Case Diagram

Online Vehicle Rental System 2018

23 | P a g e

Use-case Description

1. Use-case Login

Table 2: Use Case - Login

Use-case Number UC-01

Use-Case Name Log in

Priority High

Actor Rental officer, Customer, Manager, System Admin

Description This use case describes how actors to login into the System.

Precondition Must not be logged in

Post-condition If the use case was successful, the actor is now logged into the system. If

not, the system state is unchanged.

Basic course of

Action

User Action System Response

1. The actor is on the home page to

login to the system.

3. The actor enters username and

password, Click on Login

Button.

2. The system promotes the actor to

enter Username, Password.

4. The system verifies that all fields

have been filled out and valid.

5. The system successfully logged in.

6. Use case Exit

Alternate course

of Action

4.1 If all fields are not filled out and not matched to the username and

password the system notifies the actor a message Verify Username or

Password and then goes back or returns to step 3 of basic course of Action

to enter again.

Online Vehicle Rental System 2018

24 | P a g e

2. Use-case Reserve Car

Table 3: Use Case - Reserve Car

Use-case Number UC-02

Use-Case Name Reserve/Book car

Priority High

Actor Customer

Description This use case permits customers to reserve and make schedule for renting

car, based on the availability of the car.

Precondition Customer wants to reserve a car and reservation details about customer have

to be entered.

Post-condition Customers reserve successfully

Basic course of

Action

User Action System Response

1. The customer wants to reserve a

car.

2. The customer selects the car

he/she wanted to reserve and

clicks reservation link.

5. The customer fills the following

information (Full Name,

ID/Passport No, Country, Mobile

number and Selects Pickup &

return date).

6. The customer clicks reserve

button to reserve.

9. The customer accepts the

reservation and clicks Accept.

3. The system checks availability of

the car.

4. The system prompts the customer

to fill a reservation form.

7. The system checks all required

information had been filled and

the entered dates are valid also

8. The system presents information

to accept or decline the rental

Agreement.

10. The system shows the customer

that the reservation has been

completed, and presents the customer

a reservation confirmation number

and receipt.

11. Use case ends.

Online Vehicle Rental System 2018

25 | P a g e

Alternate course

of Action

3.1. If the car is not available, the system goes back to step 2 to

displays when the car is going to be available or recommend

selecting another car.

7.1. If the customer enters invalid date and time or information, the

system goes back to step 5 to enter the invalid field again.

9.1. If the customer declines the agreement, the system displays a

message that the reservation is canceled.

3. Use-case Confirm/Approve Reservation

Table 4: Use Case - Confirm/Approve Reservation

Use-case Number UC-03

Use-Case Name Confirm/Approve Reservation

Priority High

Actor Rental officer

Description This use case permits to confirm/approve the reservation made by the

customer.

Precondition UC-1, Customer must pay the fee needed to be approved

Post-condition Reservation Confirmed successfully

Basic course of

Action

User Action System Response

1. The Rental officer open the

reservation requests list.

2. The Rental officer check for the

information that is filled by the

customer is correct.

3. The Rental officer clicks on the

confirm button.

4. The system displays

successful conformation

summary for the reservation.

5. Use case Exit.

Alternate course

of Action

2.1 If the information filled is not correct the Rental officer will click on

the cancel confirmation button and send message to the customer to fill

correct information.

Online Vehicle Rental System 2018

26 | P a g e

4. Use-case Cancel Reservation

Table 5: Use Case - Cancel Reservation

Use-Case Number UC-04

Use-Case Name Cancel a Reservation/Booking

Priority

Actor High Rental officer

Description This use case permits the actors to cancel a reservation.

Precondition UC-1, UC-2

Post-condition Actor successfully cancel a reservation

Basic course of

Action

User Action System Response

1. The actor wants to cancel reservation

2. The actor opens reservation page and

clicks cancel reservation

button/Link.

4. The actor enters reservation

confirmation number and clicks

cancel reservation button.

6. Are you sure you want to cancel, the

customer clicks “Yes” button.

3. The system displays a form

5. The system verifies the field

has been filled out correctly and

checks validity of confirmation

number, then popup a message

to verify the canceling.

7. The system cancels the

reservation and display a

message the reservation is

canceled.

8.use case Exit

Alternate course of

Action

6.1 If all fields are not filled out the system goes back or returns to step 4

of basic course of Action. To fill the invalid or the empty field.

Online Vehicle Rental System 2018

27 | P a g e

5.Use-case Search car

Table 6: Use Case - Search Car

Use-Case Number UC-05

Use-Case Name Search Car

Priority Medium

Actor Rental officer and customer

Description This use case permits Rental officer and customer to search car from the car

list in order to display.

Precondition UC-3, UC-2

Post-condition Display

Basic course of

Action

User Action System Response

1. The Rental officer or Customers

enters name of the car and select one

from the combo Box, Car Brand.

Car Model and Fuel type Clicks on

the search button.

2. Then the system display all

information about the car based on

selected list.

3. Use case End.

Alternate course

of Action

2.1 If the entered car is not found system displays message that the Searched

car is not found and returns to step 1 of basic course of Action to search for

another car.

Online Vehicle Rental System 2018

28 | P a g e

6. Use-case Create Contract

Table 7: Use Case – Create Contract

Use-Case Number UC-06

Use-Case Name Create Contract

Priority High

Actor Rental officer

Description This use case permits Rental officer to Create Contract details.

Precondition UC-1, UC-3

Post-condition UC-7

Basic course of

Action

User Action System Response

1. The Rental officer wants to

Create Contract.

2. Rental Officer requests for new

contract form.

4. The Rental officer enters the

needed information and clicks on

the Submit button.

6. The Rental officer clicks on yes

button.

3. The system will response and

display new contract form.

5. The system checks for the

validity of the data entered on the

form and from database and

displays confirmation message

8. The system displays successfully

updates information in to database.

9. Use case Ends.

Alternate course of

Action

5.1 . If the entered information is not valid then return to basic course

of action 3

6.1. If rental officer clicks on no then return to basic course of

action 4

Online Vehicle Rental System 2018

29 | P a g e

7.Use-case Register Rental Payment

Table 8: Use Case - Register Rental Payment Information

Use-Case Number UC-08

Use-Case Name Register Rental Payment

Priority High

Actor Rental officer

Description This use case permits Rental officer to Register Rental Payment

information when customer comes to rent car.

Precondition UC-1, UC-3

Post-condition Successful Message

Basic course of

Action

User Action System Response

1. Rental officer wants to Register

rent.

2. Rental officer requests for rent

registration form by clicking on the

Manage rent payment button.

4. The Rental officer fills the needed

information in the form provided.

5. When he/she finished filling the

form he/she Click on Submit button.

3. The system displays the Rent

registration Form.

6. The system validates the

information entered by the Rental

officer and saves it in to database.

Also it displays success message

to the Rental officer.

7. Exit use case.

Alternate course of

Action

6.1if the entered information is invalid the system back to basic course of

action 4

Online Vehicle Rental System 2018

30 | P a g e

8. Use-case Register New Car

Table 9: Use case – Register New Car

Use-Case Number UC-09

Use-Case Name Register New Cars

Priority Medium

Actor Rental Officer

Description These use case permits Rental officer to register New Cars to the system

with detail descriptions about the Car such as condition, Plate Number,

Model year, Car Brand, Color, Gear type, Fuel type, Number of sits and

amount of price per day….

Precondition New car Purchased

Post-condition New Car information stored successfully.

Basic course of

Action

User Action System Response

1. The Rental officer wants to add a

new car

2. The Rental officer selects from the

manage car drop down the Add new

car button and clicks on it.

4. The Rental officer enters the

needed information in the form and

clicks on the save or insert button.

3. The system response or displays

the requested form to add new car.

5. The system verifies that the

fields have been filled out

correctly.

6. The system displays a

successfully stored message to the

Rental officer.

7. Use case Exit

Alternate course

of Action

5.1 If the customer enters invalid number system goes back or returns to

step 4 of basic course of Action. To fill invalid or the empty field again.

Online Vehicle Rental System 2018

31 | P a g e

9. Use-case Generate Report

Table 10: Use Case - Generate Report

Use-Case Number UC-11

Use-Case Name Generate Report

Priority High

Actor Manager

Description These use case allow Manager of the organization to generate a report

about the renting information of a month.

Precondition Manager wants to see report

Post Condition Generate monthly Report Information

Basic Course of

Action

User Action System Response

1. The Manager wants to generate report.

2. The Manager clicks rent pages.

4. Then on the rent page the Manager specifies

the date and then clicks on the generate button.

3. The system responds

the requested page.

5. The System gives

Success message and

displays the requested

report.

6. Use case ends

Alternate course of

Action

5.1. If the reservation information is empty or not found the system

notify to select for another date and go back to step 4.

Online Vehicle Rental System 2018

32 | P a g e

10. Use-case Logout

Table 11: Use Case – Logout

Use-Case Number UC-12

Use-Case Name Log out

Priority High

Actor Rental officer, Customer, Manager, System Admin

Description These use case allow Actors to log out from the system at a time of

accomplishing their work.

Precondition UC-1

Post Condition System logs out

Basic Course of Action User Action System Response

1. The actor wants to

log out

2. The actor clicks the

log out button

3. The system responds to the requested

action.

4. The system displays a message that the

actor logged out from the system.

5. Use case Ends

Online Vehicle Rental System 2018

33 | P a g e

2.3.2 Sequence Diagram

A sequence diagram shows an interaction arranged in time sequence. In particular, it shows the

instances participating in the interaction by their “lifelines” and the stimuli that they arranged in

time sequence. It does not show the associations among the objects.

A sequence diagrams are used to represent or model the flow of messages, events and actions

between the objects or components of a system. Time is represented in the vertical direction

showing the sequence of interactions of the header elements, which are displayed horizontally at

the top of the diagram. Sequence Diagrams are used primarily to design, document and validate

the architecture, interfaces and logic of the system by describing the sequence of actions that

need to be performed to complete a task.

1. Sequence diagram of Login

Figure 2: Sequence diagram - Login

Actor Login(UI) System Controller Database

Enter Username and Password()

Opens()

error()Please enter correct data

Success()

error()Not Authorized for Login

Checks Authorization()

Successfully Logged in to the System

Username or Password Incorrect

Online Vehicle Rental System 2018

34 | P a g e

2. Sequence diagram of Car Reservation/Booking

Figure 3: Sequence Diagram – Car Reservation/Booking

Customer Reservation(UI) System Controller Database

Opens() Select vehicle()

Check for avaliablity()

error()Vehicle Not Avaliable

Assume that the customer has logged in to the system.

Fills reservation form()

Opens a reservation form()

error()Fill correct information

Store to database()

Displays Resrvation Successfull

success()

Vehicle avaliable

success()Stored in Database

success()

Online Vehicle Rental System 2018

35 | P a g e

3. Sequence diagram of Confirm Reservation

Figure 4: Sequence Diagram – Confirm Reservation

Rental Officer Reservatin(UI) System Controller Database

Opens()

Success()Display Reservation List

Success()

Request to Display List()

if not correct: Cancel reservation()

Generate Confirmation Message()

if correct: Confirm reservation()

Store to Database()

Stored in to database Success()Successfully Cancled

List Retrived

Retrive List()

Insert payment detail()

Stored in to database

Store to Database()

Successfully Confirmed

Generate Confirmation Message()

Online Vehicle Rental System 2018

36 | P a g e

4. Sequence diagram of Car Registration

Figure 5: Sequence Diagram – Car Registration

Registration(UI) System Controller Database

Opens Form()

Store in to database()

Fills form()

Stored in to Database

Fill correct information

Success()Successfully registered Veicle

error()

Rental Officer

Online Vehicle Rental System 2018

37 | P a g e

5. Sequence diagram of Cancel Reservation/Booking

Figure 6: Sequence Diagram – Cancel Reservation

Customer Reservation(UI) System Controller Database

Opens()

Request to cancle reservation()

Enters conformation number()

Enter Valid Conformation Number

Displays Form() Success()

Successfully Canceled Reservation

error()

Checks Validity()

Success()

Update Database()

Reservation Canceled

Online Vehicle Rental System 2018

38 | P a g e

2.3.3 Activity Diagram

An activity diagram is a variation of a state machine in which the states represent the

performance of actions or sub activities and the transitions are triggered by the completion of the

actions or sub activities. It represents a state machine of a procedure itself. Activity diagrams are

used to describe the functionalities of business activities and software systems.

1. Activity diagram of Login

Figure 7: Activity Diagram – Login

Enter Password and Username

Invalid Password and Username

[if false]

[if true]

Actor Opened Login Page

Login Successfull

Display Actor Settings

{Check Username and Password}

Actor Login to the System

Online Vehicle Rental System 2018

39 | P a g e

2. Activity diagram of Car Reservation

Fill Form

Invalid Data Inserted

[if false]

[if true]

Reservation Successfull

{Check Inserted Data}

Customer Successfully reserve vehicle

Customer is Logged in to the system

Select Vehicle

[if false]

[if true]

Vehicle not Avaliable

Display Reservation Form

{Check Vehicle Avaliablity}

Figure 8: Activity Diagram – Reserve Car

Online Vehicle Rental System 2018

40 | P a g e

3. Activity diagram of Confirm Reservation

Reservation Confirm/Cancel successfully

Employee open reservation page

Display Reservation list

Confirm Reservation Cancel Reservation

Request Reservation list

{Confirm If Data is Correct,

Cancel If Data is Incorrect}

Successfully Confirmed Reservation Successfully Canceled Reservation

Check payment data

End

Figure 9: Activity Diagram – Confirm Reservation

Online Vehicle Rental System 2018

41 | P a g e

4. Activity diagram of Car Registration

Fill Form

Invalid Data Inserted[if false]

[if true]

Registration Successfull

{Check Inserted Data}

Employee Successfully Registered vehicle

Employee is Open Vehicle Registration Page

Open Regiistration Form

Figure 10: Activity Diagram – Car Registration

Online Vehicle Rental System 2018

42 | P a g e

5. Activity diagram of Cancel Reservation

Enter Confirmation Number

Invalid Conformation number Inserted[if false]

[if true]

Reservation Canceled Successfull

{Check Inserted Confirmation number}

Customer Successfully Canceled Resrvation

Customer Open Reservation Page

Open Reservation Cancel Form

Request to cancel reservation

Figure 11: Activity Diagram – Cancel Reservation

Online Vehicle Rental System 2018

43 | P a g e

2.3.4 Analysis Class Diagram

A class diagram in the Unified Modeling Language(UML) is a type of static structure diagram

that describes the structure of a system by showing the system's classes, their attributes,

operations (or methods), and the relationships among objects.

In the diagram, classes are represented with boxes which contain three parts:

The top part contains the name of the class

The middle part contains the attributes of the class

The bottom part gives the methods or operations the class can take or undertake

In the design of a system, a number of classes are identified and grouped together in a class

diagram which helps to determine the static relations between those objects. With detailed

modeling, the classes of the conceptual design are often split into a number of subclasses.

Online Vehicle Rental System 2018

44 | P a g e

Analysis Class Diagram

Figure 12: Analysis Class Diagram

+Create Account()+Update Account()

-C_ID-Full Namer-e-mail-Password-Phone number-DoB-Nationality-Address-City-Register Date-Update Date

Customer

+register vechile()+update vechile()

-V_ID-V_Name-Plate Number-Brand_ID-Price Per Day-Model Year-Seating Capacity-Fuel Type-Registration Date-Updation Date-Status

Vehicle

+Create Reservation()+Confirm Reservation()+Cancel Reservation()

-R_ID-Pickup date-Return date-Status-Confirmation Number-Posting Date-C_ID-V_ID-Acc_ID

Reservation

+Create Rent()+Update Rent()+View Rent()

-Contract_ID-Pickup Date-Return Date-Miles Out-Miles In-Daily Fee-Fule Provided By-Fule Charged-VAT-Down Payment-Total Paid-Confirmation Number-Vehicle_ID-Customer_ID-Driver_License_No-Acc_ID

Contract

+Update Account()+Create Account()+Activate()+Deativate()

-Acc_ID-Full Name-Username-Password-Phone number-Role-Status-Updation Date

User_Accounts

1

1..*

Makes

1

*Registers

1

1..*Makes

1..*

1

Approved By

+Register Brand()+Update Brand()

-Brand_ID-Brand Name-Registration Date-Updation Date

Car Brand

-have

1..1

-in

1..1

Present In

+Create Payment()+Update Payment()+View Payment()

-Payment_ID-Daily Fee-Fule Charged-Payment_Method-Total_Payment-Down_Payment-Final_Payment-Return_From_Payment-Vehicle_ID-Customer_ID-Contract_ID-Acc_ID-Updation_Date

Payment

1

1..*

Makes 1

1..*

Confirms1..1

1..1Makes

+Register Insurance()+Update Insurance()

-Insurnce_ID-Coverage-Vehicle_ID-Updation Date

Insurance

1..*

1

Register

1..*

1

Register

1..*1

Register

-Have1

1..1

-Have

1

1..1

Online Vehicle Rental System 2018

45 | P a g e

CHAPTER 3: System Design

Introduction

This chapter of the project document which provides a system design of this project. System

design focuses on transforming the analysis model into the design model that takes into account

the non-functional requirements and constraints described in the problem statement and

requirement analysis sections discussed earlier. Up to now we were in the problem domain.

System design is the first part to get into the solution Domain in a software development.

This chapter contains and describes about design class diagram, Physical data model, user

interface design and deployment diagram /architectural design. System design is the

transformation of the analysis model into a system design model. Design is the first step in the

development phase for any techniques and principles for the purpose of defining a device, a

process or system in sufficient detail to permit its physical realization.

The main objectives of design to shows the direction how the system built and obtains clear

information needed to drive the actual implementation of the system. It is based on

understanding of the model the software built on. The objectives of the design are to model the

system with high quality. Implementing of high quality system depend on the nature of design

created by the designer.

3.1 Design Class diagram

This section discusses classes and their variations, including templates and instantiated classes,

and the relationships between classes association and the contents of classes (attributes and

operations). A class encapsulates state (attributes) and offers services to manipulate that state

(behavior).

Class diagrams show the static structure of the model, in particular, the things that exist (such as

classes and types), their internal structure, and their relationships to other things. Class modeling

shows the classes of the system, their interrelationships (including inheritance, aggregation,

constraint and association), and the operations and attributes of the classes. It shows the static

features of the actors and do not represent any particular processing.

Online Vehicle Rental System 2018

46 | P a g e

Design Class Diagram

Figure 13: Design Class Diagram

+Create Account()+Update Account()

-C_ID-Full Namer-e-mail-Password-Phone number-DoB-Nationality-Address-City-Register Date-Update Date

Customer

+register vechile()+update vechile()

-V_ID-V_Name-Plate Number-Brand_ID-Price Per Day-Model Year-Seating Capacity-Fuel Type-Registration Date-Updation Date-Status

Vehicle

+Create Reservation()+Confirm Reservation()+Cancel Reservation()

-R_ID-Pickup date-Return date-Status-Confirmation Number-Posting Date-C_ID-V_ID-Acc_ID

Reservation

+Create Rent()+Update Rent()+View Rent()

-Contract_ID-Pickup Date-Return Date-Miles Out-Miles In-Daily Fee-Fule Provided By-Fule Charged-VAT-Down Payment-Total Paid-Confirmation Number-Vehicle_ID-Customer_ID-Driver_License_No-Acc_ID

Contract

+Update Account()+Create Account()+Activate()+Deativate()

-Acc_ID-Full Name-Username-Password-Phone number-Role-Status-Updation Date

User_Accounts

1

1..*

Makes

1

*

Registers

1

1..*Makes

1..*

1Approved By

+Register Brand()+Update Brand()

-Brand_ID-Brand Name-Registration Date-Updation Date

Car Brand

-have

1..1

-in

1..1

Present In

+Create Payment()+Update Payment()+View Payment()

-Payment_ID-Daily Fee-Fule Charged-Payment_Method-Total_Payment-Down_Payment-Final_Payment-Return_From_Payment-Vehicle_ID-Customer_ID-Contract_ID-Acc_ID-Updation_Date

Payment

1

1..*

Makes

1

1..*Confirms

1..1

1..1

Makes

+Register Insurance()+Update Insurance()

-Insurnce_ID-Coverage-Vehicle_ID-Updation Date

Insurance

1..*

1

Register

1..*

1

Register

1..*

1

Register

-Have

1

1..1

-Have

1

1..1

+Update profile()+Register cars()+Register Insurances()+Approve Reservation()+Confirms Contract()

Rental Officer

+Assign Driver()+Update Status()

-Assign_ID-Driver_License_No-Plate_No-Delivery Address-Delivery Time-Delivery Status-Rental Officer_Username

Assigned Driver

+Vew Assigned Car()

-Driver_Licence_No-Expire Date-Status

Driver

1..1

1..1

Assigned

1..1

1

Have

1..1

1..1

Assigne

«becomes»

«becomes»

Online Vehicle Rental System 2018

47 | P a g e

3.2 Database design /Physical data model

Database design is the process of producing a detailed data model of a database. This logical data

model contains all the needed logical and physical design choices and physical storage

parameters needed to generate a design in a Data Definition Language, which can then be used to

create a database. A fully attributed data model contains detailed attributes for each entity. The

term database design can be used to describe many different parts of the design of an overall

database system. Principally, and most correctly, it can be thought of as the logical design of the

base data structures used to store the data.

Data structure design describes about data modeling and in this part Entity Relational Diagram,

relational mapping, and normalization are described.

3.2.1 Entity Description

In here we provide a description of entities with all their attributes. Describing entity name,

business definition for the entities and there attribute and domain.

Table 12: Entity Description

3.2.2 Physical data model (PDM)

Database design is the process of producing a detailed data model of a database. This data model

contains all the needed logical and physical design choices and physical storage parameters

needed to generate a design in a data definition language, which can then be used to create a

Entity Name Business definition

User account This entity is responsible to store information of user accounts of the Rental

officers, Managers, System admin and drivers in the database.

Customer Attribute stores customers’ details information in the database, in order to

identify the customer.

Vehicle/Car This entity stores the information of the car in the database.

Reservation This stores information about the reservations made by a customer.

Rent Payment This stores rental information of the rented car, payment details

Online Vehicle Rental System 2018

48 | P a g e

database. Physical data model represents how the model will be built in the database. A physical

database model shows all table structures, including column name, column data type, column

constraints, primary key, foreign key, and relationships between tables. Physical data modeling

involves the actual design of a database according to the requirements that were established

during logical modeling.

Table 13: PDM – User Accounts Table

Table 14: PDM - Contract Table

Online Vehicle Rental System 2018

49 | P a g e

Table 15: PDM – Vehicle/Car Table

Table 16: PDM – Reservation/Booking Table

Online Vehicle Rental System 2018

50 | P a g e

Table 17: PDM – Assign Driver Table

3.3 System Architecture (Deployment Diagram)

As the name Deployment itself describes the purpose of the diagram, Deployment diagrams are

used to visualize the topology (arrangement) of the physical components of a system and where

the software components are deployed. Deployment diagrams show the configuration of run-

time processing elements and the software components, processes, and objects that live on them.

Software component instances represent run-time manifestations of code units. Deployment

diagram would show what hardware components ("nodes") exist (e.g., a web server, an

application server, and a database server. Deployment diagrams consist of nodes and their

relationships. The purpose of deployment diagrams can be described as:

o Visualize hardware topology of a system.

o Describe runtime processing nodes

o Describe the hardware components used to deploy software components.

Online Vehicle Rental System 2018

51 | P a g e

Figure 14: System Design Deployment Diagram

Database Server :MySql

Work Station: Web Browser

«executable»

Rent Manipulator

Application Server: WampServer

«executable»

Reserve Manipulator

Printer: Laser Jet 2050

Laser jet 2050

BRC_Database<< Php >>

<< Driver >>

<< html >>

«executable»

Report Generator

BRC_Serverside Script

device :

Client_Workstations

device : Web server

device :

Database server

Web browser

wamp apache tomcat

server

php

MYAdmin

database

server

*

*

«executable»

Reservation Manipulator

«executable»

Rent Manipulator

«executable»

Report Manipulator

«executable»

Search data manipulator

«executable»

Schemas/Qeries

*

*

* *

*

*

*

*End user

*

*

*

*

*

*

*

*

Online Vehicle Rental System 2018

52 | P a g e

3.4 User Interface Design

User interface is the external part of the system which is used to access and interact with the

system easily.

3.4.1 Login UI Design

Figure 15: Login Form UI Design

Online Vehicle Rental System 2018

53 | P a g e

3.4.2 Reservation UI Design

Figure 16: Reservation Page UI Design

Online Vehicle Rental System 2018

54 | P a g e

3.4.3 Manage Reservation UI

Figure 17: Manage Reservation UI Design

Online Vehicle Rental System 2018

55 | P a g e

CHAPTER 4: Implementation

4.1 Overview of Programming Language

OOPHP is a scripting language that is often embedded into HTML to add functions HTML alone

can't do. OOPHP allows you to collect process and utilize data to create a desired output. In

short, it lets you interact with your pages using object oriented concepts.

OOPHP is freely available for use. The community of open source PHP developers provides

technical support and is constantly improving updating the core PHP functionalities. OOPHP is

available at free of cost under PHP General Public License and most of its associative required

software's like MySQL, Text Editors and Apache Server are also freely available, so it proves

very cost effective for the developers.

OOPHP provides high compatibility with leading operating systems and web servers such as

thereby enabling it to be easily deployed across several different platforms. OOPHP scripts can

run across operating systems such as Linux, Windows, and Mac OSX etc. and also provide

support for all major web servers such as Apache, IIS etc. To implement our project we use the

following programing languages

1. OOPHP : to handle the server side scripting

2. JavaScript, JQuery and AJAX Scripting language: used to develop different validations.

3. HTML5: to display the web page.

4. CSS3: for the formatting of the web site.

5. Bootstrap: for making the website interactive in all devices.

Implementation in the system includes implementing the attributes and methods of each object

and integrating all the objects in the system, to function as a single system the implementation

activity spans the gap between the detailed objects designed model and a complete set of source

code file that can be compiled together.

Online Vehicle Rental System 2018

56 | P a g e

4.2 Algorithms Used

4.2.1 Algorithm for Login

Start Page

Click on login link

Login form displayed

Enter

Username and password

Click login button

Connect to database

If (valid)

The privileged page displayed

Else

Display error message /return value

4.2.2 Algorithm for Forgot password

Login Page

Click on forget password link

Forgot password form is displayed

Fill email and mobile number

Enter new password and confirm password

Click on forget password button

Connect to database

If (valid)

Display successful message.

Else display invalid input message

Online Vehicle Rental System 2018

57 | P a g e

4.3 Pseudo code

Pseudo code is a detailed readable description of what a computer program or algorithm must do,

expressed in a formally-styled natural language rather than in a programming language. Pseudo

code is sometimes used as a detailed step in the process of developing a program. It allows

designers or lead programmers to express the design in great detail and provides programmers a

detailed template for the next step of writing code in a specific programming language. The

purpose of using pseudo code is that it is easier for people to understand than conventional

programming language code, and that it is an efficient and environment-independent description

of the key principles of an algorithm

A. Sample Code for Login

<?php

if(isset($_POST['login']))

{$email=$_POST['email'];

$password=md5($_POST['password']);

$sql ="SELECT EmailId,Password,FullName FROM tblusers WHERE EmailId=:email and

Password=:password";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':password', $password, PDO::PARAM_STR);

$query-> execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

if($query->rowCount() > 0){

$_SESSION['login']=$_POST['email'];

$_SESSION['fname']=$results->FullName;

$currentpage=$_SERVER['REQUEST_URI'];

echo "<script type='text/javascript'> document.location = '$currentpage'; </script>";

} else{echo "<script>alert('Invalid Details');</script>";}}?>

<div class="modal fade" id="loginform">

<div class="modal-dialog" role="document">

Online Vehicle Rental System 2018

58 | P a g e

<div class="modal-content">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-

hidden="true">&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>

Online Vehicle Rental System 2018

59 | P a g e

B. Sample Code for forgot password

<?php

if(isset($_POST['update']))

{$email=$_POST['email'];

$mobile=$_POST['mobile'];

$newpassword=md5($_POST['newpassword']);

$sql ="SELECT EmailId FROM tblusers WHERE EmailId=:email and ContactNo=:mobile";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':mobile', $mobile, PDO::PARAM_STR);

$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ);

if($query -> rowCount() > 0)

{$con="update tblusers set Password=:newpassword where EmailId=:email and

ContactNo=:mobile";

$chngpwd1 = $dbh->prepare($con);

$chngpwd1-> bindParam(':email', $email, PDO::PARAM_STR);

$chngpwd1-> bindParam(':mobile', $mobile, PDO::PARAM_STR);

$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);

$chngpwd1->execute();

echo "<script>alert('Your Password succesfully changed');</script>";}

else {echo "<script>alert('Email id or Mobile no is invalid');</script>"; }}?>

<script type="text/javascript">

function valid()

{if(document.chngpwd.newpassword.value!= document.chngpwd.confirmpassword.value)

{alert("New Password and Confirm Password Field do not match !!");

document.chngpwd.confirmpassword.focus();

return false;}

return true;}

</script>

Online Vehicle Rental System 2018

60 | P a g e

<div class="modal fade" id="forgotpassword">

<div class="modal-dialog" role="document">

<div class="modal-content">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-

hidden="true">&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>

Online Vehicle Rental System 2018

61 | P a g e

CHAPTER 5: Testing

Verification (A set of operations that the software correctly implemented a particular function)

on the smallest element of the program i.e. the modules are tested alone in order to discover any

error in the code.

System test insures that the entire integrated software system meets requirements. It tests a

configuration to insure known and predictable results. System testing is based on process

description and flows, emphasizing pre-driven process links and integration points. In essence

system testing is not about checking the individual parts of design, but about checking the system

as a whole. System testing insures the following have been met correctly.

1. Performance testing: Determines how the system performs on the range of possible

environments in which it may be used. This test is done by configuring the system in

different environments like different operating system, different hardware configurations.

2. Security testing:

Security testing was done by trying to access the system that is not authorized. For example

without the valid user name and password tester will try to access the System.

Figure 18: Sample for Security testing

Online Vehicle Rental System 2018

62 | P a g e

CHAPTER 6: Conclusion and Recommendations

6.1 Conclusion

The project is aimed at developing online car Reservation and Rental system. The system allows

customers to perform tasks in an easy way. After we have completed the project we are sure the

problems in the existing system would be solved. The main focus of this project is for

minimizing human errors and less effort to gain effectiveness and efficiency.

6.2 Recommendation and Future Enhancement

6.2.1 Recommendation

In this project we can’t fully automate the on line rental system because there is no online

payment system in this country. So, as a future enhancement when the online payment system

started in this country any concerned bodies who have the ability to fill this gap upgrade the

system. Everyone who wants to interact to our system should have some knowledge of

technology and technology results.

6.2.2 Feature enhancement

Due to time limitation we can’t do all the tasks that are needed in the system, so to enhance the

performance and functionality of the system the next developer can include the following tasks.

Fully automate the system by including online payment system.

Make the system fully accessible in Amharic language.

Develop better security mechanism than the current security like two step verification.

Online Vehicle Rental System 2018

63 | P a g e

APPENDIX I

Deployment diagram: diagrams are special diagrams used to focus on software

Components and hardware components.

Action: is the fundamental unit of behavior specification and represents some

transformation or processing in the modeled system, such as invoking a method of a class

or a sub activity.

Actor - a role that a user takes when invoking a use case. Also see actor modeling.

Activity: carrying out behavior in a State machine diagram.

Activity-diagram: a diagram that describes procedural logic, business process and work

flow supporting parallelism.

Diagram - a visual representation of a subset of features of a UML Mode

Sequence diagram - describes the Messages sent between a number of participating

Objects in a Scenario

Class - the primary declarative construct of Object-Oriented Programming; a cohesive

unit of Attributes and Operations; a compile-time template for an Object

Class diagram - a type of static structure diagram that describes the structure of a system

by showing the system's classes, their attributes, and the relationships between the

classes.

Online Vehicle Rental System 2018

64 | P a g e

APPENDIX II

Declaration

We undersigned, declare that this is our original work, has not been presented for a degree in

this or any other university, and all the source or materials used for this thesis/project have been

acknowledged.

Name Id No Signature

Abel Negash TER/4642/07 _______________

Metadel Girma TER/4678/07 _______________

Bayush Adane TER/4649/07 _______________

Eshetu Fentie TER/4660/07 _______________

Online Vehicle Rental System 2018

65 | P a g e

APPENDIX III

APPROVAL OF ADVISOR AND EXAMINERS

This project has been submitted for examination with our approval as the project advisor.

Advisor Name____________________ Signature____________

This project has been examined with our approval as the project examiner.

Examiner Name:

1. ____________________ signature______________

2. ____________________Signature______________

3. ____________________Signature______________

Online Vehicle Rental System 2018

66 | P a g e

References

[1] “Business License” Entrepreneur, 05 11 2015, [online],

Available:http://www.Entrepreneur.com/encyclopedia/business-license[Accessed 12 11

2015]

[2] Shelly, Cashman, Rosenblatt System analysis and design, tomson course technology,

USA, 5th

edition

[3] Nano degrees, system analysis and design, erangrifiad, jun5, 2010.

[4] Functional requirement: http://www.ops.fhwa.dot.gov/functional-requirement accessed:

01/04/2010E.C

[5] Technical Feasibility, Economic Feasibility, Operational Feasibility, Legal

Feasibility:http://www.freetutes.com/systemanalysis/sa3-technical-economic-

operational-legal.html accessed: 20/04/2010E.C

[6] [Class diagram] https://www.visual-paradigm.com/VPGallery/diagrams/Class.html

accessed: 16/05/2010

[7] physical data model definition https://www.techopedia.com/definition/30500/physical-

data-model accessed: 12/05/2010E.C

[8] What is activity diagram and its purpose:

http://www.modernanalyst.com/Careers/InterviewQuestions/tabid/117/ID/371/Wht-is-

an-Activity-Diagram-and-what-is-its-purpose.aspx accessed30/04/2010E.C