Question: Project title: Museum Management System You are required to implement a fully functional management system for a museum. The project should contain backend and frontend



Project title: Museum Management System You are required to implement a fully functional management system for a museum. The project should contain backend and frontend functionalities that can help the employees and the visitors to interact with the museum. The system should be implemented by using console interface, i.e., all input and output interactions should be done via the java console. Class diagram: This class diagram explains the relationship between the different required classes and their minimum member requirements. > > Ticket default package issue Date: Date price in Ticket getissue Date Date setissue Date Date) void getVisitor Visitor setVisitorVisitor) void getPrice int SetPricelint) void > Person (default package name String id int a dob Date Person) getName() String setName(String void getid); int setidint) void getDobi) Date setDob/Date) void toString). String default package) MuseumSystem) getVisitors ArrayList > MuseumWorkingDays (dietauit package) VSUNDAY. MuseumWorkingDays TUESDAY MuseumWorkingDays MuseumWorkingDays -type 0.1 > wators Employee 0 (datult package) * employment_id int hireDate: Date Employee geteld) int seteldint) void getireDate) Date setHitaDate(Date) vold toString String Voor > 0.1 Visitor (default package record_id int wsits_countint Visitor getRecord_id) int setRecord_idint) void gerVisit ArrayList Ticket Type (default package DAILY Ticket Type V MONTHLY TicketType VYEARLY TicketType TicketType guides 0.- > Regular Visitor default package RegarVisitor obook Tour void > Senior Visitor detsuit package) discountRate: double Senior Visitor gut DiscountRatel) double DiscountRate(int) void book Tour) void > Receptioniest (default package) Receptionist oregistersubs) void issue Ticket) void deleteSubs() void editSubs() void Languages (default package VARABIC Languages VENGUSH. Languages Languages Further description: The project consists of the following classes: 1. Museum System: This class contains all the basic information about the museum like, list of hired employees, list of subscribed visitors, working days, name, address and so on. 2. Person: this superclass identifies the basic information of any person in the system, such as name, address, id number and date of birth. 3. Visitor: a subclass from the Person class. This class contains the basic information of any visitor of the museum such as record-id and number of visits done by the visitor. This class has two subclasses (regularVisitor and Senior Visitor). The difference between those two types of visitors is that senior visitors are eligible for a discount rate on the price of tickets. 4. Employee: this is a subclass of the Person class. It contains the basic information about the employees of the museum. There are two types of employees: a receptionist and guides. The receptionist is responsible for issuing tickets and subscriptions to the visitors. The guides are responsible for taking visitors on tours around the museum based on reservations. Each guide should specify his/her working days, the maximum number of tours/day and spoken languages in which he/she can perform tours. The visitors can book tours with or without guides, but when a guide is required, the visitor should specify the desired tour day and language and the system should assign the visitor with an available guide. Of course a booked tour with a guide costs more than a tour without a guide. 5. Ticket: this class contains the basic information about tickets of the museum, such as ticket-id, issue date, price and name of ticket holder. This class has two subclasses: one-time ticket which is valid for a single-entry to the museum and multi-time ticket which allows multiple entries to the museum, and the latter can be daily, monthly and yearly. Of course ticket prices should differ based on their types. You are required to implement a testerClass to test all the functionality of the system and provide a basic interface with the user. Assume this testerClass interacts with the receptionist of the system who is responsible for registering guides, visitors and issuing tickets and subscriptions to the visitors. The interface should be implemented as a menu-based interface by using the java console for input and output. The menu should be shown infinitely until the user enters the option (exit). Example of one menu entry: Register a guide: Enter guide's name: Enter guide's address: Enter guide's date of birth: Enter guide's id number: Specify guide's working days (maximum 5 days/week): Specify guide's number of tours/day (maximum 3 tours/day): Specify guide's spoken languages: - - General Notes: Feel free to add any extra features to the system as you find fit. What we proposed is the minimum requirements of the system only The system should be fully-implemented with a friendly user interface by using the console. Work is individual, any detected plagiarism will be assigned a grade of zero immediately