Project School DatabaseUse the UML provided below to develop the necessary Java classes. Follow the OBJECTIVES & GRADING RUBRIC to develop your project and meet the requirements Use the...










Hello! I listed the Instructions and guidelines for the assignment down below. I will be submitting the assignment through zybooks where it states that the files (Course.java, Faculty.java, Employee.java, Student.java, Person.java, GeneralStaff.java, Driver_SchoolDB.java) are needed. The deadline is coming up soon, so thank you so much for helping me with this and I hope to hear back from you soon!








Project School Database Use the UML provided below to develop the necessary Java classes. Follow the OBJECTIVES & GRADING RUBRIC to develop your project and meet the requirements Use the Initial Text File and Sample Output provided at the end of this file to complete the I/O portion SUBMISSION INSTRUCTIONS: 1. Submit your source code to zybook for grading using the test cases that have been provided for the project. (65 points) 2. Record a 5-10 minute video of the project running through the steps to demonstrate the functionality as you explain it. (35 points) Explain the code in depth and cover all points from the rubric in order. 3. Upload your video to youtube and provide the link as a comment in your code at the top of the Driver_SchoolDB java file. (The visibility of your video must NOT be private. It CAN be unlisted) NOTE: Video explanation and code must both be submitted by the deadline to earn credit, even if the program is not fully functional. Course • isGraduateCourse: boolean • courseNum: int • courseDept: String • numCredits: int • Course(boolean isGraduateCourse, int courseNum, String courseDept, int numCredits) • isGraduateCourse(): boolean • getCourseNum(): int • getCourseDept(): String • getNumCredits(): int • getCourseName: String //return String of “U” or “G” + courseDept + courseNum • equals(Object obj): boolean //all attributes must match for 2 Course objects to be considered equal • toString(): String //”Course: %3s-%3d | Number of Credits: %02d | Graduate/Undergraduate”, courseDept, courseNum, numCredits, isGraduateCourse • compareTo(Course c): int //use the Comparable interface specification. Sort by courseNum Person • name: String • birthYear: int • Person() // name = “”, birthYear = 0 • Person(String name, int birthYear) • getName():String • getBirthYear():int • setName(String name): void • setBirthYear(int year): void • equals(Object obj): boolean //all attributes must match for 2 Course objects to be considered equal • toString(): String //”Person: Name: %30s | Birth Year: %4d”, name, birthYear • compareTo(Person p): int //use the Comparable interface specification. Sort by birthYear. Employee extends Person • deptName: String • numEmployees: static int • employeeID: int //generated • Employee() // deptName = “”, employeeID computed • Employee(String deptName) // employeeID computed • Employee(String name, int birthYear, String deptName) // employeeID computed • getDeptName(): String • static getNumEmployees(): int • getEmployeeID(): int • setDeptName(String deptName): void • equals(Object obj): boolean //all attributes inherited+local must match for 2 Employee objects to be considered equal • toString(): String //” Employee: Department: %20s | Employee Number: %3d”, deptName, employeeID • compareTo(Person p): int //use the Comparable interface specification. Sort by employeeID Faculty extends Employee • coursesTaught: Course[ ] // you can assume that the maximum number of courses a faculty has // taught cannot exceed 100 • numCoursesTaught: int //controlled variable • isTenured: boolean • Faculty() // coursesTaught = [], numCoursesTaught = 0, isTenured = false • Faculty(boolean isTenured) // coursesTaught = [], numCoursesTaught = 0, this.isTenured = isTenured • Faculty(String deptName, boolean isTenured) • Faculty(String name, int birthYear, String deptName, boolean isTenured) • isTenured():boolean • getNumCoursesTaught(): int • setIsTenured(boolean isTenured): void • addCourseTaught(Course course): void //appends course to the end of the existing array • addCoursesTaught(Course [] course): void //appends courses to the end of the existing array • getCourseTaught(int index): Course // note: index must be verified. Return “null” if invalid • getCourseTaughtAsString(int index): String // note: index must be verified. Return “” if invalid // returns “courseDept-courseNum” • getAllCoursesTaughtAsString(): String // comma separated list of all courses taught // uses getCourseTaughtAsString(int index) as a helper method • equals(Object obj): boolean //all attributes inherited+local must match for 2 Faculty objects to be considered equal • toString(): String //” Faculty: %11s | Number of Courses Taught: %3d | Courses Taught: %s”, Is Tenured/Not Tenured , numCoursesTaught, getAllCoursesTaughtAsString() • compareTo(Person p): int // use the Comparable interface specification, sort by // numCoursesTaught GeneralStaff: extends Employee • duty: String • GeneralStaff() // duty = “” • GeneralStaff(String duty) • GeneralStaff(String deptName, String duty) • GeneralStaff(String name, int birthYear, String deptName, String duty) • getDuty(): String • equals(Object obj): boolean //all attributes inherited+local must match for 2 Staff objects to be considered equal • toString(): String //” GeneralStaff: Duty: %10s”, duty Note: do not override the inherited compareTo from the Employee class (use as is) Student: extends Person • numStudents: static int • studentID: int //generated • coursesTaken: Course[ ] //initialize to length of 50 • numCoursesTaken: int //controlled variable • isGraduate: boolean • major:String //”undeclared” default value • Student() // / coursesTaken = [], numCoursesTaken = 0, isGraduate = false • Student(boolean isGraduate) • Student(String major, boolean isGraduate) • Student(String name, int birthYear, String major, boolean isGraduate) • isGraduate():boolean • getNumCoursesTaken(): int • static getNumStudents(): int • getStudentID(): int • getMajor(): String • setIsGraduate(boolean isGraduate): void • setMajor(String major):void • addCourseTaken(Course course): void //appends course to the end of the existing array • addCoursesTaken(Course [] course): void //appends courses to the end of the existing array • getCourseTaken(int index): Course // note: index must be verified. Return “null” if invalid • getCourseTakenAsString(int index): String // note: index must be verified. Return “” if invalid // returns “courseDept-courseNum” • getAllCoursesTakenAsString(): String // comma separated list of all courses taught // uses getCourseTakenAsString(int index) as a helper method • equals(Object obj): boolean //all attributes inherited+local must match for 2 Student objects to be considered equal • toString(): String //” Student: studentID: %04d | Major %20s | %14s | Number of Courses Taken: %3d | Courses Taken: %s”, studentID, major, Graduate/Undergraduate, numCoursesTaken, getAllCoursesTakenAsString() • compareTo(Person p): int //use the Comparable interface specification, sort by numCredits OBJECTIVES & GRADING RUBRIC: To earn a grade, the project video must be submitted as described in the submission instructions below. 4. (5 pts) Course class completed as per UML and passes zybook test cases 5. (5 pts) Person class completed as per UML and passes zybook test cases 6. (5 pts) Employee class completed as per UML and passes zybook test cases 7. (5 pts) GeneralStaff class completed as per UML and passes zybook test cases 8. (10 pts) Faculty class completed as per UML and passes zybook test cases 9. (10 pts) Student class completed as per UML and passes zybook test cases 10. (5 pts) Fields of all classes completed as per UML and confirmed via zybook test cases 11. (5 pts) Read from file (the path and filename should be “SchoolDB_Initial.txt”) 12. (5 pts) Display the plain text file content on the console 13. (5 pts) Create the Objects as specified from the file content 14. (5 pts) Using the toString() method of each object, display all the objects to the console in the following order (See sample output below): • All Course objects • All Person objects • All Employee objects • All GeneralStaff objects • All Faculty objects • All Student objects 15. (25 pts) Create a menu that will interact with the user and do the following: a. (3 pts) Create 3 new Course objects based on input b. (3 pts) Create 3 new Faculty objects based on input c. (3 pts) Create 3 new GeneralStaff objects based on input d. (3 pts) Create 3 new Student objects based on input e. (2 pts) Add 2 new Courses to a Faculty object f. (2 pts) Add 2 new Courses to a Student object g. (1 pts) Add an array of 2 Courses to a Faculty object h. (1 pts) Add an array of 2 Courses to a Student object i. (1 pts) Get the Course at index (valid and invalid indexes) from a Faculty object j. (1 pts) Get the Course at index (valid and invalid indexes) from a Student object k. (1 pts) Allow the user to select a Faculty object and a Course object from menus and query the Faculty object for the Course to determine whether the Faculty object teaches it or not. l. (1 pts) Determine which Faculty object teaches the most and the least courses. m. (1 pts) Determine which Course is the minimum of all Course objects in the catalog. n. (1 pts) Determine which Course is the maximum of all Course objects in the catalog. o. (1 pts) Determine which Student has the most and least credits. 16. (5 pts) Display all the Objects using toString on the console (this includes existing plus recently added) 17. (5 pts) Write all of the Object details to a plain text output file using the same format as the input file SUBMISSION INSTRUCTIONS: 18. Submit your source code to zybook for grading using the test cases that have been provided for the project. (65 points) 19. Record a 5-10 minute video of the project running through the steps to demonstrate the functionality as you explain it. (35 points) Explain the code in depth and cover all points from the rubric in order. 20. Upload your video to youtube and provide the link as a comment in your code at the top of the Driver_SchoolDB java file. (The visibility of your video must NOT be private. It CAN be unlisted) NOTE: Video explanation and code must both be submitted by the deadline to earn credit, even if the program is not fully functional. INITIAL FILE CONTENT FORMAT: Note: Can be downloaded from zybook without the comments shown below Course: true, 771, MAT, 4 // Graduate course, MAT-771 with 4 credits Faculty: // default Faculty object, no attributes set Faculty: true // Faculty object, isTenured = true Faculty: MAT,false // Faculty object, isTenured = false, deptName = MAT Faculty: Superman,1938,PHY,true // Faculty object, all attributes set, not courses Student: // default Student object, no attributes set Student: false // default Student object, isGraduate = false Student: Math,false // default Student object, major = Math, isGraduate = false Student: Wonderwoman,1941,JST,true //Student object, all attributes set, not courses GeneralStaff: // default
Mar 18, 2023
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here