Calidad de Software · 3.8.2.21 · 2026-II
Observatorio Litoral de Anomalías térmicas
Hito 1: planificación, catálogo de requisitos, infraestructura y diseño de interfaces.
Equipo y orden de exposición
El problema
laboratorios costeros de IMARPE miden a diario la anomalía de la temperatura superficial del mar (ATSM).
filas desde 1970 en un CSV de datos abiertos: sin clasificar, con huecos y con retraso.
en pérdidas y 1.1 millones de personas afectadas por El Niño Costero de 2017.
Qué hace OLA
Traduce el dato al lenguaje de la costa, para el pescador artesanal que consulta desde el celular.
No reemplaza los boletines de IMARPE ni pronostica El Niño: esa función es del ENFEN.
Planificación · Cronograma
| Sprint | Fechas | Objetivo | Pts |
|---|---|---|---|
| S0 | 24–31 ago | Tema y repositorio | 3 |
| S1 | 1–14 sep | Web con los 8 RF, catálogo y plan de calidad | 78 |
| S2 | 15–28 sep | Despliegue en el VPS y fases 1 a 3 de la app | 30 |
| S3 | 29 sep–12 oct | Laboratorio 2 y entrega del Hito 1 | 15 |
| Hito 1 · Evidencia 2 · 12 oct | |||
| S4 | 13–26 oct | Exposición, integración a main y calidad | 49 |
| S5 | 27 oct–9 nov | Fase 4 de la app: push de extremo a extremo | 52 |
| S6 | 10–23 nov | Fase 5 de la app y revisión de pruebas | 48 |
| S7 | 24 nov–7 dic | Fase 6 de la app y entrega del Hito 2 | 36 |
| Hito 2 · Evidencia 4 · 7 dic | |||
Planificación · Habemus QA
Planificación · Del plan a la tarea
Subtareas terminadas por integrante, sprints 0 a 3 · más 1 de todo el equipo: la lluvia de ideas
Definición de listo
Definición de hecho
Catálogo de requisitos · SRS 1.8
| ID | Requisito | Dificultad | Sprint | Estado |
|---|---|---|---|---|
| RF-01 | Detección de anomalía térmica sostenida | Alta | Sprint 1 | Verificado |
| RF-02 | Proyección de tendencia a corto plazo | Alta | Sprint 1 | Verificado |
| RF-03 | Notificación automáticaPush en la app: SRS 1.7 | Alta | Sprint 1push: Sprint 5 | Verificadocorreo y aviso en la app |
| RF-04 | Mapa interactivo de estado por zona | Media | Sprint 1 | Verificado |
| RF-05 | Gráficos históricos por laboratorio | Media | Sprint 1 | Verificado |
| RF-06 | Comparación entre laboratorios costeros | Media | Sprint 1 | Verificado |
| RF-07 | Registro y autenticación de usuariosRecuperación de contraseña: SRS 1.8 | Baja | Sprint 1recuperación: Sprint 2 | Verificado |
| RF-08 | Importación y actualización del dataset ATSM | Baja | Sprint 1 | Verificado |
| RF-09 | Aplicación móvil AndroidNuevo en la SRS 1.7 | Alta | Sprints 1 y 2fases 4 a 6: sprints 5 a 7 | Fases 0 a 3 de 6 |
Atributos de cada requisito · ISO/IEC/IEEE 29148
Criterio de aceptación de ejemplo
CA-01.1 Dado una serie con 5 registros cálidos consecutivos, cuando se evalúa, entonces se registra un episodio; con 4 registros, no.
CA-01.3 Dado una anomalía de exactamente +0.5 °C, entonces se clasifica como neutra.
Catálogo de requisitos · Modelo y cambios
Versiones de la SRS: cada cambio con fecha, motivo y responsable
Trazabilidad de punta a punta · ejemplo: RF-08
Calidad · Al cerrar la fase 3 de la app (28 de septiembre)
Pruebas por suite
Cobertura de sentencias
Defectos encontrados y corregidos
en 14.2 KLOC: 2.32 por KLOC.
0 llegaron a un usuario.
Dónde se detectaron
Cada uno queda en defectos.md con su etapa, RF, severidad, detección, corrección y horas.
Infraestructura · Producción
Producción · compose.prod.yml
Desarrollo y pruebas · compose.yml
La API espera a que PostgreSQL pase su chequeo, pg_isready, y los tres servicios se reinician solos
La web pide la API en su mismo dominio, bajo /api
Un bloqueo de PostgreSQL evita que dos réplicas las apliquen a la vez
Infraestructura · Configuración en Dokploy
Infraestructura · Rendimiento y disponibilidad
Uptime Kuma corre en el equipo de desarrollo y consulta /api/health/ready cada minuto: con el equipo apagado no hay chequeos y ese tiempo no cuenta. Las caídas del periodo son del 22 y 23 de septiembre; parte fueron del propio equipo que mide, saturado por una compilación.
Diseño de interfaces · Guía de diseño
Principios
Color · tema.css
#0a2530#f3f7f5#e8b84b#1f6f80#465b62#d3dfddTodo texto cumple 4.5:1 sobre su fondo; estados e iconos, 3:1. Un color fuera del sistema no compila.
Estados térmicos · paleta.ts
#d4643a
Neutroraya#9a8650
Fríoflecha abajo#2b94a8
Sin datoscírculo punteado#75878c
paleta.test.ts comprueba el contraste de cada estado.
Tipografía
Forma y accesibilidad
Diseño de interfaces · Pantallas web rediseñadas
Diseño de interfaces · App Android y avance
Qué funciona hoy
Lo que falta para el Hito 2
Próximos pasos
Exponer el Hito 1, integrar las ramas a main y cerrar los pendientes de calidad
Fase 4 de la app: notificaciones push de extremo a extremo
Fase 5 de la app y revisión de pruebas de todos los requisitos
Fase 6 de la app y entrega del Hito 2
Gracias. ¿Preguntas?