This bachelor thesis focuses on designing and implementing an expandable software application with a user interface for interacting with various neural network models. The software will serve as a framework where different neural networks for visualization or prediction can be integrated, without explicitly focusing on the networks themselves.
You will begin with a requirement analysis phase, identifying core functionalities and establishing extensibility requirements for the system. Following this, you will design a modular architecture with clear interface definitions that separate UI from integration logic. The implementation phase will involve developing a responsive user interface with appropriate visualization components and user controls, alongside creating adapter patterns for different neural network input/output data types. Throughout development, you will write comprehensive tests. The final deliverable will include full documentation of the architecture, a developer guide for extending the framework, and a demonstration of at least two different neural network integrations. The entire process should emphasize clean architecture, maintainability, and user experience.
- Knowledge of software architecture patterns is beneficial.
- Understanding of user interface design principles.
- Awareness of software testing methodologies.
- Interest in model deployment concepts is beneficial.
- Proficiency in at least one UI framework (React, Qt, Flutter).
- Experience with a programming language suitable for UI development.
- Knowledge of version control systems.
- Understanding of API design principles is beneficial.
Familiarity with automated testing tools.
Basic knowledge of neural network frameworks for integration purposes.
Sebastian Baum
♦