Con el objetivo de guiarlos en el desarrollo de un proyecto excelente, confeccionamos la siguiente lista de "puntos deseables" para cada una de las instancias finales del proyecto.
Los componentes que se evalúan en el proyecto son:
- Documentación
- Base de código
- Presentación oral primer hito
- Presentación oral final
- Demo
- Ejecución de proyecto
- Documentación
- La documentación incluye una introducción clara al problema, suficiente sin un contexto anterior. Se describen antecedentes suficientes
- Los objetivos del proyecto están explicados claramente, y coinciden con los objetivos expresados en la especificación detallada. En caso de existir diferencias, están debidamente justificadas
- El alcance del proyecto queda claro, sin ambigüedades respecto a lo que cubre y a lo que no cubre
- El sistema está descrito de forma detallada
- Descripción de software
- Arquitectura general
- Descripción de módulos, y arquitectura individual de los módulos más notables. Idealmente se debe hacer uso de diagramas de bloques.
- En caso de utilizarse, máquinas de estados y diagramas de transición de estados
- En caso de existir una interacción compleja entre los actores, diagramas que representen dichas interacciones
- Arquitectura general
- Descripción de hardware
- Diagrama de conexiones, datos sobre los componentes más notables, etc.
- Diagrama de conexiones, datos sobre los componentes más notables, etc.
- Descripción de software
- Las pruebas y medidas deben estar debidamente reportadas
- Las pruebas deben estar orientadas a validar los objetivos del proyecto. Ningún objetivo puede no estar acompañado de tests de validación
- El funcionamiento general del sistema debe estar debidamente reportado
- No puede haber dudas respecto a la integridad de los datos reportados
- Las pruebas deben estar orientadas a validar los objetivos del proyecto. Ningún objetivo puede no estar acompañado de tests de validación
- Conclusiones
- Ausencia de conclusiones genéricas ("Funcionamos bien como grupo", "Profundizamos sobre los conceptos de la asignatura")
- Análisis independiente y detallado frente a los objetivos del proyecto. Valoración explícita del éxito o fracaso del proyecto.
- Es deseable contar con un análisis en cuanto a la dedicación planificada
- Ausencia de conclusiones genéricas ("Funcionamos bien como grupo", "Profundizamos sobre los conceptos de la asignatura")
- Otros elementos de documentación
- PDF bien estructurado
- Buenas imágenes, en un estilo armonioso
- Anexos conceptualmente correctos. No deben adjuntar secciones importantes a los anexos, ni viceversa
- Caratula correcta, sin faltas de ortografía
- PDF bien estructurado
- La documentación incluye una introducción clara al problema, suficiente sin un contexto anterior. Se describen antecedentes suficientes
- Base de código
- El repositorio incluye un README.md que guía al lector en sus primeros pasos con el proyecto
- Proyecto debidamente estructurado (carpetas /src, /include, etc.)
- El directorio del proyecto incluye solamente archivos fuente. No PDFs, imágenes, .o, binarios, .elf, etc
- Gestión de versiones
- Se evidencia participación de todos los integrantes
- Mensajes de commit adecuados
- Se evidencia participación de todos los integrantes
- Código correctamente modularizado
- Funcionalidades independientes contenidas en archivos independientes
- Funcionalidades independientes contenidas en archivos independientes
- No hay constantes sueltas en el código. Idealmente todo valor "duro" se define mediante un define
- Documentación Doxygen
- Indentación correcta
- El repositorio incluye un README.md que guía al lector en sus primeros pasos con el proyecto
- Presentación oral final
- Revisar las recomendaciones hechas para la presentación oral del Hito 1
- La presentación permite entender la esencia del proyecto y el grado de completitud de los objetivos
- Demo
- Es una demostración práctica/técnica donde se muestra el funcionamiento global del sistema, y además permite apreciar los detalles más relevantes.
- Tiene una duración máxima 3 minutos y es dinámico
- Muestra el sistema en funcionamiento, una voz o sobre-impresos que orienten al espectador a qué mirar y qué se espera ver suele ser muy necesario.
- Muestra el caso de "uso normal", y capaz otros no tan normales (incluso puede mostrar casos no contemplados).
- Muestra bien el setup, la interacción con el usuario o con otros equipos cuando la haya,
- Muestra la configuración del sistema y su interfaz.
- Permite observar que el proyecto funciona correctamente, y no levanta suspicacias sobre bugs escondidos.
- Es una demostración práctica/técnica donde se muestra el funcionamiento global del sistema, y además permite apreciar los detalles más relevantes.
- Ejecución de proyecto
- El tutor/es tiene/n constancia de que el proyecto se ejecutó correctamente, manteniendo una buena comunicación entre los miembros y el tutor.
- Hubo trabajo diario y sostenido
- El tutor/es tiene/n constancia de que el proyecto se ejecutó correctamente, manteniendo una buena comunicación entre los miembros y el tutor.