lunes, 26 de mayo de 2025

La validación de requisitos en el desarrollo de SW

La validación de requerimientos en el desarrollo de software es responsabilidad principal del analista de requerimientos o analista de sistemas, aunque también participan otros actores clave como:

  • Clientes o usuarios finales: Aseguran que los requerimientos reflejen sus necesidades reales.

  • Desarrolladores: Validan la viabilidad técnica de los requerimientos.

  • Gerentes de proyecto: Aseguran que los requerimientos estén alineados con los objetivos del proyecto.

  • Testers o QA (Aseguramiento de Calidad): Verifican que los requerimientos sean testables y verificables.

Técnicas de Validación de Requerimientos

Estas técnicas se utilizan para garantizar que los requerimientos sean correctos, completos, consistentes y verificables:

  1. 1. Revisiones o Inspecciones

    Qué es:
    Es un proceso formal en el que se revisan los documentos de requerimientos con la participación de un equipo multidisciplinario (clientes, analistas, desarrolladores, testers, etc.).

    Objetivo:
    Detectar errores, ambigüedades, omisiones, redundancias o contradicciones.

    Cómo se realiza:

    • Se distribuyen los documentos antes de la reunión.

    • Todos los participantes revisan el contenido.

    • Durante la sesión, se discuten cada requerimiento y se documentan los hallazgos.

    • Se genera un informe con observaciones y correcciones a aplicar.

    Ventajas:

    • Mejora la calidad de los requerimientos antes de pasar a la fase de diseño.

    • Involucra a todas las partes interesadas.


    2. Prototipos

    Qué es:
    Son representaciones visuales o funcionales del sistema (mockups, wireframes o prototipos navegables).

    Objetivo:
    Permitir al usuario visualizar cómo funcionará el sistema antes de implementarlo.

    Cómo se realiza:

    • Se crean maquetas en herramientas como Figma, Balsamiq, Adobe XD, etc.

    • Se presentan al cliente para verificar si cumplen con sus expectativas.

    • Se ajustan los requerimientos en base a los comentarios.

    Ventajas:

    • Reduce malentendidos.

    • Aumenta la retroalimentación temprana del cliente.


    3. Casos de Uso / Escenarios

    Qué es:
    Son descripciones detalladas de cómo los usuarios interactúan con el sistema en situaciones específicas.

    Objetivo:
    Asegurar que los requerimientos cubran correctamente las necesidades funcionales desde la perspectiva del usuario.

    Cómo se realiza:

    • Se define un actor (usuario o sistema externo).

    • Se describe una secuencia de pasos para lograr un objetivo (ej: registrar un alumno).

    • Se revisa con el usuario para validar el flujo.

    Ventajas:

    • Facilita la comprensión del sistema por parte del cliente.

    • Ayuda a identificar requerimientos faltantes o mal planteados.


    4. Pruebas de Validación (Validación por prueba)

    Qué es:
    Crear casos de prueba basados en los requerimientos para validar que sean claros, completos y verificables.

    Objetivo:
    Asegurar que cada requerimiento pueda probarse en el sistema real.

    Cómo se realiza:

    • Se redactan casos de prueba para cada requerimiento.

    • Se identifican criterios de aceptación.

    • Se ejecutan las pruebas y se comparan los resultados con lo esperado.

    Ventajas:

    • Confirma que los requerimientos se pueden implementar y verificar técnicamente.

    • Detecta requerimientos vagos o ambiguos.


    5. Entrevistas y Encuestas

    Qué es:
    Consiste en preguntar directamente a los interesados (clientes, usuarios, expertos) para validar los requerimientos.

    Objetivo:
    Obtener retroalimentación directa sobre si los requerimientos satisfacen las necesidades del negocio.

    Cómo se realiza:

    • Se preparan preguntas abiertas o cerradas.

    • Se realizan entrevistas individuales o en grupo.

    • También se pueden aplicar encuestas por formulario.

    Ventajas:

    • Aporta perspectiva real del negocio.

    • Permite detectar requerimientos que no se han documentado.


    6. Walkthroughs (Recorridos)

    Qué es:
    Es una revisión informal donde el autor del documento guía a los participantes a través de los requerimientos, paso a paso.

    Objetivo:
    Detectar posibles errores o dudas mientras se repasan los requerimientos en conjunto.

    Cómo se realiza:

    • El autor presenta el documento y explica el contenido.

    • Los participantes hacen preguntas o comentarios durante el recorrido.

    • Se registran observaciones.

    Ventajas:

    • Buena técnica para equipos pequeños o con recursos limitados.

    • Fomenta la colaboración entre analistas y usuarios.


    7. Técnicas de Modelado

    Qué es:
    Consiste en representar los requerimientos mediante diagramas (como UML, BPMN, ERD, etc.).

    Objetivo:
    Visualizar procesos, entidades y relaciones para facilitar la validación.

    Cómo se realiza:

    • Se crean diagramas como:

      • Diagramas de casos de uso

      • Diagramas de clases

      • Diagramas de flujo

      • Diagramas de actividades o BPMN

    • Se presentan a los interesados para validación visual.

    Ventajas:

    • Clarifica estructuras y procesos complejos.

    • Facilita la identificación de errores lógicos.


    8. Matrices de Trazabilidad

    Qué es:
    Es una tabla que relaciona los requerimientos con otros artefactos del proyecto (objetivos del negocio, casos de uso, pruebas, módulos de código).

    Objetivo:
    Asegurar que cada requerimiento esté cubierto en el diseño, desarrollo y pruebas.

    Cómo se realiza:

    • Se listan todos los requerimientos.

    • Se vinculan con sus correspondientes casos de uso, módulos de sistema y pruebas.

    • Se mantiene actualizada durante todo el proyecto.

    Ventajas:

    • Ayuda a controlar el alcance.

    • Permite verificar que no se omita ningún requerimiento en el desarrollo o pruebas.

