System Architecture
MatriculaUniPoo is a Java Swing desktop application built using a two-tier architecture pattern, separating the presentation layer (GUI) from the business logic layer.Architecture Layers
The application follows a clear separation of concerns between the user interface and business logic, making it maintainable and scalable.
Package Structure
The application is organized into two main packages:igu Package
Contains all GUI components and user interface frames
logica Package
Houses business logic classes and data models
Directory Layout
Application Flow
The application follows a sequential screen flow for student registration and course enrollment:Student Registration
Students enter their personal information (name, apellido, DNI, and password) in the
Registrar frameEntry Point
The application starts from theMain class in the logica package:
logica/Main.java
The
setLocationRelativeTo(null) method centers the window on the screen.Navigation Pattern
The application uses a frame-switching navigation pattern where screens are hidden and shown rather than created and destroyed:Why This Pattern?
Why This Pattern?
This navigation approach maintains state across screens and provides smooth transitions. Each frame holds references to related frames and uses setter methods to maintain bidirectional navigation.
Key Architectural Patterns
1. MVC-Inspired Separation
- Model
- View
- Controller
The
Alumno and Cursos classes in the logica package represent the data models with getters and setters for all properties.2. Frame Reference Management
Each frame maintains references to related frames for navigation:igu/Registrar.java
3. Data Passing Between Frames
Student credentials are passed from registration to login using constructor parameters:igu/Registrar.java:207
Color Scheme
The application uses a consistent color palette across all screens:| Component | Color | RGB Value |
|---|---|---|
| Primary Background | Dark Teal | 0, 68, 68 |
| Secondary Background | Teal | 0, 153, 153 |
| Text | White | 255, 255, 255 |
| Input Text | Black | 0, 0, 0 |
| Accent | Light Cyan | 0, 204, 204 |
The consistent color scheme provides a professional and cohesive user experience throughout the application.
Technology Stack
- Language: Java
- GUI Framework: Java Swing
- Layout Managers:
AbsoluteLayout(NetBeans lib.awtextra)GroupLayout
- IDE: NetBeans (evidenced by auto-generated GUI code)
- Data Structures:
ArrayListfor course management - UI Components:
JFrame,JPanel,JButtonJTextField,JPasswordFieldJLabel,JSeparatorJComboBox,JTableDefaultTableModel
Next Steps
GUI Components
Explore detailed documentation of all user interface components
Data Models
Learn about the Alumno and Cursos class structures