Boceto de proyecto


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?