Final Project
Final Project
The Existing car rental System gives car rental service for both foreign and local customers.
This Rental System 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.
During car reservation the customers reserve a car by making a phone call to the Staff;
otherwise, he/she is expected to go to the rental officers to make reservation. First, he/she
have to call the office and then he has to tell the rental officer the car he wanted and when he
wants the car and then he has 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 Manager makes a general report about the rented cars once at the end of the month and
generates a report to the staff. Users of the Existing System In the existing manual Car rental
system there are different users namely Customers, Manager and staff
Staff: is user of the manual rental system that registers reservation and rent, manage
booking/reservation & management.
The Staff manages customer information.
Check customer status and create contract.
reviews and solved the customer complain if they have.
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 and generate Report.
1
2.2 Proposed Solutions
The proposed solution for a car rental and tracking system for Dire Dawa City is aimed at
providing an efficient and reliable platform for car rental services, as well as real-time
tracking and monitoring of rented vehicles. The proposed solution includes a desktop
application, mobile app integration, a web-based system, distributed system, and an
integrated system.
1. Desktop Application
The desktop application will serve as the main control centre for car rental agencies. It will
provide functionalities such as managing vehicle inventory, processing rental bookings,
generating invoices, and maintaining customer records. The application will also include
administrative tools for system configuration and monitoring.
To cater to the growing popularity of mobile devices, a dedicated mobile application will be
developed. This app will allow customers to search for available vehicles, make reservations,
and access additional features like GPS-based navigation, fuel-level tracking, and remote
vehicle locking/unlocking. It will also provide a platform for customers to submit feedback
and ratings.
3. Web-Based System
The web-based system will serve as a seamless interface for both car rental agencies and
customers. It will enable online vehicle bookings, secure payment processing, and customer
support through live chat or email. The system will also incorporate features like real-time
availability of vehicles, personalized user profiles, and personalized recommendations based
on user preferences.
In order to handle large volumes of data and provide scalability and fault tolerance, a
distributed system architecture will be implemented. This will involve deploying multiple
server nodes across different locations in Dire Dawa City, allowing for efficient data
processing, load balancing, and improved system performance.
2
5. Integrated System Approach
The proposed solution will adopt an integrated system approach, which means it will
seamlessly connect with external stakeholders, such as vehicle manufacturers, insurance
companies, and government authorities. Integration with insurance systems will allow for
automatic verification and coverage during rentals, while connections with government
databases can help ensure compliance with licensing and regulatory requirements.
Firstly, a web-based system allows car rental agencies to automate their operations, making it
easier to manage their fleet of vehicles. Through a user-friendly interface, agencies can
handle bookings, vehicle availability, and pricing in a centralized manner. This eliminates the
need for manual paperwork, reducing errors and saving time.
Moreover, such a system enables customers to conveniently search and book vehicles online.
They can access the web-based platform from any device with an internet connection,
allowing them to make reservations from the comfort of their own home or while on the go.
The platform can provide detailed information about available cars, including their
specifications, rental rates, and even customer reviews, helping customers make informed
decisions.
To enhance the car rental experience, the web-based system can incorporate advanced
features such as integrated payment gateways, allowing customers to securely make
payments online. Additionally, customers can opt for additional services like GPS navigation
systems or insurance through the platform, ensuring a seamless rental experience.
One of the key advantages of a web-based car rental and tracking system is its ability to track
vehicles in real time. By equipping rental cars with GPS devices, agencies can accurately
monitor their locations, ensuring better fleet management and security. This feature also
3
enables customers to track their rented vehicles, providing them with peace of mind and an
added layer of safety.
a web-based platform for car rental and tracking system offers a convenient, efficient,
and secure solution for managing vehicle rentals in Dire Dawa City. It simplifies the
booking process for customers, automates operations for rental agencies, and enhances
overall fleet management and security. With its advanced features and real-time tracking
capabilities, this system brings numerous benefits to both car rental agencies and
customers, optimizing the car rental experience in the city.
4
Car Rental Customer
Responsibility collaborator
Make car reservations Car Rental Manager
Provide necessary personal and Car Rental Staff
payment information
Check rental terms and
conditions
Pickup and return rental cars
on time
5
2.6 Essential use case Documentation
6
Alternate course of action 2.1 If the customer declines the agreement, the reservation
cancelled.
Alternate course of action 3.1 If These fields are not filled out the new vehicle is not
registered properly.
Alternate course of action 1.1the customer if not give feedback with the details the staff
doesn’t response.
7
Table 2.4 use case- Feedback
Alternate course of action 1.1if Manager not enter information about new staff or the new
staff have not a document required the process cancelled.
8
CHAPTER THREE: SYSTEM ANALYSIS
3.1 Overview of the new system
The Newly Developed system that we are going to design is Web based car rental and
tracking system for Dire Dawa city. This system has a wide range of benefits for the user by
providing the renting and tracking services in well-organized way. Especially for customers
by saving the time required. To analysis and design the newly developed system we have
9
been used object-oriented approach diagrams such as use case diagram, sequence diagram,
Activity diagram and class diagram.
10
Customer view list of available cars during reservation.
Customer to view detail description of particular car.
Customer’s 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 displays 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.
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 cars.
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.
11
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.
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
12
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
The UML (unified modelling 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,
13
A line between an actor and a use case represents that the actor initiates and/or
14
3.3.2 System use case Diagram Documentation
1. 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 2.The system promotes the
login to the system. actor to enter Username,
3.The actor enters username and Password.
password, Click on Login Button. 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.
15
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 3. The system checks
car. 2. The customer selects the car availability of the car.
he/she wanted to reserve and clicks 4. The system prompts the
reservation link. customer to fill a
5. The customer fills the following reservation form.
information (Full Name, ID/Passport 7. The system checks all
No, Country, Mobile number and required information had
Selects Pickup & return date). been filled and the entered
6. The customer clicks reserve dates are valid also
button to reserve. 8. The system presents
9. The customer accepts the information to accept or
reservation and clicks Accept. 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
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 cancelled.
16
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 4. The system displays
reservation requests list. successful conformation
2. The Rental officer check for the summary for the
information that is filled by the reservation.
customer is correct. 5. Use case Exit.
3. The Rental officer clicks on the
confirm button
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.
17
button/Link. correctly and checks
4.The actor enters reservation validity of confirmation
confirmation number and clicks number, then popup a
cancel reservation button. message to verify the
6. Are you sure you want to cancel, cancelling.
the customer clicks “Yes” button. 7. The system cancels the
reservation and display a
message the reservation is
cancelled.
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.
18
1. 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 3. The system will
Contract. response and display new
2. Rental Officer requests for new contract form.
contract form. 5. The system checks for
4. The Rental officer enters the the validity of the data
needed information and clicks on the entered on the form and
Submit button. from database and displays
6. The Rental officer clicks on yes confirmation message
button. 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
19
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 3. The system displays the
rent. Rent registration Form.
2. Rental officer requests for rent 6. The system validates the
registration form by clicking on the information entered by the
Manage rent payment button. Rental officer and saves it
4. The Rental officer fills the needed in to database. Also, it
information in the form provided. displays success message
5. When he/she finished filling the to the Rental officer.
form he/she Click on Submit button. 7. Exit use case.
Alternate course of Action 6.1if the entered information is invalid the system back to basic
course of action 4
20
the manage car drop down the Add 5. The system verifies that
new car button and clicks on it. the fields have been filled
4. The Rental officer enters the out correctly.
needed information in the form and 6. The system displays a
clicks on the save or insert button. 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.
21
10. 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 3. The system responds to
2. The actor clicks the log out button the requested action.
4. The system displays a
message that the actor
logged out from the
system. 5. 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.
22
architecture, interfaces and logic of the system by describing the sequence of actions that
need to be performed to complete a task.
23
3. Sequence diagram of Confirm Reservation
24
25
4.Sequence diagram of Car Registration
26
3.3.4 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.
27
2. Activity diagram of Car Reservation
28
3. Activity diagram of Confirm Reservation
29
4. Activity diagram of Car Registration
30
5. Activity diagram of Cancel Reservation
In the diagram, classes are represented with boxes which contain three parts:
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
modelling, the classes of the conceptual design are often split into a number of subclasses.
31
Class Diagram
32
CHAPTER FOUR: SYSTEM DESIGN
4.1 Design Goals
Design goals are typically derived from the project's requirements and are identified during
the transition from the analysis model to the system design. These goals help guide the design
decisions and ensure that the resulting system meets the desired qualities and objectives.
Most of the design goals will come from the non-functional requirements, which specify the
system's characteristics and constraints rather than its specific functionalities. By identifying
and prioritizing these design goals, the design team can make informed decisions and shape
the system design to meet the project's objectives effectively
4.1.1 Usability
The goal of usability is to ensure that the system follows User-friendly and intuitive car rental
and tracking. Users can easily navigate the system, search for available cars, book and
manage their car rental without confusion or difficulty. The system should have a well-
designed and intuitive interface, clear instructions, and a streamlined workflow to improve
the overall user experience.
4.1.2 Performance
Performance goals focus on system responsiveness, speed, and scalability. Car rental and
tracking systems must be designed to accommodate large numbers of simultaneous users and
operate efficiently, even during peak periods. It must have fast response times, minimal
latency, and high throughput to deliver a smooth and responsive user experience.
Performance testing and optimization must be performed to ensure that the system meets the
specified performance requirements.
4.1.3 Security
security is an important design goal to protect sensitive user data and prevent unauthorized
access. Car rental and tracking systems must implement strong security measures, such as
secure authentication and authorization mechanisms, encryption of sensitive data, and
protection against security threats as common as SQL injection or cross-site scripting.
It must also comply with relevant data protection regulations to ensure the security of user
information.
33
4.1.4 Flexibility
The goal of flexibility is to ensure that the car rental and tracking system can adapt to
changing business requirements and changing market conditions.
The system must be designed to be modular and flexible, allowing for easy integration with
third-party systems, extensibility to accommodate future growth, and support for additional
features or new functionality. This flexibility allows the system to evolve and remain relevant
in a dynamic business environment.
4.1.5 Maintainability
Maintainability is the goal of designing a system in a way that facilitates maintenance,
updating, and improvement. The car rental and tracking system must have a modular and
well-structured architecture, a clear and organized code base, and comprehensive
documentation to facilitate system maintenance. It must also support version control and
automated testing practices to minimize the risk of errors arising during system updates.
A maintainable system reduces downtime and ensures that the system can adapt effectively to
changing business needs.
The sub-system decomposition of an online car rental and tracking system involves dividing
it into distinct sub-systems, each responsible for specific functionalities and operations. This
breakdown enhances the overall system architecture, making it more modular, scalable, and
maintainable. Each sub-system performs a set of related tasks, working cohesively to deliver
a comprehensive and seamless user experience.
The key sub-systems typically found in an online car rental and tracking system include:
34
1. User Interface Subsystem
The User Interface (UI) Subsystem focuses on the user-facing components of the system,
such as the web or mobile application interface. Its primary function is to provide a user-
friendly and intuitive interface for customers to interact with the system. The operations
provided by this sub-system include:
User Registration
User Login
Car Search
Car Selection
Reservation Management
Rental History
Profile Management
2. Reservation Subsystem
The Reservation Subsystem manages the reservation process and ensures the availability of
cars for rental. It handles all the operations related to car reservations. The operations
provided by this sub-system include:
Availability Check
Car Reservation
Reservation Modification and Cancellation
GPS Tracking
Vehicle Status Monitoring
Location Mapping
The User Management Subsystem handles user accounts, authentication, and access
control within the system. It ensures the security and proper management of user
information. The operations provided by this sub-system include:
35
User Registration
User Authentication
User Roles and Permissions
Password Management
User Profile Management
The Hardware Software mapping is described to indicate the various hardware devices and
equipment’s used in the system and its interaction with the software components. The
Persistent Data Management is described after this to highlight the database type used.
1.Client Machine
Hardware: The client machines are the devices used by users to access the web-
based car rental and tracking system.
Desktop computers
laptops
Smartphones, or tablets.
Software: The client machines should have a web browser installed, such as Google
Chrome, Mozilla Firefox, Microsoft Edge, or Safari, to access and interact with the
web-based application. The client machines also need an operating system (e.g.,
Windows, macOS, Linux, iOS, Android) to run the web browser and communicate
with the server-side components.
2.Web Server
36
Software: Apache HTTP Server
3. Database Server
37
4.5.1 State Diagram for Admin to Generate Report
38
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.
39
4.8 Persistent Data Storage and Management
4.8.1 Persistent Data Storage
Persistent data storage refers to the long-term storage and retrieval of data in a computer
system or application. It involves storing data in a way that allows it to persist even after the
system or application is shut down or restarted.
Persistent data storage is essential in various domains, including web applications, databases,
file systems, and cloud storage. It enables the preservation of critical information, facilitates
data sharing, supports data analysis and reporting, and ensures the integrity and availability of
important data over time.
40
Figure 3Database Management Structure
41
Graphical User Interface for contact Us page
42
Graphical User Interface for User Login page
43
Graphical User Interface for Staff login
44
CHAPTER FIVE: CONCLUSION AND
RECOMMENDATIONS
5.1 Conclusion
This project focuses on car rental and tracking system for Dire Dawa City. In the previous a
rental management system in Dire Dawa have no online reservation and rental for vehicles
and customers. The new system facilitated online registration system for vehicles and
customers to easily disseminate and transfer information for staff and manager in online
system. The system focused on developing web-based car rental and Tracking system system
in reliable, authentic and usable way for Dire Dawa City; we used different data collection
method to gather information related to rental and Tracking system is important for
managing activity in an organized way. Generally, the web-based car rental and Tracking
system could improve the time efficiency of rental history data transmission after using this
web-based system. Data storage which is already computerized will ease the process for
organization in the data storage, retrieval and report, where all data stored in a database that
creates data security and data processing process so that rental data stored neat, clear and not
lost or spilled.
5.2 Recommendations
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.
Make the system fully accessible in Amharic language.
Develop better security mechanism than the current security like two step
verifications
Reference
A
45