Examen_POO_Grupo
Estudiantes:
- Edmundo Xavier Zea Guayllas
- Kent Steven Pereddo Torres
- Stefani Nicole Mendoza Cusme
- Emerson Steven Pujota Gualavisi
Universidad: Universidad Politécnica Salesiana (UPS)
Materia: Programación Orientada a Objetos
Descripción del Proyecto
Este proyecto fue desarrollado como parte de la asignatura Programación Orientada a
Objetos. Consiste en una aplicación implementada en Java utilizando el patrón de diseño
Modelo-Vista-Controlador (MVC) para garantizar una adecuada separación de
responsabilidades y facilitar el mantenimiento del código.
El objetivo principal es aplicar los conceptos fundamentales de la Programación Orientada a
Objetos, el manejo de excepciones, la gestión de archivos, las pruebas unitarias y las buenas
prácticas de desarrollo de software.
Objetivos
Aplicar correctamente los principios de Programación Orientada a Objetos.
Implementar una arquitectura basada en el patrón MVC.
Gestionar excepciones de forma robusta.
Utilizar archivos para almacenamiento y recuperación de información.
Aplicar principios de código limpio.
Realizar pruebas unitarias siguiendo conceptos de TDD.
Mantener documentación adecuada del proyecto.
Tecnologías Utilizadas
- Java
- Eclipse IDE
- Git
- GitHub
Arquitectura MVC
El sistema está organizado siguiendo el patrón Modelo-Vista-Controlador:
Modelo (Model)
Responsable de:
Gestionar los datos del sistema.
Implementar la lógica de negocio.
Realizar operaciones con archivos.
Administrar entidades del proyecto.
(View)
Responsable de:
- Mostrar la información al usuario.
- Gestionar la interacción con el usuario.
- Presentar los resultados de las operaciones.
Controlador (Controller)
Responsable de:
- Recibir solicitudes de la vista.
- Coordinar las operaciones del modelo.
- Controlar el flujo de ejecución del sistema.
Implementación de Conceptos POO
Durante el desarrollo se aplicaron los siguientes conceptos:
- Clases y objetos.
- ncapsulamiento.
- Constructores.
- Métodos.
- Herencia (si aplica).
- Polimorfismo (si aplica).
- Abstracción.
- Separación de responsabilidades.
Manejo de Excepciones
El sistema incorpora manejo de errores mediante excepciones para evitar fallos inesperados.
Ejemplos:
- Validación de datos de entrada.
- Manejo de errores de lectura y escritura de archivos.
- Control de operaciones inválidas.
- Captura y tratamiento de excepciones personalizadas.
Gestión de Archivos
Se implementó almacenamiento mediante archivos para garantizar la persistencia de información.
Funciones principales:
- Lectura de datos.
- Escritura de datos.
- Actualización de información.
- Recuperación de registros almacenados.
Calidad de Código
Se aplicaron principios de código limpio:
- Nombres descriptivos.
- Métodos con responsabilidad única.
- Organización por paquetes.
- Comentarios donde fue necesario.
- Estructura modular.
- Código legible y mantenible.
Pruebas Unitarias y TDD
Se realizaron pruebas para verificar el correcto funcionamiento de los componentes principales del sistema.
Aspectos evaluados:
- Validación de entradas.
- Funcionalidad de las clases.
- Comportamiento esperado de métodos críticos.
- Manejo correcto de excepciones.
Estructura del Proyecto
src/
│
├── model/
├── view/
├── controller/
├── exceptions/
├── files/
└── tests/
Instrucciones de Ejecución
Clonar el repositorio.
Abrir el proyecto en Eclipse.
Importar como proyecto Java existente.
Ejecutar la clase principal del sistema.
Utilizar el menú o interfaz disponible para interactuar con la aplicación.
Repositorio GitHub
El control de versiones se realizó utilizando Git y GitHub.
Funciones utilizadas:
Commits periódicos.
Seguimiento de cambios.
Gestión de versiones.
Trabajo colaborativo mediante repositorio remoto.
Conclusiones
Este proyecto permitió aplicar de manera práctica los conceptos de Programación Orientada a
Objetos, el patrón MVC, el manejo de excepciones, la gestión de archivos y las buenas
prácticas de desarrollo de software. Además, fortaleció el uso de herramientas profesionales
como Git y GitHub para el control de versiones y la documentación técnica de proyectos