Recuento y Modificacion de resultados
Contenido
Miembros
- Coordinador: Rafael del Rio Santaella
- Víctor José Marín Aguilar
- Antonio Marcos Peña
- Juan Manuel Triguero Piñero
- Juan Ramón Ríos Fernández
Descripción subsistemas
Recuento
- Realizará el recuento de una votación determinada. Para realizar el recuento tendrá que pedir los votos al almacenamiento de votos y deberá lanzar la tarea de recuento sincronizando las diferentes autoridades.
Modificación de resultados
- Sistema para interpretar los resultados de una votación y ofrecer un ordenamiento de opciones concreto según diferentes reglas variables. La mayoría de las votaciones no son directas, sino que hay una serie de reglas que ordenan los resultados. Esto puede servir por ejemplo para formar listas con criterios de paridad, criterios de localidad, quitar de los resultados candidatos retirados, etc. Este sistema además de alterar el resultado final debe ofrecer una serie de estadísticas y desviaciones.
Taller 2 -- Definición de cambios a realizar
General
- Modificar el nombre de las clases para que el código sea más claro:
- Por ejemplo: Respuesta y Answer son dos clases diferentes que significan lo mismo pero el uso que se le da a una y otra es distinto.
- Usar el mismo idioma para todo:
- Por ejemplo: hay clases que están en castellano y otras en inglés.
- Clarificación de variables y métodos:
- Por ejemplo, nos encontramos con métodos cuyo nombre es "algoritmo1", "algoritmo2"...
En subsistema: Recuento
--- Tests ---
- No hay ningún test realizado al código (ni unitarios, de integración...)
--- Versiones ---
- Actualizar a las últimas versiones de componentes (tanto internas de agora us, como externas)
--- Código ---
- Actualmente no se gestión los errores producidos. Gestionarlos mediante lanzamientos de excepción y de status en los resultados devueltos por el subsistema.
- Eliminar código comentado olvidado (hay código que no se usa que simplemente se ha comentado, hay que investigar por qué y eliminarlo en caso de ser innecesario).
- Realizar abstracción de algoritmos donde sea oportuno (hay algoritmos que comparten buena parte de la funcionalidad)
En subsistema: Modificación de resultados
--- Controller.java ---
- Quitar el valor por defecto del parámetro votacionId (en el request) y si es null enviar un JSON que avise de eso. - Simplificar el último for del método respuestas por un for extendido. - Controlar las excepciones y devolver algo si se produce algún error interno, que ahora solo muestra la traza del error en la consola.
--- Anotaciones ---
- Comprobar la gestión de las respuestas, ahora mismo se están comprobando si el valor es "SI" o "NO" exclusivamente. - En caso de que se produzca un cambio en el subsistema de verificación, se debe actualizar el uso de la librería verificacion.jar..
Taller 1 -- Planificación de la gestión del proyecto
Planificación inicial propuesta:
1 - Formar el grupo para la realización del trabajo
2 - Elegir un módulo sobre el que realizar la evolución
3 - Estudiar la documentación heredada del módulo
4 - Puesta en funcionamiento del sistema heredado
5 - Detección de errores del sistema heredado (si existieran)
6 - Detección de aspectos positivos y negativos
7 - Definir el SCM mejorado
- 7.1 - Incluyendo los config. ítems adecuados
- 7.2 - Gestión de versiones adecuadas, definiendo su nomenclatura
- 7.3 - Definicion de métricas de control
8 - Realizar la evolución de sistema software (de manera cíclica)
- 8.1 - Desarrollo del código de la aplicación
- 8.2 - Reuniones con los otros equipos para la integración del sistema
- 8.3 - Auditoría del desarrollo y resolución de incidencias
- 8.4 - Valoración de resultados y mejoras
9 - Despliegue y entrega del sistema