Mr. Johnson has been an independent driver for delivery services (such as Amazon Flex, Door Dash, and Uber Eats). Last month, he bought a fleet of cars and started up a business that rents them out to other independent drivers. As the business is growing, he wants to hire you to develop a software system that helps manage the renting. The following bullet points are from your discussion with Mr. Johnson: • A driver needs to make a reservation for a specific type of car (sedans, SUVs, pick- ups or vans) at least 24 hours before the check-out. • A driver can request an extension for the return date/time and will be granted if there are no reservations on that vehicle. • The renting charges are different for different types of cars. The charges will be updated from time to time. A rent that is a week or longer may get a discount. a) Functional requirements : write at least 5 functional requirements of this software system. For each functional requirement, write the corresponding black-box test case(s). b) Glossary : from the system description and the functional requirements, extract a list of nouns/noun phrases, change the plurals into singulars (e.g. Drivers to Driver), and eliminate unnecessary or duplicate terms. c) Domain modeling: Draw the domain modeling diagram. The suggested steps are: • determine the domain objects, • determine the relationship (is-a or has-a) between the domain objects, • introduce new domain objects if necessary.
Mr. Johnson has been an independent driver for delivery services (such as Amazon Flex, Door
Dash, and Uber Eats). Last month, he bought a fleet of cars and started up a business that
rents them out to other independent drivers. As the business is growing, he wants to hire you
to develop a software system that helps manage the renting. The following bullet points are
from your discussion with Mr. Johnson:
• A driver needs to make a reservation for a specific type of car (sedans, SUVs, pick-
ups or vans) at least 24 hours before the check-out.
• A driver can request an extension for the return date/time and will be granted if there
are no reservations on that vehicle.
• The renting charges are different for different types of cars. The charges will be
updated from time to time. A rent that is a week or longer may get a discount.
a) Functional requirements : write at least 5 functional requirements of this software
system. For each functional requirement, write the corresponding black-box test case(s).
b) Glossary : from the system description and the functional requirements, extract
a list of nouns/noun phrases, change the plurals into singulars (e.g. Drivers to Driver), and
eliminate unnecessary or duplicate terms.
c) Domain modeling: Draw the domain modeling diagram. The suggested steps
are:
• determine the domain objects,
• determine the relationship (is-a or has-a) between the domain objects,
• introduce new domain objects if necessary.
Car Reservation System:
- Requirement: The system must allow drivers to make reservations for specific types of cars (sedans, SUVs, pickups, or vans) at least 24 hours before the check-out.
- Test Case: Verify that a driver can successfully make a reservation for a sedan 24 hours before the desired check-out time.
Extension Request:
- Requirement: A driver should be able to request an extension for the return date/time, and the request should be granted if there are no reservations on that vehicle.
- Test Case: Confirm that a driver can request an extension for a van and that it's granted if there are no upcoming reservations for that van.
Dynamic Rental Charges:
- Requirement: The system must calculate rental charges based on the type of car rented, and these charges should be updated from time to time. Long-term rentals (a week or longer) may qualify for a discount.
- Test Case: Validate that the rental charges for an SUV are correctly calculated when the rates have been updated, and apply a discount for a week-long rental.
Inventory Management:
- Requirement: The system should maintain an inventory of available cars, including their types (sedans, SUVs, pickups, or vans), current status (available, reserved, rented), and rental history.
- Test Case: Check if the system correctly updates the status of a sedan from "available" to "reserved" when a reservation is made.
Notification System:
- Requirement: The system must notify drivers of reservation confirmations, extension approvals, and rental charges through email or SMS.
- Test Case: Verify that an email notification is sent to a driver when their extension request for a pickup is approved.
Step by step
Solved in 3 steps with 1 images