Caso de Uso "CU10 - Visualizar Panel de Control"
SIGMA · 3-BYTE Team · Adrián Portillo, Glenda Flores, Franco Rosas
Laboratorio de Desarrollo de Software · UNPA-UARG
El PDF cu10-panel-de-control.pdf y la prueba prueba-cu09.pdf (el panel se numeró mal como CU09) son de 2024: hablan de roles PM / Invitado / Desarrollador y de la entidad ReportesGenerados. No coinciden con el sistema. Esta spec v2026 describe las tres pantallas que existen y el panel de cátedra a implementar. Ver verificación CU vs sistema.
Descripción
El caso de uso CU10 tiene como propósito mostrar, al iniciar sesión, un panel con contadores y accesos según el rol de sistema (no el rol de proyecto). SIGMA no tiene un único dashboard: hay tres PHP distintos. El login (ControlAcceso::redireccionaIndex) elige uno.
Hoy el panel no muestra KPI de cátedra (velocidad por grupo, comparativa, cobertura de backlog, carry-over). Esos indicadores son el objetivo de la rama de implementación; están en la sección Panel objetivo.
Especificación (sistema actual)
| Caso de uso | CU10 - Visualizar Panel de Control |
|---|---|
| Actores | Usuario autenticado. La pantalla concreta depende del rol de sistema: Administrador → dashboard.php; Usuario Comun y Alumno LDS → dashboard_usuario.php. El permiso Miembros redirige a dashboard_Miembro.php (pantalla muerta). |
| Tipo | Primario. |
| Propósito | Ofrecer un resumen numérico y atajos a proyectos / estimaciones / usuarios al entrar al sistema. |
| Resumen | Tras el login, el sistema redirige al dashboard del rol. El actor ve cajas (Admin-LTE small-box) con totales y un enlace en el pie de cada caja. |
| Precondiciones | Sesión iniciada (UsuarioSesion en $_SESSION). |
| Poscondiciones | Ninguna escritura en base. Solo lectura. |
Flujo Principal — enrutado al login
| Paso | Acción |
|---|---|
| 1 | El actor se autentica (Google en producción; login.prueba.php si SIGMA_TEST_LOGIN=1). |
| 2 | ControlAcceso::redireccionaIndex lee usuario_rol → rol.nombre. |
| 3 | Si el nombre es Administrador, continúa en el Subflujo 1 (dashboard.php). |
| 4 | Si el nombre es Usuario Comun o cualquier otro rol que no sea Administrador (incluido Alumno LDS), el destino por defecto es dashboard_usuario.php (Subflujo 2). |
| 5 | Si el nombre coincide con la constante de permiso "Miembros" (no existe ese rol en la BD), el destino sería dashboard_Miembro.php (Subflujo 3). Ese camino no se alcanza. |
El navbar-brand (logo UNPA–UARG) apunta siempre a dashboard.php, que exige permiso Usuarios. Un alumno que toca el logo sale del flujo (redirect a Constantes::HOMEURL de producción).
Subflujo 1 — Dashboard Administrador (dashboard.php)
| Paso | Acción |
|---|---|
| 1 | El sistema exige permiso Usuarios. Si no lo tiene, redirige a HOMEURL. |
| 2 | Cuenta, sin filtrar por membresía: proyectos (ColeccionProyectos::count), estimaciones PCU, estimaciones PHU, usuarios. |
| 3 | Muestra cuatro cajas: Proyectos → proyectos.php; Estimaciones PCU → proyectos.php (mismo destino; no hay listado global PCU); Estimaciones PHU → estimacionesphu.php; Usuarios registrados → usuarios.php. |
| 4 | No hay tabla por grupo, ni velocidad, ni tipo PCU/PHU por proyecto. |
Subflujo 2 — Dashboard Usuario (dashboard_usuario.php)
| Paso | Acción |
|---|---|
| 1 | No exige un permiso extra (cualquier sesión autenticada puede abrir la URL). |
| 2 | Cuenta proyectos del usuario (getProyectosPorUsuario) y estimaciones PCU+PHU de esos proyectos (countPorUsuario). |
| 3 | Muestra dos cajas: Proyectos → proyectos.php; Estimaciones Realizadas → destino según cantidad de proyectos: si hay un solo proyecto PHU, va a sprints.php?id_proyecto=…; si hay un solo PCU, a ver_estimaciones_proyecto.php; si hay más de uno, ambas cajas van a proyectos.php. |
| 4 | No distingue PCU de PHU en las cajas. No lista los proyectos. |
Subflujo 3 — Dashboard Miembro (dashboard_Miembro.php)
| Paso | Acción |
|---|---|
| 1 | Exige permiso Miembros. Ese permiso no está en permiso ni en rol_permiso. Toda petición redirige a HOMEURL. |
| 2 | Si alguien asignara el permiso: la caja “Estimaciones PCU” usa countProyectosPorUsuario (cuenta proyectos, no estimaciones). “Estimaciones PHU” usa count() global. Hay un $cantidadReportes = 65 que no se pinta. Los pies de PCU/PHU apuntan a #. |
Excepciones (sistema actual)
| Excepción | Acción |
|---|---|
| 1 | Sin sesión. verificaLogin redirige a HOMEURL (https://sigma.3byte.com.ar/app/index.php). |
| 2 | Sin permiso Usuarios al abrir dashboard.php (alumno, logo). Misma redirect a producción. No hay pantalla 403 local. |
| 3 | Rol no contemplado en el switch (p. ej. Alumno LDS). Cae al default dashboard_usuario.php. |
Diagramas Asociados
Diagrama de Casos de Uso
Diagrama de Secuencia — Login a panel
Observaciones (sistema actual)
- El PDF 2024 (PM / Invitado / Desarrollador +
ReportesGenerados) no aplica. Los roles de proyecto no cambian el panel. - La caja “Estimaciones PCU” del admin no abre estimaciones: abre
proyectos.php. El fallo de la prueba 14/11/2024 sigue vigente. - El logo no respeta el dashboard del rol.
dashboard_Miembro.phpes código muerto.- Conteos del alumno mezclan todos los proyectos donde es miembro (p. ej. SIGMA histórico + TP).
Panel objetivo (a implementar)
Contrato para la rama de cátedra. No está en producción.
Actores objetivo
| Rol de sistema | Panel | Alcance |
|---|---|---|
| Administrador | dashboard.php ampliado | Totales globales más enlace a ACL. No es el panel de corrección. |
| Docente (nuevo) | dashboard.php o dashboard_docente.php | Todos los grupos de la comisión, solo lectura. KPI de la tabla abajo. Sin ABM de Roles/Permisos. |
| Alumno LDS | dashboard_usuario.php | Solo proyectos en usuario_proyecto. Atajos PCU vs PHU por proyecto. |
| Usuario Comun | mismo que Alumno o deprecado | El alta Google debe crear Alumno LDS, no Comun. |
El logo debe ir al dashboard del rol, no a dashboard.php. La denegación de permiso es una página local, no HOMEURL de producción.
KPI mínimos del docente
| KPI | Qué muestra | Origen |
|---|---|---|
| Tabla por grupo | Alumno(s) · proyecto · tipo PCU/PHU · n.º estimaciones · última fecha · HU completadas / total | usuario_proyecto, estimacion_pcu, estimacion_phu, historia_usuario |
| Velocidad último sprint cerrado | sprint.velocidad_calculada del sprint cerrado más reciente de ese proyecto | sprint |
| Alerta de entrega | Grupo sin 3 estimaciones PCU o sin 3 HU | umbral de cátedra |
| Comparativa | Misma grilla, una fila por proyecto de la comisión | — |
No se piden en el primer corte: burndown diario, burnup, capacidad vs comprometido, % dedicación (no hay dato).
Atajos del alumno
- Si el proyecto es PCU: Estimaciones →
ver_estimaciones_proyecto.php(no mezclar con PHU). - Si es PHU: Sprints →
sprints.php. - Con varios proyectos: listar los proyectos en el panel (nombre + tipo + botón), no un solo número que abre la misma lista.
Qué no hace el panel
No crea estimaciones, no cierra sprints, no edita roles. Es consulta y navegación. El cierre de sprint sigue en CU12 y solo debería estar habilitado para el PM del proyecto.