Tecnologia
Ingeniería de Requisitos
Curso 2008-2009 Gonzalo Méndez Dpto. de Ingeniería de Software e Inteligencia Artificial Facultad de Informática Universidad Complutense de Madrid
REQUISITOS
Problemas
Los usuarios no saben lo que quieren Un sistema tiene muchos usuarios y ninguno tiene unavisión de conjunto No saben cómo hacer más eficiente la operación en su conjunto No saben qué partes de su trabajo pueden transformarse en software No saben detallar lo que saben de forma precisa
Solución tradicional: analistas
Labores
• • • obtener una lista de requisitos de cada usuario adquirir una visión de conjunto componer una especificación completa, correcta y consistenteDesventajas
• listas de requisitos son difíciles de comprender y de hacer bien • difíciles de transformar en especificaciones de diseño e implementación
¿Qué buscamos?
Requisitos
• Los detalles sobre lo que tendremos que hacer
Viabilidad
• Saber si se va a poder hacer o no
Alcance
• Cuánto de lo que se podría hacer nos va a dar tiempo a hacer con el tiempo y la gente que tenemosIngeniería de Requisitos
La IR trata de los principios, métodos, técnicas y herramientas que permiten descubrir, documentar y mantener los requisitos para sistemas basados en computadora de forma sistemática y repetible
Ingeniería de Requisitos
Lo más difícil en la construcción de un sistema software es decidir precisamente qué construir No existe tarea con mayor capacidad de lesionar al sistema,cuando se hace mal Ninguna otra tarea es tan difícil de rectificar a posteriori F. P. Brooks, 1987
Hechos
Boehm, 1975: 45% de los errores tienen su origen en los requisitos y en el diseño preliminar DeMarco, 1984: 56% de los errores que tienen lugar en un proyecto software se deben a una mala Especificación de Requisitos Hasta hoy no se ha mejorado mucho
Otras historias
Uno de losestudios más conocidos es el de la General Accounting Office (GAO) de EEUU. Este estudio de 1979 reveló que 47% del dinero empleado en proyectos software se destinó a sistemas que no llegaron a utilizarse. Otro 29% se empleó en proyectos que no llegaron a finalizar. Otro 19% se empleó en software que tuvo que ser profundamente modificado tras su entrega. Finalmente, tan sólo un 2% del dinero se empleóen proyectos software que sí cumplieron con sus requisitos, pero se trataba de proyectos más bien pequeños o de poca envergadura
Más historias
En 1981, Victor Basili encontró cerca de 88 errores en una ERS de 400 páginas para el proyecto “A-7E Operational Flight Program”. Esta ERS había sido escrita por un grupo de expertos en especificación de requisitos. Recientemente, la NASA ha sufrido dosaccidentes espectaculares cuyo origen se atribuye a problemas durante la definición de los requisitos.
Evidencias empíricas
Los requisitos contienen demasiados errores Muchos de estos errores no se detectan al principio Muchos de estos errores podrían ser detectados al principio No detectar estos errores incrementará los costes (tiempo, dinero) de forma exponencial
Coste de los erroresEtapa Requisitos Diseño Codificación Pruebas unitarias Pruebas sistema Explotación/Mtmto. Coste de la reparación 1-2 5 10 20 50 200
Acumulación de los errores
Qué son los requisitos
Todo problema sw. consiste en configurar una máquina M para que ejerza unos efectos R en un dominio D
• Los efectos R son los requisitos: Necesidades, metas, objetivos • El dominio D es el contexto: Losrequisitos R, sin contexto, no tienen sentido. Cambiando el contexto D, un requisito de R pierde su sentido. • La máquina M es la que realizará los requisitos R, gracias a su conexión con D. En la fase de requisitos tan sólo necesitamos describir las conexiones de M con D (comportamiento externo de M, sin detalles internos).
Por extensión, en IR se denominan “requisitos” a los conjuntos M, R y D,...
Regístrate para leer el documento completo.