JAssign is a Java-based application to assign students to topics of a university course according to their individual preferences used for ranking these
topics. Interaction with the program can be conducted over a graphical user
interface based on Swing which allows importing, exporting or modifying
the data and setting constraints for the optimization process. This bachelor
thesis documents the architecture and main functionality of the application.
It also provides a basic description of Java 's Swing toolkit.
Table of Contents
1 Project description of JAssign
1.1 Introduction
1.2 System specifications
1.3 Available legacy systems and resources
1.4 Project schedule
1.5 Project Milestones
1.6 Structured plan
2 Creation of a GUI with Java / Swing
2.1 Basic description of Swing
2.2 Commonly used widgets
3 Implementation
3.1 The class structure of JAssign
3.2 External libraries used
3.3 The datatype package
3.4 The functions package
3.5 The optimization package
3.6 The user interface
4 Conclusion
5 Appendix
5.1 The optimization model used
Objectives and Research Focus
The objective of this thesis is the development of a standalone Java application named JAssign, designed to automate the assignment of students to university course projects based on individual student preferences. The research addresses the complexity of manual group formation by utilizing linear optimization algorithms within a user-friendly graphical interface.
- Architectural design of a standalone Java/Swing-based optimization tool.
- Implementation of linear programming to solve student-to-project assignment problems.
- Creation of an intuitive GUI for data import, settings management, and visualization of results.
- Integration of external libraries such as lp_solve for optimization and iText for reporting.
Excerpt from the Book
1.1 Introduction
In some university courses several topics exist for the participants to choose from. Almost certainly, if the number of topics is smaller than the number of participating students, problems about matching each student with a topic will arise. If students are given the possibility to rank the available topics freely by assigning numerical preferences and working in groups is also permitted or even mandatory, the process of assigning is prone to lead to a clash of interests. The possibility of randomly assigning the participants is likely to yield even less satisfactory results and will ignore the individual preferences. Additionally, if upper and lower boundaries for the number of students in each group exist, the question of allocation becomes even more complex. The process of group-building and assigning the participants to different projects with an emphasis on their preference can be done manually with the help of pen and paper, which is a tedious and time-consuming task and makes the use of an application to solve this problem reasonable. Strictly mathematically speaking this is a problem of linear optimization which can be solved efficiently following known algorithms. The aim of this project is the development of a Java application with a graphical user interface, based on the Swing toolkit distributed with Java, that provides the functionality to assign students to groups according to their preferences.
Summary of Chapters
1 Project description of JAssign: Outlines the problem of manual student-to-project allocation and sets the project goal to develop a Java-based desktop application as a solution.
2 Creation of a GUI with Java / Swing: Provides a technical overview of the Java Foundation Classes (Swing) used to build the application's graphical user interface and its core components.
3 Implementation: Details the internal class structure, the utilization of external libraries like lp_solve and iText, and the specific packages created for data handling and optimization.
4 Conclusion: Summarizes the project's success in automating the assignment process and confirms the application's platform independence.
5 Appendix: Presents the in-depth mathematical model of the optimization process, including variables, parameters, and constraints.
Keywords
Java, Swing, GUI, linear optimization, student allocation, project assignment, lp_solve, data model, user interface, software architecture, JAssign, constraints, optimization model, desktop application.
Frequently Asked Questions
What is the core purpose of this work?
The work focuses on replacing tedious manual student-to-project assignment processes in university courses with an automated software solution.
What are the central fields of study?
The core fields are software engineering with Java/Swing and operations research, specifically linear optimization.
What is the primary research goal?
To develop a standalone, user-friendly Java application that solves complex assignment problems efficiently.
Which scientific methods are applied?
The application implements linear programming using the Branch-and-bound method to find optimal student assignments.
What is covered in the main section?
The main section describes the architecture, the class structure, the GUI design, and the integration of third-party libraries for optimization and PDF export.
Which keywords best characterize this work?
Java, Swing, GUI, linear optimization, and student allocation are the most essential terms.
How does the application manage data?
It uses a custom Java data model for handling students, projects, and preferences, as a full-scale external database was deemed outside the scope for a standalone tool.
Why was Swing chosen for the GUI?
Swing was chosen because it is the standard toolkit provided with Java, facilitating a platform-independent and robust user interface.
How are assignments optimized?
The application maps the assignment problem into a mathematical model solved by the external lp_solve library.
Can the system handle special constraints?
Yes, the optimization model supports categories, group boundaries, and specific constraints like individual projects or empty projects.
- Arbeit zitieren
- MSc Markus Moser (Autor:in), 2008, Implementierung einer GUI-Applikation zur optimalen Zuordnung von Studenten mittels Java/Swing , München, GRIN Verlag, https://www.hausarbeiten.de/document/166912