roblem Description: ou are hired to build a software for a new Computer Science (CS) department, or CSD for short. ou are required to write an object-oriented program that implements a scenario of CS personnel bsystem. The following UML diagram shows an overview architecture of the department's ersonnel. The UML diagram shows the inheritance relationship among the classes. It should be oted here that this UML diagram is not complete. Hence, you need to read the problem escription carefully to determine the attributes and methods for each class. Also, you need to ead the JUnit test file CSDTest.java. loreover, you need to determine if the class is abstract, or concrete based on the problem escription. Therefore, if you look at the startup PE2 project, you will find the package pe2 with SD.java file, which does not contain any functional code, as you are supposed to read this agram and implement the code in CSD.java. You must create your classes inside the SD.java file after reading the problem description. emember that you need to follow best 00 practices while implementing the solution for e CS department scenario (i.e., object-oriented encapsulation, abstraction, information ding, ... etc.) Academics Administrator Program Director Faculty Chairperson Person A Student A UGrad <> Comparable CS Department Grad NoSpecialtyException NoSpaceException NOTAException

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

 

   

Problem Description:
You are hired to build a software for a new Computer Science (CS) department, or CSD for short
You are required to write an object-oriented program that implements a scenario of CS personnel
subsystem. The following UML diagram shows an overview architecture of the department's
personnel. The UML diagram shows the inheritance relationship among the classes. It should be
noted here that this UML diagram is not complete. Hence, you need to read the problem
description carefully to determine the attributes and methods for each class. Also, you need to
read the JUnit test file CSDTest.java.
Moreover, you need to determine if the class is abstract, or concrete based on the problem
description. Therefore, if you look at the startup PE2 project, you will find the package pe2 with
CSD.java file, which does not contain any functional code, as you are supposed to read this
diagram and implement the code in CSD. java. You must create your classes inside the
CSD.java file after reading the problem description.
Remember that you need to follow best 00 practices while implementing the solution for
the CS department scenario (i.e., object-oriented encapsulation, abstraction, information
hiding,... etc.)
Page 13
Academics
A
Administrator
Program
Director
Faculty
Chairperson
Person
A
Student
A
UGrad
7
<<Interface>>
Comparable
CS Department
Grad
NoSpecialtyException
NoSpaceException
NOTAException
General information and Configuration about the CS Department:
• The CSD has as a community, a group of: Academics that can be Administrators, or
Faculty members.
CSD admits Students to its programs. A Student can be a Graduate or Undergraduate.
A Grad student can work in the CSD as a TA with a faculty member.
The CSD stores the following information about any TA: First name, Last name,
Age, Gender, Student ID, and Address
•
The CSD stores the following information about any academic, faculty or
administrator: First Name, Last name, Age, Gender, Employee ID, Address and Salary.
• The CSD assigns a unique employee ID to each Academic, faculty, or administrator.
Employee IDs start at 100.
• The university stores the following information about admitted students: First
Name, Last name, Age, Gender, Student ID and Address.
The university assigns a unique Student ID to each student starting from 1000.
The university is not allowed to have duplicate student records.
An Undergrad Student has a designated Faculty assigned as an academic advisor.
• A Faculty can have several undergrad Students assigned at the same time.
• Any Grad student can be assigned to any faculty.
There are two types of academic administrator roles: Chairperson and Program Director.
There is only one Chairperson for the department. The Chairperson overlooks
and manages all the Program Directors.
• Faculty members belong to one of the following 3 programs: Computer
Science, Software Engineering, and Digital Technology.
• There is one Program Director for each of these programs, and a program director
overlooks and manages only faculty members in the same program.
It is essential to know that CSD has the following restrictions:
• Number of Chairpersons: 1
• Number of Program Directors: 3
• Number of Faculty assigned to a Program Director: Up to a maximum of 25
• Number of Faculty members: Up to a Maximum of 70
Number of Grad students: Up to a Maximum of 150
Number of Undergrad Students: Up to a Maximum of 500
• Number of Grad students assigned to a Faculty as TAs: Up to a maximum of 5
. • Number of Undergrad students assigned to a Faculty for advising: Up to a maximum of 8
Transcribed Image Text:Problem Description: You are hired to build a software for a new Computer Science (CS) department, or CSD for short You are required to write an object-oriented program that implements a scenario of CS personnel subsystem. The following UML diagram shows an overview architecture of the department's personnel. The UML diagram shows the inheritance relationship among the classes. It should be noted here that this UML diagram is not complete. Hence, you need to read the problem description carefully to determine the attributes and methods for each class. Also, you need to read the JUnit test file CSDTest.java. Moreover, you need to determine if the class is abstract, or concrete based on the problem description. Therefore, if you look at the startup PE2 project, you will find the package pe2 with CSD.java file, which does not contain any functional code, as you are supposed to read this diagram and implement the code in CSD. java. You must create your classes inside the CSD.java file after reading the problem description. Remember that you need to follow best 00 practices while implementing the solution for the CS department scenario (i.e., object-oriented encapsulation, abstraction, information hiding,... etc.) Page 13 Academics A Administrator Program Director Faculty Chairperson Person A Student A UGrad 7 <<Interface>> Comparable CS Department Grad NoSpecialtyException NoSpaceException NOTAException General information and Configuration about the CS Department: • The CSD has as a community, a group of: Academics that can be Administrators, or Faculty members. CSD admits Students to its programs. A Student can be a Graduate or Undergraduate. A Grad student can work in the CSD as a TA with a faculty member. The CSD stores the following information about any TA: First name, Last name, Age, Gender, Student ID, and Address • The CSD stores the following information about any academic, faculty or administrator: First Name, Last name, Age, Gender, Employee ID, Address and Salary. • The CSD assigns a unique employee ID to each Academic, faculty, or administrator. Employee IDs start at 100. • The university stores the following information about admitted students: First Name, Last name, Age, Gender, Student ID and Address. The university assigns a unique Student ID to each student starting from 1000. The university is not allowed to have duplicate student records. An Undergrad Student has a designated Faculty assigned as an academic advisor. • A Faculty can have several undergrad Students assigned at the same time. • Any Grad student can be assigned to any faculty. There are two types of academic administrator roles: Chairperson and Program Director. There is only one Chairperson for the department. The Chairperson overlooks and manages all the Program Directors. • Faculty members belong to one of the following 3 programs: Computer Science, Software Engineering, and Digital Technology. • There is one Program Director for each of these programs, and a program director overlooks and manages only faculty members in the same program. It is essential to know that CSD has the following restrictions: • Number of Chairpersons: 1 • Number of Program Directors: 3 • Number of Faculty assigned to a Program Director: Up to a maximum of 25 • Number of Faculty members: Up to a Maximum of 70 Number of Grad students: Up to a Maximum of 150 Number of Undergrad Students: Up to a Maximum of 500 • Number of Grad students assigned to a Faculty as TAs: Up to a maximum of 5 . • Number of Undergrad students assigned to a Faculty for advising: Up to a maximum of 8
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 5 images

Blurred answer
Knowledge Booster
Class
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
  • SEE MORE 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