Identify and formulate requirements and constraints for the online car rental system described below. Also provide priority weights for the requirements according to the nature of the car rental business:   CAR RENTAL SYSTEM • A car rental company operates a number of rental locations throughout the metropolitan area.             Since the company has a great business model and provides customer-friendly service, its business has boomed over the last several years. As the business has grown rapidly, the costs of running its business has also increased. In particular, as the job market becomes hot, the labor cost has doubled over the last several years. The company wants to find a solution to reduce its operating cost. The business operation of the company is described as follows. The description is not meant to be complete, and the company is flexible enough to consider any good improvement proposals.              Vehicles can be taken from one location and returned to the same location or to a different location with an additional charge. Although the company is, at present, concerned only with passenger cars, it may branch out into other forms of vehicle rentals in the future and would like to be able to use the same reservation system. The company has several different makes of cars in its rental fleet, from different manufacturers. Each make may have several models. For example, Toyota has Corolla, Camry, and more. The models are grouped into a small number of price classes. The customer must be able to select the make and the model he or she wants to rent. If the selected car is not available, the system should display a message telling the customer that the car is rented out and let the customer select another make and model, or have the system suggest similar models of a different make.              The company has a number of different rental plans available to customers. For example, there is a “daily unlimited miles plan” and a “weekend 10% discount plan.” The company finds it important to have information available on the models of car, such as automatic or manual gear change, two or four doors, and sedan or hatchback. The rental prices may be different for different options and a customer will want to know such information when reserving a car.                Currently, customers make reservations directly with the car rental company either in person or through the phone. The salespersons process the reservations manually using a reservation form and archive them in the file cabinet. No deposit is required at the time of reservation. The reservation is voided if the customer does not show up to sign the contract for more than a given period of time. Such reservation is honored only if there are still cars available to satisfy the request. Sometimes a customer wishes to make a block reservation for several cars and to have the invoices for all rentals on the reservation handled together.              As soon as a car is checked out to a customer, an invoice is opened. A single invoice may cover one or more rentals. Normally a customer will settle the invoice when the car is returned but, in some cases, the invoice must be sent to a company (such as the customer’s employer). When the customer pays by a credit card, the rental charge will be processed through a credit card processing company. A car may or may not be available for rental on a given day. Rental cars need frequent preventive maintenance and, in addition, any damage to a car has to be repaired as soon as possible. The company wants to keep track of the rental car purchase, repair, maintenance, and disposal information for business and tax purposes (e.g., depreciation of the rental cars).     Create the following classes in C++   The class Author contains: Three private member variables: name (String), email (String), and gender (char of either 'm' or 'f'. A constructor to initialize the name, email and gender with the given values. Public getters/setters: getName(), getEmail(), setEmail(), and getGender(). A print() function that returns "name (gender) at email", e.g., "Mike (m) at mJones@somewhere.com". b. The class Book contains: Four private member variables: name (String), author (an instance of the Author class we have just created, assuming that each book has exactly one author), price (double). The public getters and setters: getName(), getAuthor(), getPrice(), setPrice(). A print() that returns "book-name by author-name (gender) at email". You could reuse the Author's print() function, which returns "author-name (gender) at email". Write a program to test the Author and the Book classes. Create objects of each class type and use the print function in the objects to display information.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
  1. Identify and formulate requirements and constraints for the online car rental system described below. Also provide priority weights for the requirements according to the nature of the car rental business:

 

CAR RENTAL SYSTEM •

A car rental company operates a number of rental locations throughout the metropolitan area.


            Since the company has a great business model and provides customer-friendly service, its business has boomed over the last several years. As the business has grown rapidly, the costs of running its business has also increased. In particular, as the job market becomes hot, the labor cost has doubled over the last several years. The company wants to find a solution to reduce its operating cost. The business operation of the company is described as follows. The description is not meant to be complete, and the company is flexible enough to consider any good improvement proposals.


             Vehicles can be taken from one location and returned to the same location or to a different location with an additional charge. Although the company is, at present, concerned only with passenger cars, it may branch out into other forms of vehicle rentals in the future and would like to be able to use the same reservation system. The company has several different makes of cars in its rental fleet, from different manufacturers. Each make may have several models. For example, Toyota has Corolla, Camry, and more. The models are grouped into a small number of price classes. The customer must be able to select the make and the model he or she wants to rent. If the selected car is not available, the system should display a message telling the customer that the car is rented out and let the customer select another make and model, or have the system suggest similar models of a different make.

             The company has a number of different rental plans available to customers. For example, there is a “daily unlimited miles plan” and a “weekend 10% discount plan.” The company finds it important to have information available on the models of car, such as automatic or manual gear change, two or four doors, and sedan or hatchback. The rental prices may be different for different options and a customer will want to know such information when reserving a car.

 

             Currently, customers make reservations directly with the car rental company either in person or through the phone. The salespersons process the reservations manually using a reservation form and archive them in the file cabinet. No deposit is required at the time of reservation. The reservation is voided if the customer does not show up to sign the contract for more than a given period of time. Such reservation is honored only if there are still cars available to satisfy the request. Sometimes a customer wishes to make a block reservation for several cars and to have the invoices for all rentals on the reservation handled together.

             As soon as a car is checked out to a customer, an invoice is opened. A single invoice may cover one or more rentals. Normally a customer will settle the invoice when the car is returned but, in some cases, the invoice must be sent to a company (such as the customer’s employer). When the customer pays by a credit card, the rental charge will be processed through a credit card processing company. A car may or may not be available for rental on a given day. Rental cars need frequent preventive maintenance and, in addition, any damage to a car has to be repaired as soon as possible. The company wants to keep track of the rental car purchase, repair, maintenance, and disposal information for business and tax purposes (e.g., depreciation of the rental cars).

 

 

  1. Create the following classes in C++
    1.  

The class Author contains:

  • Three private member variables: name (String), email (String), and gender (char of either 'm' or 'f'.
  • A constructor to initialize the name, email and gender with the given values.
  • Public getters/setters: getName(), getEmail(), setEmail(), and getGender().
  • A print() function that returns "name (gender) at email", e.g., "Mike (m) at mJones@somewhere.com".

b.

The class Book contains:

  • Four private member variables: name (String), author (an instance of the Author class we have just created, assuming that each book has exactly one author), price (double).
  • The public getters and setters: getName(), getAuthor(), getPrice(), setPrice().
  • A print() that returns "book-name by author-name (gender) at email". You could reuse the Author's print() function, which returns "author-name (gender) at email".

Write a program to test the Author and the Book classes. Create objects of each class type and use the print function in the objects to display information.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 4 images

Blurred answer
Knowledge Booster
Analysis of Performance Measurement
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-engineering and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY