Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I am creating a program that implements a system to manage a skin consultation center. I have started the code in Java NetBeans. 1. Design

I am creating a program that implements a system to manage a skin consultation center. I have started the code in Java NetBeans.

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed
1. Design and classes implementation (Phase 1) The design of your system should be consistent with the Object Oriented principles and easy to understand by an independent programmer. You are required to design your program using UML diagrams. In particular you have to draw: 0 A UML use case diagram for the system (6 marks}. 0 A UML class diagram {6 marks) According to the Inheritance principle you have to design and implement a super class Person and the subclasses Doctor and Patient. The classes Person should include appropriate methods in order to comply with the encapsulation principle and hold information about the name, surname, date of birth and mobile number (4 marks). (You can add any other information that you consider appropriate and you can implement additional classes with justification to make the code more robust or user friendly). In particular: . The Doctor subclass should hold specific information and methods. You should add the medical licence number and the specialisation (e.g. cosmetic dermatology, medical dermatology, paediatric dermatology, etc.) as instance variables and the relative get/set methods (4 marks). The Patient subclass should hold specific information and methods. You should add a patient unique id as instance variables (attribute) and the relative get/set methods (4 marks). . You should implement a class Consultation to represent the booked consultation with a specific doctor from a patient. The class should hold information about: date and time slot for the consultation (to represent the date you can use either the class provided during tutorials or you can use any java API), the cost, notes, and the relative get/set methods (4 marks).. Design and implement a class called WestminsterSkinConsultation Manager, which implements the interface Skin Consultation Manager (2 marks). WestminsterSkinConsultationManager maintains the list of the doctors and provides all the methods for the system manager. 2. Console Menu Implementation (Phase 2) The class WestminsterSkin Consultation Manager should display in the console a menu, containing the following management actions from which the user can select one. Add a new doctor in the system. It should be possible to add a new doctor, with all the relevant information. You should consider that the centre can allocate a maximum of 10 doctors (5 marks). Delete a doctor from the system, selecting the medical licence number. Display a message with the information of the doctor that has been deleted and the total number of doctors in the centre (5 marks). Print the list of the doctors in the consultation centre. For each doctor, print on the screen all the stored information. The list should be ordered alphabetically according to the doctor surname (5 marks). Save in a file all the information entered by the user so far. The next time the application starts it should be able to read back all the Information saved in the file and continue to use the system (5 marks).3. Graphical User Interface (GUI) Implementation (Phase 3) Open a Graphical User Interface (GUI) from the menu console. Note: You can choose how the Gill should look like and how to meet at the best these specifications, You should implement the GUI according the following requests: The user can visualise the list of doctors with relative information. The user should be able to sort the list alphabetically. You are suggested to use a table to display this information on the GUI but you can choose any other solution. (6 marks). The user can select a doctor and add a consultation with that specific doctor. When implementing these functionalities, you need to comply with the following requirements: o The user can check the availability of the doctor in specific date/time and can book a consultation for a patient if the doctor is available. If the doctor is not available automatically another doctor will be allocated, who is available in that specific date/time. The choice of the doctor has to be done randomly among all available doctors (6 marks). For each consultation the user has to: Add patient information (add all the attributes defined above - name, surname, date of birth, mobile number, id) (2 marks)- o Display and save the cost for the consultation. Consider that each consultation is E25 per hour and the first consultation in the center is $15 per hour (5 marks]

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Programming questions