03 Requisitos
Proyecto de IS
Introducción a la IS
Proceso y Ciclo de Vida
Ingeniería de Requisitos
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
consistente
Desventajas
• 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
tenemos
Ingenieríade 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 sehace 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 los estudios másconocidos 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 sufridodos
accidentes 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 loserrores
Etapa
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...
Regístrate para leer el documento completo.