Use Case Diagram for the Car Rental System
Learn how to define use cases and create the corresponding use case diagram for the car rental system.
Let’s build the use case diagram for the car rental system and understand the relationship between its different components.
First, we’ll define the different elements of our system, followed by the complete use case diagram of the system.
System
Our system is “rent a car.”
Actors
Now, we’ll define the main actors of our car rental system.
Primary actors
Member: This is the primary actor of the system who can reserve a vehicle, make payment, and change or cancel the reservations of the vehicle.
Secondary actors
Receptionist: This actor acts as the system’s admin and can perform any task a “Member” can perform. This can also add, remove, or modify the vehicle or its reservations and update logs.
Worker: This actor can update logs, return vehicles, and pay bills.
System: This can send notifications related to reservation to members.
Use cases
This section will define the use cases for "Rent a car." We have listed the use cases according to their respective interactions with a particular actor.
Note: You’ll see some use cases occurring multiple times because they are shared among different actors in the system.
Member
Create a new account: To create a new account on the system
Update/cancel account: To update account information or to cancel an account
Login/Logout: To log in and out of the car rental system
Search vehicle inventory: To search for vehicles from the inventory
Make a reservation: To make a reservation for a vehicle
Cancel reservation: To cancel the reservation of the vehicle
Update reservation: To update the reservation information of the vehicle
Return vehicle: To return the vehicle to the car rental facility
Pickup vehicle: To pick up the vehicle from the car rental facility
Pay bill: To pay vehicle rent
Receptionist
Create a new account: To create a new account on the system
Update/cancel account: To update account information or to cancel an account
Login/Logout: To log in and out of the car rental system
Search vehicle inventory: To search for vehicles from the inventory
Make a reservation: To make a reservation for a vehicle
Cancel reservation: To cancel the reservation of the vehicle
Update reservation: To update the reservation information of the vehicle
Add vehicle: To add a new vehicle to the car rental system
Remove vehicle: To remove a vehicle from the car rental system
Modify vehicle: To modify a vehicle status or information from the car rental system
Update log: To update the vehicle log
System
Send overdue notification: To send a notification if the date and time for vehicle return are passed
Send reservation notification: To send a notification of the reservation made
Send reservation canceled notification: To send a notification of any canceled reservation
Relationships
We describe the relationships between and among actors and their use cases in this section.
Generalization
We’ll use the generalization relationship if we want to add, remove, or modify a vehicle. We also need to specify the vehicle type we want to add, remove or modify.
“Add vehicle” has a generalization relationship with the “Add car,” “Add truck,” “Add van,” and “Add motorbike” use cases.
“Remove vehicle” has a generalization relationship with the “Remove car,” “Remove truck,” “Remove van,” and “Remove motorbike” use cases.
“Modify vehicle” has a generalization relationship with the “Modify car,” “Modify truck,” “Modify van,” and “Modify motorbike” use cases.
Associations
The table below shows the association relationship between actors and their use cases.
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.