Uploaded by Sjdjdj Jxjdjdj

OOP PROJECT STUDENT INFORMATION SYSTEM

advertisement
OOP PROJECT: STUDENT INFORMATION SYSTEM
The focus of this project is to build a system that allows students to catalog and access their
own information (in regards to an university program).
The system should have a log-in system ( file-based log-in or database ) which allows two
kinds of users:
-
A Student user who has access to his own data only.
A Test user who has full access to all of the students, can change or remove or even add
new students.
The Student has a profile with information ranging from personal (Name, Last Name, Birthday,
Birthplace, Parents’ Full Names) to study-related, including their student ID (unique identifier),
course, current year and semester, registration date, status (whether they are still taking
courses or have been held back, or if they have graduated) and CGPA.
They should have access to a transcript page which should be downloadable into a file,
including their personal information as well as all of their evaluations from all of their courses,
with the associated course name, code and credits. They should also have a CGPA value,
which should be calculated and updated every time a final grade is entered into the system.
The student has access to the Course page, which contains all information about a course. The
professor, the syllabus, as well as the grades received during that course. The final grade
(which is added into the transcript) for a course is calculated automatically from the grades
and weights entered in (you multiply the grade and the weight and add all of them together).
A student should have access to a list of current courses and a list of old courses. Students
should be able to remove current courses (which do not have a finalized grade) that they have
taken. Courses come in three categories: compulsory, non-technical elective and technical
elective.
A semester has a limit of compulsory, non technical and technical elective courses (e.g 3
compulsory, 1 technical elective, 1 non technical elective). A student cannot take courses
beyond this limit (and the system should not allow them to select more than this amount of
courses.
A student can take up to 2 courses they already have a grade for (retake courses) on top of
their per-semester requirements. Keep in mind that even if they get a grade for this course, it will
NOT overwrite their prior grade in the transcript, but it WILL be calculated in the CGPA (so the
new grade replaces the old one in the CGPA calculation. Hint: Use unique Course Codes).
Keep in mind to use all of the below concepts in your code:
-
Inheritance
Polymorphism
Abstract Classes
Interfaces
Exception Handling
File Handling (.txt and binary)
JavaFX elements
Anonymous Inner Classes (for event handling)
MVC paradigm (Only if we manage to study it within the course time)
Download