Análisis de requisitos
#ingenieriaDeSoftware #universidad
Modelo de Análisis
El modelo de análisis debe:
- Describir las necesidades del cliente.
- Establecer la base para el análisis funcional y el diseño del software.
- Definir reglas funcionales y no funcionales que el usuario validará al finalizar el desarrollo.
Descripción del Sistema
El análisis de requisitos a nivel de sistema debe:
- Transformar el modelo de negocio en requisitos del sistema que detallen la funcionalidad para el desarrollo de software y bases de datos.
- Incluir diagramas estructurados u orientados a objetos y diagramas de datos para la construcción del sistema.
- Desarrollar interfaces basadas en los estándares de la organización, que deberán ser validadas por el usuario antes de su implementación.
- Detallar la arquitectura del software y datos, incluyendo el desarrollo o consumo de servicios.
Requerimientos del Software
Los requerimientos especifican lo que el sistema debe hacer (funciones) y sus propiedades esenciales. En otras palabras, describen qué hace el sistema, mientras que el diseño define cómo lo hace.
Tipos de Requerimientos:
-
Requerimientos Funcionales:
- Describen los servicios que debe proporcionar el sistema, cómo reaccionar ante ciertas entradas y cómo comportarse en situaciones específicas.
- En algunos casos, también indican lo que el sistema no debe hacer.
-
Requerimientos No Funcionales:
- Imponen restricciones al sistema, como tiempos de respuesta, fiabilidad, capacidad de almacenamiento, y restricciones del proceso de desarrollo.
Otros Tipos de Requerimientos:
- Requerimientos del negocio: ¿Por qué se realiza el proyecto?
- Requerimientos del usuario: Lo que los usuarios esperan del producto.
- Requerimientos de software: Lo que los desarrolladores deben construir.
Importancia de los Requerimientos
- Entender al cliente: Ayudan a que los desarrolladores comprendan lo que el cliente espera del sistema.
- Guía para el desarrollo: Indican la funcionalidad y características que debe tener el sistema.
- Validación: Permiten definir qué pruebas deben realizarse para asegurar que el sistema cumple con lo esperado.
Características de los Requerimientos:
- Correctos: Revisados por cliente y desarrollador para evitar errores.
- Consistentes: No deben contradecirse entre ellos.
- Realistas: Deben ser implementables dentro de un tiempo razonable.
- Verificables: Deben ser medibles para comprobar su cumplimiento.
Captura de Requerimientos
La captura de requerimientos tiene como objetivo entender lo que los clientes y usuarios esperan del sistema, y distinguir entre aspectos clave e irrelevantes.
Técnicas de Captura de Requerimientos:
- Entrevistas: Directamente con los clientes y usuarios.
- Observación: Revela problemas y detalles no siempre captados en entrevistas.
- Prototipado: Iteración de modelos hasta cumplir con las expectativas del cliente.
- Reuniones JAD (Joint Application Development): Sesiones grupales con analistas, usuarios y clientes para definir los requisitos.
Técnicas de Elicitación de Requerimientos
- Tormenta de Ideas (Brainstorming)
- Análisis de Documentos
- Focus Group
- Análisis de Interfaces
- Entrevistas:
- Tipos: Estructuradas, Semi-estructuradas, Abiertas.
- Etapas: Introducción, Desarrollo, Cierre, Documentación.
- Observación
- Prototipos
- Talleres de Requisitos
- Encuestas/ Cuestionarios
- Técnicas Grupales de Toma de Decisiones
- Estudios Comparativos
- Modelado de Lógica de Negocios
UML en la Especificación de Requerimientos
El UML (Lenguaje Unificado de Modelado) permite crear modelos del sistema que son precisos, completos y sin ambigüedades, lo que facilita la especificación de requerimientos para sistemas de software complejos.