1.
Título
Mejora la calidad de tus
programas en Java
2.
Resumen
En este proyecto realizaremos
tareas colaborativas para detectar puntos débiles en código en lenguaje de programación Java
realizado por nosotros y por otros miembros del proyecto, proponiendo mejoras, para lograr al finalizar el proyecto
ser mejores programadores y que nuestro software tenga más calidad.
3.
Objetivos
Programar en muchos aspectos es
como escribir “a mano”; cada uno tiene su propia letra, siendo más o menos
fácil de entender, con más o menos errores sintácticos y gramaticales, etc. El
objetivo de este proyecto es mejorar ese aspecto del desarrollo de software:
hacer conscientes a los alumnos participantes de la dificultad que supone
interpretar su código por otras personas, de las debilidades de sus programas,
de lo importante que es la documentación, etc. Al final del proyecto
desarrollarán código más fácil de entender, mejor documentado y con menos errores.
4.
Proceso de trabajo
Como primera fase del proyecto,
el profesor mostraría a los alumnos código con distintos problemas en tres
ámbitos:
-
Codificación confusa
de forma que no sea fácil de interpretar qué hace o
pretende hacer el programa
-
Malfuncionamiento en algunos
casos concretos, en excepciones.
-
Mal documentado o simplemente
sin documentación.
Los alumnos
deberán:
-
Interpretar que pretende
hacer ese programa
-
Probar el programa, detectar
y corregir errores con herramientas como JUnit
-
Refactorización (mejorar) del
código para que sea más claro.
-
Generar una documentación
adecuada con herramientas como JavaDoc
La segunda fase de trabajo sería
entre pares, y consistiría en que cada alumno crease programas inventados, con características
similares a los entregados por el profesor en la fase anterior y se lo
entregase a compañeros para hacer el análisis y mejora.
A su vez, cada alumno recibiría
programas de otros compañeros para su análisis.
Quizás se podría implementar
algún sistema de baremación o métricas del nivel de calidad del software
entregado.
La tercera fase sería analizar y
poner en común los puntos débiles encontrados por cada alumno y mejoras
propuestas. Se podría hacer un documento de estilo o buenas prácticas con las
conclusiones obtenidas.
5.
Resultados esperados
1.- Que los alumnos tomen conciencia de la importancia de la
calidad del software que desarrollen
2.- Que conozcan mejor sus propios puntos débiles y fuertes.
3.- Que tomen conciencia de la importancia de una buena fase
de pruebas del software
4.- Que tomen conciencia de la importancia de una buena
documentación del software
5.- Que mejore su calidad como programadores.
Ficha
Rango de Edad
|
>=17 (Ciclo Superior Informática)
|
Número de socios
|
2 ó más.
|
Areas
|
Desarrollo de software
Calidad de software
Herramientas de desarrollo
|
Idiomas
|
Inglés
|
Inspiración
|
Ningún proyecto en concreto, ideas sueltas
en general
|
Notas / Dudas
Obtener buenos ejemplos (significativos) para la fase 1.
La fase dos es más autónoma y creativa para los alumnos: hay
que ofrecer apoyo y seguimiento
¿Cómo hacer las tareas divertidas y motivantes?
¿Herramientas y formato empleado para instrumentalizar todo
esto?
Actividades previas que
sirvan de formación: kahoots sobre Junit, JavaDoc, trozos de código…
Difusión del proyecto ¿cómo?