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.
Q: 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.
Q: What is meant by the term "blackbox"? How are the tests inside BookingSystemTest blackbox?
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
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
