Assignment - Class Management System
Project Details:
In this assignment, students will develop a form based front end for a class management system and a database using a combination of JDBC commands, SQL, and Swing GUI components to allow users to query, insert, update and delete records using a simple graphical user interface. The basic system is composed of three linked tables: a student table, a class table, and a lecture table. The relational schema of these tables is shown below:
The system will support the addition, modification and deletion of students, lectures and classes, as well as support different types of queries on a variety of different database fields, such as: who are the students of a given lecturer.
Part A - Basic Requirements:
The basic requirements of this assignment are to implement the database front end using Java swing as discussed above. In particular, forms should be developed to cater for the following types of data entry, and queries:
Student Records:
• Add new student records;
• Modify existing student records;
• Delete existing student records;
• Find a student record: by name, and by mobile.
Class Records:
• Add new class records;
• Modify existing class records;
• Delete existing class records;
• Find a class record: by unit code, and by unit name.
It is expected that the add and modify record interfaces will be similar, as will the find and delete interfaces so it might be an idea to make the different functionalities available under the same interface. For example, the add/modify interface will allow both insert and update operations and the find/delete interface will allow queries and deletes. Access to these form interfaces should be made available from a main form, through which users can activate the different functionalities of the program such as add, update, delete, find, check out video, and check in video.
To facilitate ease of use students should select the most appropriate interface components when designing forms. For example, the add record interface might be entirely composed of JTextField components and
JButtons. Finally, a batch database creation procedure should be developed to create the initial system tables on the database side and to also insert a series of basic student, class and lecturer records. This procedure should also be available from the main form.
Part B - Extensions:
Basic implementation of the assignment requirements will result in only a passing grade or credit result. To get a distinction or high distinction mark several extensions are possible and include:
1) Extend the system so that it is accessible across the network using a 3-tier model,
2) Logon/password system,
3) Validation code: make sure nonsense data cannot be entered into the database,
4) Report generation options,
5) Printing options,
6) Backup of records to text files.
To get a distinction mark students are required to complete at least 3 solid extensions and to get a high distinction students are required to complete at least 5 solid extensions. Final marks depend on the quality, creativity, difficulty and implementation of these extensions.