Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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 +addDoctor(): List +ShowDoctor(): Doctor

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

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_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

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

Get Started

Recommended Textbook for

Beginning VB 2008 Databases

Authors: Vidya Vrat Agarwal, James Huddleston

1st Edition

1590599470, 978-1590599471

More Books

Students also viewed these Databases questions

Question

What are transferred-in costs?

Answered: 1 week ago

Question

Describe Table Structures in RDMSs.

Answered: 1 week ago