Question: Start by taking a look at the BookingSystemController class. You do not need to understand all of the code in it , some of the

Start by taking a look at the BookingSystemController class. You do not need to understand all of the code in it, some of the constructs such as Streams we will be learning about in later weeks.
The diagram below illustrates the overall system structure.
The booking system is broadly speaking an Abstract Data Type (ADT)- it is a system that contains information (data), has meaning (type) and functions as a black box (is abstract). This means that the system can be used by different ADT Clients who can each create an instance of and use the system without understanding how it is implemented under the hood. For example in the diagram above, ADT Clients of the booking system could include the tests we have written or an API layer that is using the BookingSystemController, or a Command Line Interface which acts as a wrapper around the controller.
Q1: Why is this approach considered good design? Write the answer in your blog for this activity. In your answer, consider the terms abstraction, encapsulation and modularisation.
Q2: What is meant by the term "black-box"? How are the tests inside BookingSystemTest black-box?
In the proceeding tasks, you will be able to edit any of the classes inside the hotel package except for BookingSystemController. You should not need to edit it, though you can modify the internal mechanics of the class if you like without changing the external interface (public methods).

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!