The video rental system tracks the videos checked out by clients.
The system contains a catalog of the videos owned by the video rental company. Now there are three
kinds of catalog items: VCDs, SVCDs and DVDs. Maybe there are more kinds of catalog items in the
future and each one use different read disk techniques. All catalog items are identified by a unique code.
(If the company owns several copies of the same item, each copy has a unique code.) The information
for each item includes title, year, and availability. An item is available if it is not checked out. In
addition, the system contains a database of the clients. Each client has a unique identification code in
addition to a name. The system maintains a rental list, for each client, of the catalog items checked out.
In the video rental system, the user should be able to:
Display the catalog by listing the code, title, and availability of each item.
Display a catalog item.
Display the clients by listing the identification code and name of each client.
Display the catalog items checked out by a client.
Check out a catalog item by adding the item to client's list of rented items.
Check in a catalog item by removing the item from client's list of rented items.
1) Please check the system UML class diagram in figure 2 and perfect the system design using
strategy pattern according to the system requirements. You can modify the design on the figure 2.
2) Give Java implementation for class Catalog, Client and DVD based on your modified system