1. Implement an abstract class Person that includes at least five shared fields and contains at least one abstract method of your choice (for example to define a person's category (teacher or staff)). 2. Extend class Person with concrete classes, and override the toString() and equals() methods of each class. 3. The class Teacher has two instance variables: speciality and degree and some other fields for its subclasses (part-time or full-time teachers) 4. The class Staff has also two instance variables: duty and workload 5. Implement an interface PayRoll that contains ComputePayRoll() method to be implemented as follows: a. For each full-time teacher, the salary is computed as (32 degreeRate * 2) * 0.85, where degreeRate is 112, 82, 42 for PhD, Master, and Bachelor, respectively. b. For each part-time teacher, the salary is computed as (hoursWorked degreeRate *2) 0.76, where degreeRate is 112, 82, 42 for PhD, Master, and Bachelor, respectively. c. For each staff, the salary is computed as (workload 32 * 2) * 0.75, where workload is the weekly working hours. The working hours cannot exceed 40. d. Implement the method ComputePayRoll() inside Teacher and Staff classes.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

(USE JAVA) 

Create a Pseudocode for the main methods of the situation on the picture below. 

1. Implement an abstract class Person that includes at least five shared fields and contains at
least one abstract method of your choice (for example to define a person's category (teacher
or staff)).
2. Extend class Person with concrete classes, and override the toString() and equals() methods
of each class.
3. The class Teacher has two instance variables: speciality and degree and some other fields for
its subclasses (part-time or full-time teachers)
4. The class Staff has also two instance variables: duty and workload
5. Implement an interface PayRoll that contains ComputePayRoll() method to be implemented
as follows:
a. For each full-time teacher, the salary is computed as (32 * degreeRate * 2) * 0.85, where
degreeRate is 112, 82, 42 for PhD, Master, and Bachelor, respectively.
b.
For each part-time teacher, the salary is computed as (hoursWorked degreeRate *2) *
0.76, where degreeRate is 112, 82, 42 for PhD, Master, and Bachelor, respectively.
c. For each staff, the salary is computed as (workload *32*2) * 0.75, where workload is
the weekly working hours. The working hours cannot exceed 40.
d. Implement the method ComputePayRoll() inside Teacher and Staff classes.
6. Teachers and staffs are added/assigned to a department, first by loading/reading from a text
file during the first execution of the application. Moreover, new teachers and staff must be
added/assigned through the GUI application.
7. Trying to add a teacher or a staff member to an inexistent department (based on department
id) should rise/throw an exception.
8. Trying to add a teacher or a staff member that already exists/ added (based on the id) to
department should throw an exception.
9. A department class has a list of teachers and staff. A department class also has a dean, who
should be a teacher of that department, otherwise an exception must be thrown.
10. Each new teacher and staff added to a department should be stored to the text file before
exiting the application, generating a new version of the text file. So, if the text file does exist
(which is the case), new teachers or staffs should be appended. There are files of teachers
and staffs.
11. The customized exceptions handling for the cases above must be implemented.
12. Test sets should be generated for testing the effectiveness of each method in your model.
Design Requirements
1. A clear and precise GUI should be designed for input and output.
2. Create all the classes
3. Include all the supported class Libraries
4. Document your code using JavaDoc
5. Create a Test class using JUnit to test the controller methods. All tests should pass.
Transcribed Image Text:1. Implement an abstract class Person that includes at least five shared fields and contains at least one abstract method of your choice (for example to define a person's category (teacher or staff)). 2. Extend class Person with concrete classes, and override the toString() and equals() methods of each class. 3. The class Teacher has two instance variables: speciality and degree and some other fields for its subclasses (part-time or full-time teachers) 4. The class Staff has also two instance variables: duty and workload 5. Implement an interface PayRoll that contains ComputePayRoll() method to be implemented as follows: a. For each full-time teacher, the salary is computed as (32 * degreeRate * 2) * 0.85, where degreeRate is 112, 82, 42 for PhD, Master, and Bachelor, respectively. b. For each part-time teacher, the salary is computed as (hoursWorked degreeRate *2) * 0.76, where degreeRate is 112, 82, 42 for PhD, Master, and Bachelor, respectively. c. For each staff, the salary is computed as (workload *32*2) * 0.75, where workload is the weekly working hours. The working hours cannot exceed 40. d. Implement the method ComputePayRoll() inside Teacher and Staff classes. 6. Teachers and staffs are added/assigned to a department, first by loading/reading from a text file during the first execution of the application. Moreover, new teachers and staff must be added/assigned through the GUI application. 7. Trying to add a teacher or a staff member to an inexistent department (based on department id) should rise/throw an exception. 8. Trying to add a teacher or a staff member that already exists/ added (based on the id) to department should throw an exception. 9. A department class has a list of teachers and staff. A department class also has a dean, who should be a teacher of that department, otherwise an exception must be thrown. 10. Each new teacher and staff added to a department should be stored to the text file before exiting the application, generating a new version of the text file. So, if the text file does exist (which is the case), new teachers or staffs should be appended. There are files of teachers and staffs. 11. The customized exceptions handling for the cases above must be implemented. 12. Test sets should be generated for testing the effectiveness of each method in your model. Design Requirements 1. A clear and precise GUI should be designed for input and output. 2. Create all the classes 3. Include all the supported class Libraries 4. Document your code using JavaDoc 5. Create a Test class using JUnit to test the controller methods. All tests should pass.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps

Blurred answer
Knowledge Booster
Developing computer interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education