$25
Learning objective:
To use create a system in which you design classes and their interaction.
Assignment: In this assignment you are going to complete the system to keep track of students, the courses they take, and the grades they make. Reuse the classes from Assignments 6 and 7 as much as possible. Turn in one or more Sequence Diagrams for the main actions of the system. If your diagrams are electronic, submit them by WebCT. If you want you may draw the diagrams by hand. In that case turn them in to me. If I'm not in you may put them under the door, but DO NOT leave them in the plastic bin next to the door. The new class Registrar maintains the list of all courses offered (it stores Course objects), a list of all students (it stores Student objects) eligible to enroll in courses, and a list of all faculty (it stores Faculty objects). The class Registrar must be able to assign a faculty member to a course and enroll a student in a course. If the student name is not in the list of students or the course name is not in the list of courses, an error message is printed indicating precisely what problem was encountered. The class Registrar must be able to display a list of all courses currently offered and a list of all students enrolled at the institution. Given a course name, Registrar must be able to list all of the students in the course and the faculty member teaching the course. Given the name of a student, Registrar must be able to list all of the courses that the student is enrolled in and the student's GPA. Given the name of a faculty member, Registrar must be able to list all of the courses that the faculty member is teaching and the number of students in those courses. Given a course name, student name and grade, Registrar must be able to assign that student that grade in that course. Again appropriate messages must be produced in case of errors. The classes from Assignments 6 and 7 should retain as much of the functionality as they can from those assignments. In Assignment 7 the number of students that a faculty member has in a course was entered directly. Now it should be computed from the other information available. The class Test executes Registrar. It ends by displaying all courses with students' names and grades (Grade report by Course), and all students with the courses they took and their grades (Grade Report by Student). Policies: The policies given on WebCT are in effect for this and all assignments. You may submit on WebCT multiple times, so there is no excuse for not submitting partial solutions