Saltar al contenido principal

Caso de Uso "CU07 - Gestionar Historia de Usuario"

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

Laboratorio de Desarrollo de Software · UNPA-UARG

No había especificación previa (el DOCX de 2024 estaba vacío). Ver verificación CU vs sistema.

Descripción​

El caso de uso CU07 - Gestionar Historia de Usuario tiene como propósito ofrecer la funcionalidad necesaria para la creación, consulta, modificación y eliminación de historias de usuario dentro del Backlog de un proyecto cuyo tipo de estimación es PHU (Puntos de Historia de Usuario). El actor presiona el botón correspondiente sobre el listado de historias y cada acción sigue su propio subflujo.

Una historia de usuario en SIGMA es un registro con título, descripción, criterios de aceptación, prioridad numérica, puntos de historia (Story Points), estado dentro del sprint (Pendiente / En progreso / Completada) y, opcionalmente, el sprint al que está asignada. El estado y los puntos son los datos que usa CU12 para calcular la velocidad al cerrar un sprint.

Especificación​

Caso de usoCU07 - Gestionar Historia de Usuario
ActoresUsuario con permiso de sistema Historias_Usuario (hoy: Administrador; el rol Usuario Comun no lo tiene asignado por defecto).
TipoPrimario: los casos primarios de uso representan los procesos comunes más importantes.
PropósitoOfrecer la funcionalidad necesaria para crear, modificar, eliminar y consultar historias de usuario dentro del backlog de un proyecto PHU.
ResumenEl caso de uso se inicia cuando el actor ingresa a "Modificar Proyecto" de un proyecto con tipo de estimación PHU y presiona el botón "Gestionar Historias de Usuario", que abre el listado de historias del backlog del proyecto.
PrecondicionesHaber ingresado al sistema con el permiso Historias_Usuario. Debe existir un proyecto con tipo_estimacion = 'PHU' y un backlog asociado (backlog.id_proyecto). Para modificar o eliminar una historia, esta debe existir previamente en el sistema.
PoscondicionesLa historia de usuario queda creada, modificada o eliminada en la tabla historia_usuario y el listado refleja el cambio.

Flujo Principal​

PasoAcción
1El sistema despliega la pantalla historias_usuario.php, que contiene el listado de historias del backlog con: Título, Prioridad, Puntos, Estado (badge de color) y Sprint asignado. Opciones: botones "Ver detalle", "Modificar", "Eliminar" por fila, y "Nueva Historia de Usuario" sobre el listado.
2El actor presiona alguno de los botones: Nueva Historia de Usuario, Ver detalle, Modificar o Eliminar.
3Si el actor selecciona "Nueva Historia de Usuario", el caso de uso continúa en el paso 1 del Subflujo 1 (Crear Historia de Usuario).
4Si el actor selecciona "Ver detalle", el caso de uso continúa en el paso 1 del Subflujo 2 (Ver Historia de Usuario).
5Si el actor selecciona "Modificar", el caso de uso continúa en el paso 1 del Subflujo 3 (Modificar Historia de Usuario).
6Si el actor selecciona "Eliminar", el caso de uso continúa en el paso 1 del Subflujo 4 (Eliminar Historia de Usuario).

Subflujo 1 — Crear Historia de Usuario​

PasoAcción
1El sistema despliega historia_usuario.crear.php con el formulario: Título (texto, obligatorio), Descripción (área de texto, obligatorio), Criterios de Aceptación (área de texto, obligatorio), Prioridad (número, obligatorio), Puntos de Historia (número, obligatorio, por defecto 0), Estado (lista: Pendiente / En progreso / Completada; por defecto Pendiente), Sprint (lista de los sprints del proyecto, opción "Sin asignar" por defecto). Los campos id_backlog e id_proyecto viajan ocultos. Botón "Crear Historia".
2El actor completa el formulario y presiona "Crear Historia".
3Si la operación es exitosa (Excepción 1), el sistema inserta el registro en historia_usuario con el id_sprint elegido (o NULL si quedó "Sin asignar") y muestra el mensaje de éxito.
4Si la operación no es exitosa (Excepción 2), el sistema muestra el mensaje de error correspondiente.
5El caso de uso finaliza.

Subflujo 2 — Ver Historia de Usuario​

PasoAcción
1El sistema despliega historia_usuario.ver.php en solo lectura, con: ID Backlog, Título, Descripción, Criterios de Aceptación, Prioridad, Puntos de Historia, Estado, ID Sprint (numérico, o "Sin asignar" si la historia no está asignada a ningún sprint).
2El actor presiona "Volver".
3El caso de uso finaliza.

Subflujo 3 — Modificar Historia de Usuario​

PasoAcción
1El sistema despliega historia_usuario.modificar.php con el formulario precargado: Título, Descripción, Criterios de Aceptación, Prioridad, Puntos de Historia, Estado y Sprint (con la opción actual seleccionada).
2El actor edita los campos, mueve la historia de sprint o cambia su estado, y presiona "Modificar Historia".
3Si la operación es exitosa (Excepción 1), el sistema actualiza el registro en historia_usuario.
4Si la operación no es exitosa (Excepción 3), el sistema muestra el mensaje "Ha ocurrido un error."
5El caso de uso finaliza.

Subflujo 4 — Eliminar Historia de Usuario​

PasoAcción
1El sistema despliega historia_usuario.eliminar.php con el título de la historia seleccionada y el mensaje de advertencia "ATENCIÓN. Esta operación no puede deshacerse."
2Si el actor presiona "Sí, deseo eliminar" (Excepción 4), el sistema elimina el registro dentro de una transacción.
3Si el actor presiona "NO (Salir de esta pantalla)" (Excepción 3), el sistema vuelve al listado sin realizar cambios.
4El caso de uso finaliza.

Excepciones​

ExcepciónAcción
1Operación exitosa. El sistema muestra "Operación realizada con éxito." y ofrece el botón "Salir" hacia el listado de historias.
2Operación no exitosa (alta). El sistema muestra "Ha ocurrido un error: {mensaje de la excepción}" en la pantalla de resultado.
3Cancelar operación. El sistema vuelve al listado de historias sin modificar la base.
4Confirmación de baja. El sistema ejecuta el DELETE dentro de una transacción (BEGIN / COMMIT); si falla, hace ROLLBACK y detiene la ejecución.

Diagramas Asociados​

Diagrama de Casos de Uso​

Diagrama de Secuencia — Crear Historia de Usuario​

Diagrama de Secuencia — Modificar Historia de Usuario​

Diagrama de Secuencia — Eliminar Historia de Usuario​

Observaciones​

  • El alta, la modificación y la baja ejecutan SQL en *.procesar.php. La entidad HistoriaUsuario se usa para Ver y para precargar Modificar.
  • El alta (historia_usuario.crear.procesar.php) usa consulta preparada. La modificación arma el UPDATE con los valores del formulario.
  • Los puntos y el estado de la historia son la base del cálculo de velocidad del sprint. Ver CU12 - Gestión de Sprint.
  • Si el sprint al que pertenece la historia ya está cerrado, el tablero (ver CU del tablero) no permite cambiar su estado, pero esta pantalla de modificación sí lo permite; queda como mejora pendiente bloquearlo también acá.
  • No hay ítem en el menú. La entrada es Modificar Proyecto, si el tipo de estimación es PHU.