Saltar al contenido principal

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 usoCU10 - Visualizar Panel de Control
ActoresUsuario 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).
TipoPrimario.
PropósitoOfrecer un resumen numérico y atajos a proyectos / estimaciones / usuarios al entrar al sistema.
ResumenTras 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.
PrecondicionesSesión iniciada (UsuarioSesion en $_SESSION).
PoscondicionesNinguna escritura en base. Solo lectura.

Flujo Principal — enrutado al login​

PasoAcción
1El actor se autentica (Google en producción; login.prueba.php si SIGMA_TEST_LOGIN=1).
2ControlAcceso::redireccionaIndex lee usuario_rol → rol.nombre.
3Si el nombre es Administrador, continúa en el Subflujo 1 (dashboard.php).
4Si 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).
5Si 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)​

PasoAcción
1El sistema exige permiso Usuarios. Si no lo tiene, redirige a HOMEURL.
2Cuenta, sin filtrar por membresía: proyectos (ColeccionProyectos::count), estimaciones PCU, estimaciones PHU, usuarios.
3Muestra cuatro cajas: Proyectos → proyectos.php; Estimaciones PCU → proyectos.php (mismo destino; no hay listado global PCU); Estimaciones PHU → estimacionesphu.php; Usuarios registrados → usuarios.php.
4No hay tabla por grupo, ni velocidad, ni tipo PCU/PHU por proyecto.

Subflujo 2 — Dashboard Usuario (dashboard_usuario.php)​

PasoAcción
1No exige un permiso extra (cualquier sesión autenticada puede abrir la URL).
2Cuenta proyectos del usuario (getProyectosPorUsuario) y estimaciones PCU+PHU de esos proyectos (countPorUsuario).
3Muestra 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.
4No distingue PCU de PHU en las cajas. No lista los proyectos.

Subflujo 3 — Dashboard Miembro (dashboard_Miembro.php)​

PasoAcción
1Exige permiso Miembros. Ese permiso no está en permiso ni en rol_permiso. Toda petición redirige a HOMEURL.
2Si 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ónAcción
1Sin sesión. verificaLogin redirige a HOMEURL (https://sigma.3byte.com.ar/app/index.php).
2Sin permiso Usuarios al abrir dashboard.php (alumno, logo). Misma redirect a producción. No hay pantalla 403 local.
3Rol 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.php es 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 sistemaPanelAlcance
Administradordashboard.php ampliadoTotales globales más enlace a ACL. No es el panel de corrección.
Docente (nuevo)dashboard.php o dashboard_docente.phpTodos los grupos de la comisión, solo lectura. KPI de la tabla abajo. Sin ABM de Roles/Permisos.
Alumno LDSdashboard_usuario.phpSolo proyectos en usuario_proyecto. Atajos PCU vs PHU por proyecto.
Usuario Comunmismo que Alumno o deprecadoEl 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​

KPIQué muestraOrigen
Tabla por grupoAlumno(s) · proyecto · tipo PCU/PHU · n.º estimaciones · última fecha · HU completadas / totalusuario_proyecto, estimacion_pcu, estimacion_phu, historia_usuario
Velocidad último sprint cerradosprint.velocidad_calculada del sprint cerrado más reciente de ese proyectosprint
Alerta de entregaGrupo sin 3 estimaciones PCU o sin 3 HUumbral de cátedra
ComparativaMisma 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.