NSBM Green University (NSBM) requests you to design a course enrollment system. The NSBM enrollment system is expected to store and maintain enrollment activities and records for all students in three faculties: School of Business, School of Computing and School of Engineering.;
NSBM accepts two intakes every year, one occurs in February and the other is in July. All faculties provide a number of Bachelor and Master Courses. The Bachelor course normally takes three years to complete for Business and Computing, except Engineering Bachelor course requires four years. But based on students’ performance of the first two years, a selected number of students will be able to follow four year degree course under Business and Computing faculties. All master courses take students two years to finish all requirements. Every year, Students will have two semesters. Each semester, a full-time student with 100% study load needs to take four subjects. The subject carries 2 or 3 credits. That is, for a three-year Bachelor course, students should complete 30 credits in each year; for a four-year Bachelor course, students will complete 32 credits in each year. A master course requires students to complete 24 credits in each year.;
When a new student is coming to NSBM, some basic information will be collected and stored. Undergraduate students need to provide previous education records such as A/L result, rank, etc. For postgraduate students need to provide previous education records including qualification type, institute, year of completion etc.;
Once a student enrolls in a course in February, he or she needs to select at most four subjects for Semester 1 and another four subjects for Semester 2. Students are allowed to change their subjects four weeks before every semester starts. If a student enrolls in July, when he or she only needs to select four subjects for Semester 2. Re-enrollment for both semesters will be opened next year. Once students successfully enroll into the required subjects, he or she will be given a list of the enrolled subjects and fees to pay for the coming semester. The payment is requested for one semester, up to four subjects at most. Each subject will charge from Rs. 2500 to Rs.4000 accordingly.;
The subjects are recorded by subject code and subject name. A subject will be taught by one lecturer and one or more instructors. According to the number of the enrolled students, one or more labs will be offered in one subject. Each lab will be taken by instructors. Each lab has a capability to have at most 40 students. The teaching allocation of all lectures and instructors will be saved in each semester. Their basic information and their class allocation information (including subjects to teach, room, location, etc.) are collected as well. All students will take lecture at the same time, but labs may not start from the same time. According to different subjects, a lecture lasts for one to two hours; and a lab takes two hours.;
Each subject requires students to finish a number of assignments, reports, in-class assignments and examinations. Practical subjects consist of a number of lab assignments, practical demonstrations, project and examinations. The results of all the assessments will be recorded. Grades will be granted based on the final results. All the students will receive a report of their results of the enrolled subjects three weeks after the examination via their university email.;
Implementation
ER Diagram
How to Install the System
Need Java 9 for Running this Software.
First Run the Migration (For Create the Database Tables and Table Data)
Then Run the Main Script for run the System
Folder Structure of the System
├──src
├── nsbm
│ ├── Controller
├── ConnectionManager.java # Database Configuration File
│ ├── Model # All Model Classes Stored Here
│ ├── Resources # Resources need for get System Running
│ ├── css # Css Files
│ ├── db # Database files
│ ├── migrations # All Migration Files
│ ├── **.*.sql # Sql Files to creating the Database and Tables
│ ├── migrate.java # Running this will create tables and it's Data alone
│ ├── Scriptrunner.java # External Library
│ ├── icons # Icons used for Interfaces
│ ├── img # Images Used for Interfaces
│ ├── view # All Interface xml Files
│ └── Main.java # Main Driver Programme Script
└── .gitignore