Saltar al contenido principal

Caso de Uso "Tablero de Sprint"

SIGMA · 3-BYTE Team · Adrián Portillo, Glenda Flores, Franco Rosas

Laboratorio de Desarrollo de Software · UNPA-UARG

Caso de uso nuevo, agregado junto con Story Points y velocidad calculada. No existía en el corpus 2024. Ver verificación CU vs sistema.

Descripción​

El caso de uso Tablero de Sprint tiene como propósito ofrecer una vista simple tipo Kanban de las historias de usuario asignadas a un sprint, agrupadas en tres columnas por estado (Pendiente, En progreso, Completada), con botones para mover cada historia a la columna anterior o siguiente. No implementa arrastrar y soltar (drag-and-drop); el movimiento es siempre por botón y siempre de a un paso (no se puede saltar de Pendiente a Completada directamente).

Mientras el sprint no esté cerrado, el actor puede mover libremente las historias entre estados desde el tablero. Una vez cerrado el sprint (ver CU12 - Gestión de Sprint), el tablero pasa a ser de solo lectura.

Especificación​

Caso de usoTablero de Sprint
ActoresUsuario con permiso de sistema Sprints (hoy: Administrador).
TipoSecundario: apoya a CU12 - Gestión de Sprint, no se accede de forma independiente.
PropósitoOfrecer una vista de tablero por sprint donde se pueda ver y cambiar el estado de cada historia de usuario asignada, sin necesidad de entrar a modificarla una por una.
ResumenEl caso de uso se inicia cuando el actor presiona "Ver Tablero" desde el listado de sprints o desde el detalle de un sprint (sprint.ver.php).
PrecondicionesHaber ingresado al sistema con el permiso Sprints. Debe existir el sprint indicado por id.
PoscondicionesEl estado (historia_usuario.estado) de las historias movidas queda actualizado. La velocidad del sprint no se modifica hasta que este se cierre desde CU12.

Flujo Principal​

PasoAcción
1El sistema despliega sprint_tablero.php?id={id_sprint}, con tres columnas: Pendiente, En progreso y Completada, cada una con la cantidad de historias entre paréntesis.
2Cada columna muestra una tarjeta por historia asignada a ese sprint en ese estado, con: Título y Puntos.
3Si el sprint no está cerrado, cada tarjeta muestra hasta dos botones: "← {estado anterior}" (si existe un estado anterior) y "{estado siguiente} →" (si existe un estado siguiente).
4Si el sprint está cerrado, las tarjetas no muestran botones y se ve el badge "Sprint cerrado - Velocidad: {n} puntos" en el encabezado.
5Si el actor presiona un botón de movimiento, el caso de uso continúa en el paso 1 del Subflujo 1 (Mover Historia).
6El actor presiona "Volver al Sprint" para salir del tablero.
7El caso de uso finaliza.

Subflujo 1 — Mover Historia​

PasoAcción
1El actor presiona el botón de movimiento de una tarjeta (por ejemplo, "En progreso →").
2El formulario envía id_sprint, id_historia y nuevo_estado a sprint_tablero.mover.php.
3Si el sprint está cerrado o nuevo_estado no es uno de los tres valores válidos (Excepción 1), el sistema redirige al tablero sin modificar nada.
4Si el sprint no está cerrado y el estado es válido (Excepción 2), el sistema actualiza historia_usuario.estado para esa historia, validando que pertenezca al sprint indicado.
5El sistema redirige de vuelta a sprint_tablero.php?id={id_sprint}, mostrando la historia en su nueva columna.
6El caso de uso finaliza.

Excepciones​

ExcepciónAcción
1Movimiento rechazado. Sprint cerrado o estado destino inválido: el sistema no ejecuta ningún UPDATE y vuelve al tablero tal como estaba.
2Movimiento aceptado. El sistema ejecuta UPDATE historia_usuario SET estado = ? WHERE id = ? AND id_sprint = ? con consulta preparada.

Diagramas Asociados​

Diagrama de Casos de Uso​

Diagrama de Secuencia — Mover Historia en el Tablero​

Observaciones​

  • El tablero es de solo cambio de estado por botones, sin drag-and-drop, como pidió la cátedra para mantenerlo simple.
  • Los estados solo se pueden mover de a un paso (Pendiente ↔ En progreso ↔ Completada); no hay botón para saltar directamente de Pendiente a Completada.
  • El acceso es siempre desde sprints.php o sprint.ver.php de un sprint puntual; no hay una pantalla que liste todos los tableros.
  • La velocidad del sprint no cambia al mover historias en el tablero; solo se calcula al cerrar el sprint desde CU12.