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:

Use Case Diagram

Domain Model

Diagram

domain_model

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.

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.