Ejemplo práctico: 

Casos de Uso

Proyecto de ejemplo: Sistema de gestión escolar.
Función a validar: Registro de calificaciones por parte del maestro.


Caso de Uso: Registrar Calificaciones

Nombre del caso de uso:

Registrar calificaciones de los alumnos

Actor principal:

Maestro

Actores secundarios:

Sistema (valida datos y guarda en base de datos)

Precondiciones:

  • El maestro debe estar autenticado en el sistema.

  • El alumno ya debe estar inscrito en el curso.

Flujo principal (escenario básico):

  1. El maestro accede a la opción "Registrar Calificaciones".

  2. El sistema muestra una lista de sus grupos y asignaturas.

  3. El maestro selecciona un grupo y una materia.

  4. El sistema muestra la lista de alumnos.

  5. El maestro ingresa la calificación para cada alumno.

  6. El maestro confirma el registro.

  7. El sistema valida que los valores estén en el rango permitido (por ejemplo, 0-10).

  8. El sistema guarda las calificaciones.

  9. El sistema confirma al maestro que los datos fueron guardados correctamente.

Flujos alternativos:

  • Paso 7A: Si una calificación no es válida, el sistema muestra un mensaje de error y no permite guardar hasta que se corrija.

  • Paso 1A: Si el maestro no está autenticado, el sistema lo redirige a la pantalla de inicio de sesión.

Postcondiciones:

  • Las calificaciones quedan registradas en la base de datos del sistema.

  • El sistema está listo para mostrar estas calificaciones a alumnos y padres según permisos.


 ¿Cómo se usa este caso de uso para validar requerimientos?

  • Con el usuario (maestro): Se revisa el caso de uso en una reunión. Se le pregunta:
    "¿Este flujo cubre lo que tú haces en la vida real al calificar alumnos?"
    Si el maestro dice que necesita subir archivos Excel, o que califica por parcial y no final, eso indicaría que faltan requerimientos.

  • Con el desarrollador: El caso de uso permite verificar si el proceso es implementable con la tecnología disponible.

  • Con QA (pruebas): Se pueden generar casos de prueba desde este caso de uso, por ejemplo:

    • ¿Qué pasa si se ingresa un número fuera del rango?

    • ¿Qué pasa si se omite una calificación?


Resultado de aplicar la técnica:

  • Validación funcional realista.

  • Se identifican omisiones o ambigüedades.

  • Se ajustan los requerimientos antes de programar.

  • Se mejora la comunicación entre usuarios y desarrolladores.

No hay comentarios.:

Publicar un comentario

La validación de requisitos en el desarrollo de SW

La validación de requerimientos en el desarrollo de software es responsabilidad principal del analista de requerimientos o analista de sis...