CS 1102-01 - AY2025-T1 Programming Assignment Unit 7
CS 1102-01 - AY2025-T1 Programming Assignment Unit 7
Overview
This document outlines the development of a GUI application for a Student Management
System (SMS). The SMS is designed to provide administrators with an intuitive interface for
managing student records, course enrollment, and grades. The application will utilize JavaFX,
leveraging its robust features to create a responsive and interactive user interface.
GUI Design
User Interface Components
The GUI will include the following components:
Labels: For displaying information about each field.
Text Fields: For entering student information such as name, ID, and course.
Buttons: For performing actions like adding, updating, and viewing student records.
Tables: For displaying lists of students, courses, and grades.
Dropdown Menus: For selecting students and courses during enrollment and grading
processes.
Selecting Students
Administrators can select a student from the list and enroll them in the chosen course
with a button click.
Viewing Grades
A list of courses and their corresponding grades will be displayed for each student,
allowing for easy grade management.
Error Handling
Robust error handling mechanisms will be implemented:
Informative error messages will be displayed for invalid inputs.
Dialog boxes will guide administrators in case of operational failures, ensuring a
smooth user experience.
Documentation
Comprehensive documentation will be provided, covering:
The purpose and functionality of each GUI component.
Instructions for running the program and interacting with the interface.
Design choices and rationales for each element within the GUI.
Conclusion
This GUI application for the Student Management System will enhance administrative
efficiency through a user-friendly interface, robust error handling, and dynamic updates. The
application will be developed using JavaFX, ensuring a modern and interactive user
experience.
Program Code
package com.studentmanagement.view;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;