# IX. Historias de Usuario (Product Backlog)

## 1. Criterios de Estimación
Se utiliza la escala de Fibonacci adaptada para la estimación de esfuerzo en Puntos de Historia (Story Points).

| Talla | Puntos | Tiempo Estimado (Días) |
| :--- | :--- | :--- |
| XS | 1 | 0.5 |
| S | 2 | 1.0 |
| M | 3 | 2.0 |
| L | 5 | 3.0 |
| XL | 8 | 5.0 |

## 2. Detalle de Historias por Sprint

### Sprint 1: Gestión Administrativa
| Código | Requerimiento | Puntos |
| :--- | :--- | :--- |
| HU01 | Autenticación del Coordinador | 2 |
| HU02 | Gestión de Cursos y Periodos | 3 |
| HU03 | Gestión de Cuentas de Docentes | 3 |
| HU04 | Gestión de Horarios Académicos | 5 |
| HU05 | Asignación de Carga Horaria | 3 |

### Sprint 2: Operación Transaccional
| Código | Requerimiento | Puntos |
| :--- | :--- | :--- |
| HU06 | Autenticación del Docente | 2 |
| HU07 | Visualización de Clases del Día | 3 |
| HU08 | Consulta del Horario Semanal | 3 |
| HU09 | Registro de Sesión Pedagógica | 5 |
| HU10 | Validación de Restricción Horaria | 2 |
| HU11 | Clasificación Automatizada del Registro | 2 |

### Sprint 3: Monitoreo y Supervisión
| Código | Requerimiento | Puntos |
| :--- | :--- | :--- |
| HU12 | Indicadores visuales de estado en el panel docente | 2 |
| HU13 | Módulo de búsqueda y consulta de historial personal | 3 |
| HU14 | Dashboard administrativo con métricas de cumplimiento diario | 5 |
| HU15 | Sistema de alertas de docentes con registros pendientes | 3 |
| HU16 | Panel de auditoría general para supervisión de contenidos | 3 |

### Sprint 4: Seguridad y Reportes
| Código | Requerimiento | Puntos |
| :--- | :--- | :--- |
| HU17 | Motor de filtrado complejo para auditoría | 3 |
| HU18 | Autogestión y recuperación de credenciales | 3 |
| HU19 | Interfaz de configuración de parámetros globales (tolerancia) | 3 |
| HU20 | Generación de reportes PDF y Excel | 5 |

## 3. Detalle Funcional de Cada Historia

### Sprint 1: Gestión Administrativa

**HU01 - Autenticación del Coordinador**
- El coordinador inicia sesión con credenciales seguras.
- El sistema valida contra la base de datos y asigna el rol correspondiente.
- Redirección al dashboard administrativo.
- Dependencias: Ninguna.

**HU02 - Gestión de Cursos y Periodos**
- CRUD completo de cursos (nombre, código, descripción, horas semanales, programa, activo/inactivo).
- CRUD completo de periodos académicos (nombre, fecha inicio, fecha fin, activo, actual).
- Validación de integridad referencial al modificar periodos con registros asociados.
- Dependencias: HU01.

**HU03 - Gestión de Cuentas de Docentes**
- CRUD completo de usuarios docentes (nombres, apellidos, DNI, correo, contraseña, activo).
- Asignación automática de grupo `docente` mediante CodeIgniter Shield.
- Contraseña temporal basada en DNI del docente.
- Dependencias: HU01.

**HU04 - Gestión de Horarios Académicos**
- Definición del horario laboral institucional (hora inicio, hora fin, días laborables).
- CRUD de franjas académicas (nombre, duración, hora inicio, hora fin, activo).
- CRUD de feriados (fecha, descripción, es laborable).
- CRUD de disponibilidad docente por día y rango horario.
**Estado:** Descartado — la funcionalidad fue removida del sistema.
- Validación de franjas dentro del horario laboral.
- Dependencias: HU01, HU02.

**HU05 - Asignación de Carga Horaria**
- Asignación de cursos a docentes por periodo académico.
- Creación de horarios de clase (curso, docente, día, hora inicio, hora fin, tolerancia, activo).
- Validación de cruce horario (mismo día/hora).
- Validación de horas máximas semanales por curso.
- Dependencias: HU02, HU03, HU04.

### Sprint 2: Operación Transaccional

