Procesos de la Ingeniería de Requerimientos
Gonzalo Mena Mendoza
Ingeniería de Requerimientos
Maestría en Ingeniería de Software Distribuido
Universidad Autónoma de Querétaro
Fuente
Ian Sommerville
"Procesos de la Ingeniería de Requerimientos", Cap.6
Ingeniería de Requerimientos, 6a. edición
Adison-Wesley, 2002
Objetivos
- Conocer las principales actividades de la ingeniería de requerimientos y sus relaciones.
- Presentar diversas técnicas para la obtención y análisis de requerimientos.
- Conocer la importancia de la validación de requerimientos y cómo se utilizan las revisiones de éstos en este proceso.
- Entender por qué es necesaria la administración de requerimientos y cómo ayuda a otras actividades de la ingeniería de requerimientos.
Contenido
- Estudios de factibilidad
- Obtención y análisis de requerimientos
- Validación de requerimientos
- Administración de requerimientos
Definición
La ingeniería de requerimientos es un proceso que comprende todas las actividades para crear y mantener los requerimientos de un sistema.
Comprende cuatro actividades de alto nivel:
- Estudio de factibilidad
- Obtención y análisis de requerimientos
- Validación de requerimientos
- Administración de requerimientos
Existe mucho más que los métodos estructurados (p.e. análisis OO) dentro de la ingeniería de requerimientos. Estos no son efectivos en las etapas iniciales del proceso de IR.
1. Estudios de factibilidad
Un estudio de factibilidad es a corto plazo y orientado a resolver si el sistema:
- Contribuye a los objetivos de la organización.
- Se puede implementar con tecnología actual dentro de costo y tiempo.
- Puede integrarse a otros existentes en la organización.
2. Obtención y análisis de requerimientos
Proceso díficil:
- Los interesados a menudo sólo conocen lo que desean en términos muy generales.
- Los interesados expresan los requerimientos con sus propios términos y con un conocimiento implícito de su propio trabajo.
- Diferente interesados tienen requerimientos distintos y los expresan de varias formas.
- Influencia de factores políticos.
- El entorno es dinámico, la importancia de los requerimientos puede cambiar, nuevos requerimientos pueden surgir.
2. Obtención y análisis de requerimientos
Actividades del proceso:
- Comprensión del dominio
- Recolección de requerimientos
- Clasificación
- Resolución de conflictos
- Priorización
- Verificación (completos, consistente y acordes)
Proceso iterativo con retroalimentación continua de cada actividad a
las otras.
2. Obtención y análisis de requerimientos
Técnicas en esta sección:
- Orientada a puntos de vista
- Escenarios
- Etnografía
Otras técnicas:
- Análisis estructurado
- Prototipeo
2.1. Obtención orientada a puntos de vista
Toma en cuenta la existencia de varias perspectivas y provee de un
marco de trabajo para descubrir conflictos.
Un "punto de vista" puede significar:
- Una fuente o consumidor de datos
- Un marco de trabajo de la representación (un tipo de modelo)
- Un receptor de servicios
2.1. Obtención orientada a puntos de vista
Método VORD (Definición de Requerimientos Orientada a Puntos de Vista)
contiene las siguientes etapas:
- Identificación (quienes reciben qué servicios)
- Estructuración (jerarquía)
- Documentación
- Trazado (OO)
2.2. Escenarios
Son descripciones de ejemplos de las sesiones de interacción con el
sistema. Inicia con un bosquejo y durante la obtención de agregan
detalles. Un escenario incluye:
- Una descripción del estado del sistema al inicio del escenario
- Una descripción del flujo normal de eventos en el escenario
- Una descripción de lo que puede ir mal y cómo manejarlo
- Información de otras actividades que se podrían llevar al mismo tiempo
- Una descripción del estado del sistema después de completar el escenario
2.2. Escenarios
Enfoques estructurados:
- Escenarios de eventos
- Casos de uso
2.2. Escenarios
Escenarios de eventos:
- Utilizados en VORD
- Documentan el comportamiento del sistema cuando se presentan eventos específicos.
- Utilizan diagramas
- Describen el flujo de datos y las acciones del sistema y documenta las excepciones que puedan surgir.
2.2. Escenarios
Casos de uso
- Introducido en el método Objectory.
- Convertido en una característica fundamental de UML.
- Un caso de uso encapsula un conjunto de escenarios en el que cada uno es un camino único a través del caso de uso.
- Los diagramas de secuencia agregan información a un caso de uso.
2.3. Etnografía
- Técnica de observación para entender requerimientos sociales y organizacionales.
- Especialmente efectiva para descubrir:
- requerimientos derivados de la forma real de trabajar más que de la forma en que se debería de trabajar de acuerdo a los procesos establecidos.
- requerimientos derivados de la cooperación y conocimiento de las actividades de la gente.
- Se puede combinar con el prototipeo.
- No es apropiada para descubrir requerimientos organizacionales o del dominio.
- Debe utilizarse en conjunto con otros enfoques, p.e. casos de uso.
3. Validación de requerimientos
- Similar al análisis pero comprende un bosquejo completo del documento en lugar de requerimientos incompletos.
- Importante pues los errores en los requerimientos pueden conducir a costos excesivos si se descubren durante el desarrollo o después de la implantación
- Es difícil demostrar que un conjunto de requerimientos cumple con las necesidades del usuario.
3. Validación de requerimientos
Se deben llevar a cabo diferentes tipos de verificación:
- Verificación de validez
- Verificación de consistencia
- Verificación de integridad
- Verificación de realismo
- Verificabilidad
3. Validación de requerimientos
Técnicas de validación:
- Revisiones de requerimientos
- Construcción de prototipos
- Generación de casos de prueba
- Análisis de consistencia automático (CASE, BD requerimientos)
3.1. Revisiones de requerimientos
- Proceso manual que involucra a varios lectores, tanto del cliente como del contratista.
- Puede ser formal o informal.
- En la revisión formal el equipo de desarrollo "conduce" al cliente a través de los requerimientos, explicándole las implicaciones de cada uno.
- Los conflictos, contradicciones, errores y omisiones deben señalarse durante la revisión y registrarse formalmente.
3.1. Revisiones de requerimientos
Los revisores comprueban:
- Consistencia
- Integridad
- Verificabilidad
- Comprensibilidad
- Rastreabilidad
- Adaptabilidad
4. Administración de requerimientos
- Los requerimientos de sistemas grandes son siempre cambiantes.
- Los sistemas grandes usualmente se desarollan para mejorar el status quo
- Surgirán nuevos requerimientos debido a:
- Comunidad de usuarios diversa. Los requerimientos finales son comunmente un término medio.
- Quien paga es raramente quien usa el sistema.
- Entorno de negocios y técnico cambiante.
4. Administración de requerimientos
- La administración de requerimientos es el proceso de comprender y controlar los cambios en los requerimientos.
- La planeación comienza al mismo tiempo que la obtención inicial de requerimientos.
- La administración activa debe iniciar tan pronto esté lista la primera versión del documento de requerimientos.
4. Administración de requerimientos
Etapas:
- Requerimientos duraderos y volátiles
- Planeación de la administración de requerimientos
- Administración del cambio de los requerimientos
4.1. Requerimientos duraderos y volátiles
Especificar el desarrollo de un sistema grande puede llevar varios años. Desde una perspectiva evolutiva los requerimientos son de dos clases:
- Requerimientos duraderos
- Requerimientos volátiles
- Requerimientos mutantes
- Requerimientos emergentes
- Requerimientos consecutivos
- Requerimientos de compatibilidad
4.2. Planeación de la administración de requerimientos
- La administración de requerimientos es muy cara.
- Durante esta estapa, para cada proyecto, es necesario establecer el nivel de detalle.
- Se tiene que decidir sobre:
- La identificación de los requerimientos
- Un proceso de administración del cambio
- Políticas de rastreo
- Ayuda de herramientas CASE
4.2. Planeación de la administración de requerimientos
- Tipos de información de rastreo:
- Rastreo de la fuente
- Rastreo de los requerimientos
- Rastreo del diseño
- La información de rastreo implica utilizar matrices de rastreo.
4.2. Planeación de la administración de requerimientos
- La administración de requerimientos necesita de ayuda automática para:
- Almacenar requerimientos
- Administrar los cambios
- Administrar el rastreo
- Herramientas CASE, p.e. DOORS y Requisite Pro.
- Sistemas pequeños pueden llevarse con procesador de texto, hoja de cálculo o una pequeña base de datos.
4.3. Administración del cambio de los requerimientos
- Un proceso formal para que todos los cambios propuestos sean tratados de forma consistente.
- Etapas:
- Análisis del problema y especificación del cambio.
- Análisis cambio y costeo.
- Implementación del cambio.
- Siempre existe la tentación de hacer un cambio urgente al sistema y en retrospectiva modificar el documento de requerimientos. Esto conduce a un desfase e inconsistencias.
Puntos Clave
- El proceso de IR incluye un estudio de factibilidad y la obtención, análisis, validación y administración de requerimientos.
- El análisis de requerimientos es un proceso iterativo que incluye la comprensión del dominio y la recolección, clasificación, resolución de conflictos, priorización y verificación de requerimientos.
- Los diferentes interesados del sistema tienen requerimientos diferentes. Por lo tanto los sistemas complejos deben analizarse desde diferentes puntos de vista.
- Los factores sociales y organizacionales tienen influencia sobre los requerimientos y pueden determinar si el software es utilizado o no.
Puntos Clave
- La validación de requerimientos es el proceso de verificarlos ne cuanto a validez, consistencia, integridad, realismo y certidumbre. Las principales técnicas de validación son la revisiones y el prototipeo.
- Los cambios en los negocios, organizacionales y técnicos cambian los requerimientos. La administración de requerimientos es el proceso de gestionar y controlar los cambios.
- La administración de requerimientos incluye la gestión de la planeación, en la cual se especifican las políticas y procedimientos para la administración de los requerimientos, y la del cambio, en la que se analizan los cambios y se evalúa su impacto.