Objective : Show the ability to prepare the complex Java application using Graphical User Interfaces.
This project is for designing and developing a College Registration program. prepare the Java program to register students for the college. Each student record would have name, address and courses fields. Students could enroll to multiple courses. Execute the interface class RegisterStudent. RegisterStudent interface class must have a method, public boolean register(), that returns a boolean value (either true or false) based on whether student is successfully registered to a course, or not. Graduate students could only register for graduate level courses, with the maximum course load of 6 credit hours, while undergraduate students could only register for undergraduate level courses with a maximum course load of 12 credit hours. Courses have a course number, credit hours and a minimum and maximum enrollment criteria as min enrollment=0 and max enrollment=30).
Your program must graphically display a sorted list of courses a student is enrolled and/or a roster for each course. A roster is a list of students enrolled in a particular course and is sorted by last name. Show the correct execution of your program by creating a driver program to load a student database and a course database which is generated by your project group.
While running code, choose students from the database records you provide and try to register them for courses. Once you enroll students to courses, arbitrarily request report for a student and/or for a course.
IMPORTANT: Please ensure to develop a GUI based Java program that:
• Have appropriate structures to support enrollment of a new student.
• Enrolls existing student(s) to particular course(es).
• Satisfies Undergraduate/Graduate enrollment criteria.
• Design the student and course databases such that they conform to project specifications also, the students might not register in any other courses apart from those in the Course Database.
• At any point of time the user should be able to view student or course details sorted in the required format.
Feel free to use any JAVA programming features you have learned, where you think is essential : arrays, methods, menus, files, etc.
Give explanatory documentation in the code so as to make it understandable.
Use GUI based user input/output for all displays and take everything specifically required into consideration. You might make assumptions for things which are not specified particularly in the project description. Document your assumptions along with your error handling mechanisms.