erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-003-diagnosticos/historias-usuario/US-MMD003-004-comparar-referencias.md

148 lines
3.2 KiB
Markdown

# US-MMD003-004: Comparar Resultados vs Referencias
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | US-MMD003-004 |
| **Epica** | EPIC-MMD-003 - Diagnosticos |
| **Modulo** | diagnosticos |
| **Prioridad** | P0 |
| **Story Points** | 5 |
| **Sprint** | Sprint 3 |
| **Estado** | Backlog |
---
## Historia de Usuario
**Como** mecanico,
**quiero** comparar automaticamente los resultados de pruebas contra valores de referencia,
**para** determinar rapidamente si un componente esta dentro de especificaciones.
## Descripcion Detallada
El sistema tiene una base de datos de especificaciones por marca y modelo de motor. Al registrar resultados, compara automaticamente y muestra semaforo visual.
---
## Criterios de Aceptacion
**Escenario 1: Comparacion automatica**
```gherkin
DADO que registro prueba de inyector Cummins ISX15
CUANDO ingreso presion de apertura: 2950 PSI
ENTONCES el sistema busca referencia ISX15:
| Min | Max |
| 2800 | 3200 |
Y muestra: ✅ OK (dentro de rango)
```
**Escenario 2: Semaforo de estado**
```gherkin
DADO que tengo multiples parametros
CUANDO veo el resumen
ENTONCES cada parametro tiene indicador:
| Parametro | Valor | Ref | Estado |
| Presion | 2950 | 2800-3200 | ✅ Verde |
| Caudal | 58 | 45-55 | ⚠️ Amarillo |
| Retorno | 35 | 0-20 | ❌ Rojo |
```
**Escenario 3: Valor fuera de rango**
```gherkin
DADO que un valor esta fuera de rango
CUANDO el sistema detecta la desviacion
ENTONCES:
- Muestra indicador rojo
- Calcula porcentaje de desviacion: "+75%"
- Sugiere accion: "Retorno excesivo - revisar sellos"
```
**Escenario 4: Sin referencia disponible**
```gherkin
DADO que no hay referencia para el componente
CUANDO registro el valor
ENTONCES el sistema muestra:
- Indicador gris "Sin referencia"
- Permite guardar el valor
- Sugiere agregar referencia
```
**Escenario 5: Tolerancia configurable**
```gherkin
DADO que un valor esta en zona limite
CUANDO esta a 5% del limite
ENTONCES muestra indicador amarillo "Cerca del limite"
```
---
## Logica de Semaforo
| Estado | Condicion | Color |
|--------|-----------|-------|
| OK | Dentro de rango | Verde |
| Atencion | 90-100% del limite | Amarillo |
| Fuera | Fuera de rango | Rojo |
| Sin ref | No hay especificacion | Gris |
---
## Tareas Tecnicas
**Database:**
- [ ] DB-067: Crear tabla `reference_specs`
- [ ] DB-068: Poblar con especificaciones comunes
**Backend:**
- [ ] BE-133: Servicio de comparacion
- [ ] BE-134: Calcular desviacion porcentual
- [ ] BE-135: Sugerencias automaticas
**Frontend:**
- [ ] FE-134: Crear ComparisonBadge component
- [ ] FE-135: Crear ResultsTable con semaforo
- [ ] FE-136: Tooltip con detalles de referencia
---
## Especificaciones Base (Ejemplo)
```yaml
cummins_isx15:
injector:
opening_pressure:
min: 2800
max: 3200
unit: PSI
return:
min: 0
max: 20
unit: ml/min
flow:
min: 45
max: 55
unit: ml/100
pump:
max_pressure:
value: 1800
tolerance: 5%
unit: PSI
```
---
## Definition of Done (DoD)
- [ ] Comparacion automatica al registrar
- [ ] Semaforo visual
- [ ] Calculo de desviacion
- [ ] Manejo de sin referencia
- [ ] Tests pasando
---
**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06