Skip to content

Resumen Ejecutivo Votaciones

alebangon edited this page Jan 17, 2021 · 40 revisions

Indicadores de Proyecto

Miembro del equipo Horas Commits LoC Test Issues Incremento
Baños González, Alejandro 75 15 1031 7 14 Poner en readOnly atributos de TallyM y TallyF, añadido el campo started_by en el modelo de Voting, soporte al nuevo guardado de votos, soporte a preguntas por orden de preferencia y soporte a recuentos electorales proporcionales, soporte a múltiples recuentos para múltiples preguntas
Fernández Rodríguez, Andrés 74 17 538 14 14 Impedir la creación de preguntas con la misma descripción, soporte a múltiples preguntas, soporte a múltiples recuentos para múltiples preguntas
Guerrero Luna, Gonzalo 78 16 1346 11 14 Impedir la creación de votaciones con el mismo nombre, soporte a múltiples preguntas, soporte a múltiples recuentos para múltiples preguntas
Jiménez Hartman, Mario David 78 18 1187 15 14 Soporte al nuevo guardado de votos, implementar múltiples tipos de votación, añadir pregunta con respuestas por orden de preferencia, soporte a preguntas por orden de preferencia y soporte a recuentos electorales proporcionales, soporte a múltiples recuentos para múltiples preguntas
Santana Cordero, Alejandro 75 15 971 11 17 Cambiar filtro de votaciones por fecha, opción de incluirse en el censo, soporte a parámetro que identifique el tipo de recuento de votos, soporte a incluir distintos tipos de recuentos para las votaciones, poner readOnly atributos de tallyM y tallyF, soporte a múltiples recuentos para múltiples preguntas
Santos Tirado, Carlos 79 28 1072 24 17 Implementar mensaje emergente al finalizar votación con los datos de la misma, soporte a recuento por paridad, soporte al nuevo guardado de votos, soporte a múltiples recuentos para múltiples preguntas
TOTAL 459 109 6.145 82 90

Evidencias de las horas

image

Integración con otros equipos

Nos hemos integrado de una manera u otra con todos los subsistemas del proyecto, ya que todos, o bien nos han abierto issues, o bien les hemos abierto issues a ellos. Además de los subsistemas con los que estamos directamente relacionados como son cabina o postprocesado. A continuación se explican concretamente los casos en los que nos hemos tenido que integrar y de qué manera lo hemos hecho.

  • decide-full-guadalentin-visualizacion: Hemos tenido que integrarnos con visualización ya que, por un fallo en el modelo de votings, al crear una votación sin importar el tipo e iniciarla, al acceder al visualizador con el Id que corresponde, les daba un error 'AttributeError: 'ManeRelatedManager' object has no attribute 'desc'' al intentar acceder a los detalles de una votación. Nos abrieron una issue con una propuesta de mejora y procedimos a solucionar el problema.
  • decide-full-guadalentin-cabina: Con el módulo de cabina la integración se realizó en dos issues, una que abrimos nosotros (link) que fue necesaria por las peticiones de postprocesado de que las votaciones tuvieran más de una pregunta asociada, ya que el objeto voting que se le mandaba a cabina cambió y no estaba contemplado en la cabina, por lo que no permitía acceder a las votaciones aunque fueran de una sola pregunta. Lo que pedíamos era que se pudiera votar desde la misma cabina todas las preguntas de cada votación. En la otra issue, nos pedían cambiar los métodos usados para el recuento para las votaciones de pregunta múltiple, ya que necesitaban mandar más de un voto y no estaba contemplado en nuestro módulo. En los nuevos objetos votos se mandaban todas las 'a' de cada voto separadas por comas y todas las 'b' aparte también separadas por comas, mientras que antes cada 'a' y 'b' era un solo Integer. Ambas issues fueron resueltas e implementadas con bastante presteza y no fue necesaria ninguna issue más ya que quedó claro qué era lo que necesitábamos y lo implementamos sin problema aún sin tener el código del otro subsistema.
  • decide-full-guadalentin-usabilidad: Entre el módulo de usabilidad y el nuestro solo hemos tenido la necesidad de una issue, abierta por nosotros, en la que pedimos que a la hora de crear un superuser, se especifique en la terminal los valores posibles para los campos sexo('M' o 'F') y style('N','C','T' u 'O')
  • decide-full-guadalentin-postprocesado: Este es el subsistema con el que hemos tenido más issues ya que cabina necesitaba un incremento mínimo por nuestra parte para poder trabajar y con postprocesado hemos empezado antes con la integración y ha habido más problemas tanto por falta de costumbre para coordinarnos con las issues, como por falta de conocimiento sobre todas las funcionalidades y el código del proyecto al principio, además del hecho de que hemos añadido muchas funcionalidades en el proyecto en distintos incrementos y necesitábamos que el otro módulo cambiara algo casi por cada funcionalidad que los involucrara(preguntas múltiples, recuentos masculino y femenino, etc...). Las issues serían las siguientes: la issue1 nos la abrió postprocesado pidiendo que implementáramos el recuento por paridad. Para ello necesitábamos identificar el tipo de recuento, mandar con el getVotes() si el voto lo ha hecho un hombre o una mujer, haciendo en total tres recuentos distintos, y mandar con el json de la respuesta el número de votos masculinos y el número de votos femeninos. En la issue2 nos pedían que mandáramos en el json los datos de más de una pregunta, además de cambiar el store para que almacene la id de la pregunta, cambiar el campo Question en Voting a ManyToMany para que pueda haber más de una pregunta por cada votación y cambiar las funciones tally() y postproc() para que soporten el dato nuevo. En la issue3 ellos ya tenían adaptado su módulo para soportar las preguntas por orden de preferencia, por lo que nos pedían mandar en la petición JSON un parámetro que indique el número de escaños que se reparten en la votación, en el caso de que el recuento sea de tipo proporcional (Hondt, Sainte-Lague, Droop, Imperiali, Hare) y que el json almacene los votos de tal manera que si hay 3 respuestas posibles y la opción 1 ha recibido 7 votos con preferencia 1, 2 con preferencia 2 y 5 con preferencia 3, los votos de la opción 1 se manden al postprocesado de la siguiente manera : [7 2 3]. En la issue4 comentamos a postprocesado un error, que ocurre al crear una votación, independientemente del tipo, y añadir una o más preguntas, al realizar la acción de "Tally" para efectuar el recuento se obtiene un error, debido a que el postprocesado no contempla que le lleguen opciones de más de una pregunta. En la issue5 nos pedían que mandáramos en el json el tipo de recuento de la pregunta en cuestión, ya que las votaciones de tipo orden de preferencia necesitan un tipo de recuento especial(BORDA) y no el que se usaba antes por defecto(IDENTITY), además, nos pedían validar que cuando el tipo de pregunta seleccionada sea de orden de preferencia, solo se pueda seleccionar el tipo de recuento BORDA.
Clone this wiki locally