Question
Hi, all. I'm doing a past paper for my Java unit as practise in the language, and I have no idea where to start. Any
Hi, all. I'm doing a past paper for my Java unit as practise in the language, and I have no idea where to start. Any tips? Here's the brief.
You have to develop a Practice Management system (PMS)using java as your programming language.
The main modules for PMS are: 1. Patient Management (Manage Patients). 2. Employee Management (Manage Employee [Doctor, Psychologist, Receptionists]). 3. Appointment Management (Maintain the appointments [add, delete, modify]).
Patient Management Module Process descriptions are as follows
Process1
ProcessName | patientList |
Input | Patient Id |
Output | Status Message |
Error | Not a patient |
Process2
ProcessName | AddPatient |
Input | Attributes of Patient class |
Output | id Created |
Error | Validation to be applied on each attribute Like name cant be empty , age should be integer |
Process3
ProcessName | DeletePatient |
Input | Patient Id |
Output | Status message |
Error | None |
Employee Management Module Process descriptions are as follows
Process1
ProcessName | Doctor List |
Input | Doctor Id |
Output | Status Message |
Error | No Doctor found |
Process2
ProcessName | Add Doctor |
Input | Attributes of Doctor class |
Output | id created |
Error | Validation to be applied on each attribute Like name cant be empty , age should be integer, type must match with type listed |
Process3
ProcessName | Delete Doctor |
Input | Doctor Id |
Output | Status message |
Error | None |
Appointment Management Module Process descriptions are as follows
Process1
ProcessName | AppointmentList throws java.io.IOExcep tion |
Input | DoctorId |
Output | Appointment with Patient Details |
Error | No appointment found + IoException |
Process2:
ProcessName | Add Appointment throws java.io.IOExcep tion |
Input | DoctorId Patient id TimeSlot |
Output | Status message updated DoctorPatient List appointment Id |
Error | IoException |
Process3
ProcessName | DeleteAppointment throws java.io.IOEx ception |
Input | Appointment ID |
Output | Status message Modified DoctorPatientList |
Error | IoException |
Process4
ProcessName | ModifyAppointment throws java.io.IOEx ception |
Input | Appointment id Doctor: Select from List Patient: Select from List Slot: Select from Slot |
Output | Status Message |
Error | Ioexception |
Process5
ProcessName | ShowAllAppointment throws java.io.IOEx ception |
Input | Date and Time |
OutPut | ListOfAppointment |
Error | IoExceptions |
Project Specifications System is secured and only Admin and registered user can Login. Follow the specification as below Welcome Console ask the user for following input
Input | Details |
name: String | Input your name |
age: int | Input your age |
option : char | Input a Char for identifying as Admin or User If User types A or a he gets Admin pro file. If User type U or u he gets a User profile |
Program auto-generate the Username and Password for you to enter into system as follows For Admin Login: following details are used
Admin Details | |
User Name : String | IamAdmin + name Where name is what you have entered |
Password : String | Admin ! Dont Mess + age Where age is what you have entered |
For user Login: following details are used.
User Details | |
User Name | name + I am User ! Where name is what you have entered |
Password | User only + age Where age is what you have entered |
System gives you only 3 tries to enter the right credentials else will lock you out and have
to generate new username and password.
Hint: Use of static variable are recommended for reading name and age. We are not using any database and please remember your system should be able to generate the username and password by String concatenation.
Use of dialogue / message box to show the generated name and password is recommended though its console application
Class Organisation and Association The Classes you require are
Class | Details |
Person | Interface and super for Employee , Patient |
Employee | Abstract superclass from which specific types of employee are created , sub type Interface |
Receptionist | sub type Employee |
Doctor | sub type Employee |
Patient | sub Type Person |
Appointment | Used to add , delete , modify Appointment |
ManageProject | Main Class used as tester/Driver class for driving through project. |
Class details as follows Person is an Interface Note: Use lambda expressions for its implementation
Interface << Person>> |
+isAnAdult(): Boolean : returns true the person is an adult (age>18) else returns false |
Employee is a Abstract Class implements Person
Employee implements Person |
#hireDate: Date #id: String #desc: String # address: String #age: int #name: String |
+ abstract ComputePay(): double +toString(): String |
Doctor Class isa Employee
Doctor extends Employee |
- department : String [] / arrayList can be used : { General , Surgery , basic Nursing , Pyschologist} -type: String { full time / part time} -status: Boolean -WorkingTime: Time |
+ getPatientList:List |
Receptionists Class isa Employee
Receptionists extends Employee |
-status:String |
Makechoice() : provides following Menu options. 1: doManageMenu () is enabled 2: DoApptMenu() is enabled. Else Generate an error message not a valid choice |
DoManageMenu Specifications
doManageMenu |
A: add patient D: Delete patient +: add doctor -: delete doctor |
Receptionist should return to makechoice() menu after each operation |
DoApptMenu Specifications
doMainMenu | |
Input | A: Add appointment D: Delete appointment M: Modify Appointment L: List Day Q: Quit |
Receptionist should return to makechoice() menu after each operation |
Patient Class implements Person
Patient extends Person |
- Pid: String |
-name:String -Prefeddoc: String -department:String -address: String |
+addpatient(Patient p) : pid +deletepatient(Patient p ) : Status Message +ShowpatientList(): List |
Appointment Class
Appointment |
-aptid: String -Docid : Doctor -pid: Patient -time : Time |
+Addappt(patient p , doctor d , time t): aptid +deleteappt(aptid): String +modifyapt(aptid):String message +listday(Time): List |
Manage Class
Tester / Driver Class with following Specs. |
Bulid the Project Takes you to Welcome Console Screen If admin : run Receptionist Instance. If User: show details and exit. |
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started