# Encuesta EPAM V9 — Evaluación técnica del prototipo

Versión orientada al proyecto de innovación SENATI. Mantiene el diagnóstico de 33 preguntas y mejora la etapa posterior de evaluación del prototipo.

## Qué cambia en V9

- Se conserva la encuesta diagnóstica y sus registros existentes.
- La evaluación posterior separa claramente:
  - revisión manual;
  - revisión con el sistema;
  - validación de resultados;
  - percepción del usuario.
- Se registran por separado ambigüedades, duplicados, contradicciones y problemas de completitud encontrados manualmente y por el sistema.
- Se agregan Verdaderos Positivos (VP), Falsos Positivos (FP) y Falsos Negativos (FN).
- El sistema calcula precisión, recall y F1 cuando existen datos de validación.
- El informe técnico incorpora comparación manual vs. sistema, reducción de tiempo, detecciones, VP/FP/FN y métricas de exactitud.
- Se agregan facilidad de uso y claridad de recomendaciones en escala 1–5.
- La entrada principal detecta automáticamente si falta actualizar el esquema y envía al instalador.

## Actualización desde V8 / V8.1

1. Hacer copia de seguridad de PostgreSQL antes de reemplazar archivos.
2. Copiar la V9 al servidor.
3. Conservar o revisar el archivo `.env` con la conexión correcta.
4. Abrir la raíz pública del sistema.
5. Si faltan columnas V9, el sistema enviará automáticamente a `instalar.php`.
6. Pulsar **Instalar / actualizar sistema**.

El actualizador usa `CREATE TABLE IF NOT EXISTS` y `ALTER TABLE ... ADD COLUMN IF NOT EXISTS`, por lo que no elimina las encuestas existentes.

Como alternativa, conectado a la base `encuesta_epam`, puede ejecutarse un único archivo:

`sql/actualizar_v9.sql`

## Flujo recomendado para cada prueba

1. Seleccionar participante/evaluador.
2. Evaluar un requerimiento manualmente y registrar tiempo y problemas encontrados.
3. Evaluar exactamente el mismo requerimiento con el sistema.
4. Validar los resultados contra una referencia revisada.
5. Registrar VP, FP y FN.
6. Registrar correcciones antes/después y valoraciones del usuario.
7. Guardar la medición.
8. Consultar el informe técnico.

## Interpretación de VP, FP y FN

- **VP:** problema real detectado correctamente por el sistema.
- **FP:** alerta del sistema que no corresponde a un problema real.
- **FN:** problema real que el sistema no detectó.

Métricas:

- Precisión = VP / (VP + FP)
- Recall = VP / (VP + FN)
- F1 = 2 × (Precisión × Recall) / (Precisión + Recall)

No se deben registrar estas métricas por intuición. Deben compararse contra casos cuya respuesta esperada haya sido validada previamente.

## Recomendación para el banco de pruebas

Usar varios requerimientos, no solo uno. Como punto de partida:

- 2 con ambigüedad;
- 2 con información incompleta;
- 2 con contradicciones;
- 2 duplicados o muy similares;
- 2 correctamente redactados.

Con cuatro evaluadores y diez casos se pueden obtener hasta 40 mediciones.

## Archivos principales

- `public/evaluacion.php`: evaluación manual vs. sistema.
- `public/informe_senati.php`: informe técnico y métricas posteriores.
- `public/instalar.php`: instalación/actualización automática.
- `sql/instalar.sql`: esquema completo e idempotente.
- `sql/actualizar_v9.sql`: actualización V9 en un solo archivo SQL.

## Seguridad

Cambiar la contraseña administrativa inicial antes de exponer el sistema públicamente. El archivo `.env` no debe servirse desde Apache/Nginx ni publicarse en repositorios.
