Proyecto 1: Profesionaliza tu proyecto Java¶
Objetivo¶
Aplicar herramientas y prácticas profesionales del desarrollo de software sobre un proyecto Java ya desarrollado en el módulo de Programación o uno que yo os proveeré. El objetivo no es modificar la funcionalidad, sino estructurar, documentar, versionar y testear el proyecto como si fuera software profesional.
Tareas a realizar¶
Tu trabajo consistirá en preparar el entorno del proyecto Java aplicando los siguientes aspectos:
1. Control de versiones con Git¶
- Crear un repositorio en GitHub (puede ser privado o público, aunque si es privado deberás invitarme al mismo).
- Subir correctamente el proyecto Java al repositorio, con estructura clara:
- Aplicar una estrategia de ramas, como mínimo:
main: versión estable.dev: desarrollo activo.feature/<nombre>: ramas para mejoras o tareas.
- Realizar al menos 5 commits significativos con mensajes descriptivos (no usar "subida", "commit 1", etc.).
- Crear un
.gitignoreque excluya archivos de compilación, temporales o IDEs.
2. README.md en Markdown¶
- Crear un archivo
README.mden la raíz del repositorio con:- Nombre del proyecto.
- Breve descripción funcional.
- Requisitos para compilar y ejecutar.
- Instrucciones de uso.
- Autoría y licencia.
3. Documentación técnica con Javadoc¶
- Comentar las clases y sus métodos públicos usando la sintaxis estándar de Javadoc:
- Generar la documentación HTML con Javadoc y colocarla en la carpeta
/docs/.
4. Testing automático con JUnit¶
- Añadir al proyecto al menos 2 clases de test JUnit en el paquete
/test. - Crear métodos de prueba para comprobar el funcionamiento de los métodos principales (casos positivos y negativos).
- Usar anotaciones como
@Test,@BeforeEach,@AfterEach.
Ejemplo básico:
5. Gestión de dependencias con Maven o Gradle¶
- Convertir el proyecto Java en un proyecto gestionado por Maven o Gradle:
- Si usas Maven, incluir un
pom.xml. - Si usas Gradle, incluir un
build.gradle.
- Si usas Maven, incluir un
- Declarar como mínimo las dependencias necesarias para:
- JUnit 5.
- Cualquier otra librería adicional que uses (opcional).
Entregables¶
- Enlace al repositorio con:
- Estructura clara de carpetas.
- README.md completo.
- Código Java documentado con Javadoc.
- Estructura de proyecto con Maven o Gradle.
- Carpeta
docs/con la documentación HTML generada. - Carpeta
test/con pruebas JUnit funcionales. - Historial de commits y ramas en Git.
Rúbrica de evaluación (EDD)¶
| Criterio | Puntos |
|---|---|
| Uso correcto de Git y estructura del repositorio | 2 |
| Commits claros y estrategia de ramas | 2 |
| README en Markdown bien elaborado | 1 |
Documentación con Javadoc y carpeta /docs/ |
1 |
| Pruebas unitarias con JUnit | 2 |
| Configuración de Maven o Gradle funcional | 2 |
| Total | 10 |