Analysis - bruzla/NSWI041 GitHub Wiki
This page contains the analysis for the Carsharing App.
Functional Requirements
Actors
-
Lender: A car owner who lists their idle vehicle on the platform to earn income while setting conditions to protect their asset.
-
Borrower: An individual who rents a car temporarily through the app, gaining convenient access without the burdens of ownership or maintenance.
User Stories
- List of user stories can be found here.
Use Cases
-
List of use cases can be found here.
-
Use case diagram:
Domain Model
Diagram
Classes
User
A base class for all system users.
Lender
A specialized user who offers vehicles for rent.
- Owns vehicles.
- Writes reviews about borrowers.
Borrower
A specialized user who rents vehicles.
- Makes bookings.
- Receives reviews from lenders.
- Can set preferences for searching vehicles.
Vehicle
Representation of a vehicle available for rent.
- Can be booked (Booking).
- Defines Usage Restrictions
- Has Rental Terms and Availability Schedule
Booking
Represents a reservation of a vehicle for a specific time period.
- Created by a borrower.
- Linked to a specific vehicle.
- May be associated with a review.
Review
A review written by a lender about a borrower after a rental.
- Belongs to exactly one booking.
- Links one lender and one borrower.
Preferences
Settings that define a borrower's vehicle search criteria.
Rental Terms
Conditions under which a vehicle is rented.
Usage Restrictions
Defines restrictions for vehicle usage.
Availability Schedule
Specifies when a vehicle is available for booking.
Photo
Photo of the vehicle or anything in general which is related to this application.
Geographic boundary
Defines where the borrower is able to drive the vehicle.