**HU06 - Autenticación del Docente**
- El docente inicia sesión con DNI y contraseña.
- Bloqueo de cuenta tras 5 intentos fallidos (15 minutos).
- Solicitud de recuperación de contraseña al coordinador.
- Cambio de contraseña obligatorio en el primer ingreso.
- Dependencias: HU03.

**HU07 - Visualización de Clases del Día**
- El docente autenticado ve sus clases programadas para la fecha actual.
- Muestra: curso, horario (inicio-fin), estado del registro (pendiente/en tiempo/fuera de plazo).
- Respuesta vía AJAX para actualización en tiempo real.
- Dependencias: HU05, HU06.

**HU08 - Consulta del Horario Semanal**
- El docente visualiza su matriz de horario semanal completo.
- Filtro por periodo académico.
- Organizado por días y franjas horarias.
- Dependencias: HU05, HU06.

**HU09 - Registro de Sesión Pedagógica**
- Formulario para registrar la actividad realizada en cada clase.
- Captura: descripción de la actividad, fecha, hora de registro.
- Almacenamiento en base de datos con estado y origen.
- Dependencias: HU07.

**HU10 - Validación de Restricción Horaria**
- Regla de negocio: `Hora_Actual > Hora_Fin_Clase`.
- El sistema bloquea el registro si la clase aún no ha finalizado.
- Mensaje claro al usuario indicando la hora de fin de la clase.
- Dependencias: HU09.

**HU11 - Clasificación Automatizada del Registro**
- Compara la hora de registro contra la hora de fin de clase + tolerancia.
- Asigna estado: `en_tiempo` (dentro de la tolerancia) o `fuera_de_plazo` (después de la tolerancia).
- Dependencias: HU10.

### Sprint 3: Monitoreo y Supervisión

**HU12 - Indicadores Visuales en Panel Docente**
- Tarjetas con estado visual (color) para cada clase del día.
- Indicador de clases pendientes, registradas en tiempo y fuera de plazo.
- Actualización dinámica sin recargar la página.
- Dependencias: HU07, HU11.

**HU13 - Historial de Registros Personales**
- Lista completa de registros anteriores del docente autenticado.
- Filtros combinados: por curso y rango de fechas.
- Paginación (100 registros por página).
- Dependencias: HU09.

**HU14 - Dashboard Administrativo**
- Panel del coordinador con KPIs del día:
  - Total de clases programadas.
  - Total de registros realizados.
  - Registros en tiempo vs fuera de plazo.
  - Clases pendientes.
  - Docentes con clases pendientes.
- Datos vía AJAX (JSON).
- Dependencias: HU07, HU09, HU11.

**HU15 - Alertas de Docentes Pendientes**
- Identificación de docentes que no han registrado todas sus clases del día.
- Muestra: nombre, iniciales, total clases, registros realizados.
- Priorización visual de docentes con más pendientes.
- Dependencias: HU14.

**HU16 - Panel de Auditoría General**
- Tabla maestra con todos los registros de la institución.
- Filtros combinados: docente, curso, rango de fechas, estado.
- Vista para coordinadores con acceso completo a la información.
- Dependencias: HU09, HU14.

### Sprint 4: Seguridad y Reportes

**HU17 - Motor de Filtrado Complejo**
- Filtros avanzados en auditoría: docente + curso + periodo + fechas + estado.
- Optimización de consultas con índices.
- Exportación de datos filtrados.
- Dependencias: HU16.

**HU18 - Autogestión y Recuperación de Credenciales**
- El docente solicita recuperación de contraseña desde el login.
- La solicitud queda registrada para que el coordinador la atienda.
- El coordinador genera una contraseña temporal desde el panel.
- Notificación al docente cuando su solicitud es resuelta.
- Dependencias: HU03, HU06.

**HU19 - Configuración de Parámetros Globales**
- Interfaz para modificar la tolerancia por defecto.
- Cambio reflejado inmediatamente en las reglas del sistema.
- Protección contra cambios cuando hay horarios guardados.
- Dependencias: HU04, HU14.

**HU20 - Generación de Reportes PDF y Excel**
- Reportes consolidados con filtros múltiples.
- Exportación a PDF con formato profesional.
- Exportación a Excel para análisis adicional.
- Consistencia de datos en todos los formatos.
- Dependencias: HU17.

---
- Regresar al [[index|Inicio]]
