Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PARTE I Introduccin
sistema, cuando se hace mal... Ninguna otra tarea es tan difcil de rectificar a posterioriF. P. Brooks, 1987
Consecuencias
desarrolladores
S Puede ser imposible demostrar si el software cumple, o
sistemaequivocado
La complejidad
Tambin hay
S Sistemas de cientos de requisitos S Sistemas de miles de requisitos S Sistemas de 5.000 requisitos S Sistemas de ms de 10.000 S Sistemas de incluso 60.000 (!) requisitos
175.000 proyectos.
S 31,1% (23%) son cancelados S 52,7% (49%) cuestan un 190% ms de lo estimado
presupuesto, pero el producto final poseer (aprox.) la mitad de los requisitos iniciales
Boehm, 1975: 45% de los errores tienen su orgen en los requisitos y en el diseo preliminar.
S
S S S S S
DeMarco, 1984: 56% de los errores que tienen lugar en un proyecto Sw. Se deben a una mala Especificacin de Requisitos
Chaos Report: Los factores principales que conducen al fracaso en los proyectos Sw. Son Falta de comunicacin con los usuarios Requisitos incompletos Cambios a los requisitos Hoy. Parece que se mejora, pero muy poco a poco.
Qu podemos hacer?
los requisitos
S MAS RECURSOS PARA LA FASE DE REQUISITOS !!!
Soluciones definitivas?
S S S S S S
No se ha encontrado solucin universalmente vlida Hay serias dudas acerca de si dicha solucin existe Nos movemos en la frontera socio-tcnica de los sistemas: borrosa, voluble e inconsistente Los requisitos es donde lo formal se encuentra con lo informal (M. Jackson) Los requisitos estan vivos: emergen, interactan, cambian, desaparecen... Desconfiar de quien ofrezca la solucin definitiva a estos problemas !!!
Ingeniera de Requisitos
herramientas que permiten descubrir, documentar y mantener los requisitos para sistemas basados en computadora, de forma sistemtica y repetible.
S La comparacin del Chaos Report de 1995 con 2002
que ejerza unos efectos R en un dominio K. La conexin se realiza a travs de una interfaz S.
S Los efectos R son los requisitos: Necesidades, metas,
objetivos S El conocimiento del dominio K describe el contexto. S La mquina (hw+sw) es la que realizar los requisitos R, gracias a S, que describe la conexin con el dominio K. S En la fase de requisitos tan slo necesitamos K, S y R. No necesitamos describir el comportamiento interno de la mquina Idealmente: K y S => R
Ejemplo K,S y R
S Sistema de control de una caldera de vapor. Ejemplos: S K: el agua entra en ebullicin a 100 Grados Centgrados y a 1 atm. de presin S R: El sistema evitar que el agua entre en ebullicin S S: El sistema leer la temperatura del agua por medio del sensor S342, El sistema podr subir la temperatura del agua por medio del regulador R452
Informacin acerca del problema a solucionar Propiedades y comportamiento del sistema Restricciones de diseo y fabricacin del producto Descripciones acerca de cmo el futuro sistema ayudar a sus usuarios a realizar mejor sus tareas
Restricciones acerca de la tecnologa que ser utilizada en la construccin del sistema (protocolos, SSOO, COTS, etc.)
Restricciones acerca de las propiedades emergentes del sistema (requisitos no funcionales)
S
Los requisitos NO son anlisis top-down, ni son la arquitectura del sistema, ni son el qu frente al cmo.
expresado en una frases corta (el sistema har X ..., se facilitar Y..., etc) notaciones formales
S O lenguaje natural complementado con diagramas y/o S La notacin utilizada depende de quien lee o quien
autor o ISBN
S 4. El interfaz de usuario se implementar sobre un navegador Web S 5. El sistema deber soportar al menos 20 transacciones por segundo S 6. El sistema permitir que los nuevos usuario se familiaricen con su
Requisitos en negativo
S Se debe mantener la distincin liveness/safety S Liveness: dicen lo que el sistema debe hacer S Safety: dicen lo que el sistema no debe hacer
requisitos funcionales
S El sistema aceptar pagos con VISA de forma segura y con un
SET
Orientados al usuario: Fiabilidad Seguridad (security) Seguridad (safety) Usabilidad Robustez Disponibilidad Rendimiento Tiempo de respuesta Capacidad (carga) Throughput
S S S S S S S
Relacin RequisitosArquitectura?
S La eleccin de una determinada arquitectura sw. Debe tener
en cuenta los requisitos funcionales pero, sobre todo, los requisitos no funcionales
S No hay una regla definitiva para establecer, dados los
El proceso de requisitos
El proceso 2
estructurado de actividades que sirven para derivar, validar y mantener los requisitos de un sistema (hardware, software o hardware+software).
Variaciones en el proceso
S Segn la naturaleza del proyecto S dirigido al mercado S a medida S Segn la naturaleza de la aplicacin S Riesgo S Recursos S Incertidumbre S Sistemas empotrados
recursos
S Se reciben quejas acerca de la inteligibilidad del documento de
requisitos
S Los implementadores se quejan del trabajo perdido por culpa de
solicitudes de cambios
S Lleva demasiado tiempo alcanzar un acuerdo cuando se proponen
Educcin
S La educcin de requisitos se refiere a la captura y
Fuentes de requisitos
Problemas de la educcin
tareas
S Mucha informacin importante no llega a verbalizarse S A veces hay que inventar los requisitos
cooperativo
S S
S S S S S S
Diseador: para cuando? Cliente: 18 meses Diseador: qu hay que transportar? Cliente: personas Diseador: Cuntas personas a la vez? Cliente: Una Diseador: Qu clase de energa lo mueve? Cliente: El pasajero Diseador: sobre que clase de superficie? Cliente: Una superficie plana y dura Diseador: Cul es la distancia mxima a recorrer? Cliente: Unos 2 km. Diseador: Cul es el coste?
S S S S S S S S
Cliente: Unos 300 pesos cada vez que se use. Etc. Finalmente: se fabrica un triciclo. El cliente (alcalde de Grindelwald) destaca su gran portabilidad (?). Dice: Es muy portable pero cmo se utiliza cuando llegue el momento de rescatar a un alpinista en la cara norte del monte Eiger? LO QUE SE QUERA ERA UN DISPOSITIVO QUE AYUDE A RESCATAR ALPINISTAS !
S S S
Tcnicas de educcin
S
S
S S
Brainstorming
Creatividad? (herramientas como ideafisher, curio, mindjet, etc.) Entrevistas: Es el mtodo tradicional
S
S S S S
Anlisis de Requisitos
(implementables).
S Se realizan tres tareas fundamentales: S Clasificacin S Modelizacin
S Negociacin
S En el anlisis de requisitos, stos se clasifican S En funcionales vs. no funcionales (Capacidades vs. S Restricciones) S Por prioridades S Por coste de implementacin S Por niveles (alto nivel, bajo nivel) S Segn su volatilidad/estabilidad S Si son requisitos sobre el proceso o sobre el producto S En Ingeniera de Sistemas, adems, se realiza la ubicacin de
Modelizacin conceptual
S S S S
Ciertos aspectos de los requisitos se expresan mediante modelos de datos, de control, de estados, de interaccin, de objetos, etc. La meta es entender mejor el problema, ms que iniciar el diseo de la solucin (idealmente) El tipo de modelo elegido depende de
S S S S
La naturaleza del problema La experiencia del modelizador La disponibilidad de herramientas Por decreto. El cliente impone una notacin
Negociacin de requisitos
El Documento de Requisitos
S S
Es el modo habitual de guardar y comunicar requisitos. Es buena prctica utilizar, al menos, dos documentos, a distinto nivel de detalle
S S
DRU = Documento de Requisitos de Usuario (en ingls, URD) ERS = Especificacin de Requisitos Software (en ingls, SRS)
OJO: Con Documento nos referimos a cualquier medio electrnico de almacenamiento y distribucin:
S S S
Estndares
generar documentacin en los anteriores formatos, a partir de una base de datos de requisitos.
S
S
debera poseer 24! caractersticas: No ambigua Completa Correcta Comprensible Verificable Internamente consistente Externamente consistente Realizable
Concisa Independiente del diseo Trazable Modificable Electrnicamente almacenada S Ejecutable/Interpretable S Anotada por rel. importancia S Anotada por rel. estabilidad
MAS
S
S S S S
S
S S
Trazada
Organizada Con referencias cruzadas
Gestin de Requisitos
requisitos.
S Asegura la consistencia ente los requisitos y el sistema
construido (o en construccin)
S Consume grandes cantidades de tiempo y esfuerzo S Abarca todo el ciclo de vida del producto
Por qu es necesaria?
S Los requisitos son voltiles S El entorno fsico cambia S Trasladar un sistema de un entorno a otro requiere modificaciones S El entorno organizacional cambia S Las polticas cambian S Cambios en las reglas y en los procesos del negocio provocan cambios en el sistema S La propia existencia del sistema va a generar nuevos requisitos
los anlisis que se realizarn antes de aceptar los cambios propuestos (una Software Change Request (SCR) de la NASA ocupa ms de 500 pginas !!!).
S Cambiar los atributos de los requisitos afectados
entre requisitos (P.ej. Proyectos para la FDA) Control de versiones del documento de requisitos
S
S S
Ejemplos:
S S S
Eplogo
S Slo habr una verdadera Ingeniera de Requisitos cuando S Todos los posibles sistemas software hayan sido construidos al
menos una vez (fin de las novedades) ... S Los sistemas se instalen en entornos fijos e inamovibles, como sucede con los puentes o los edificios ... S La tecnologa deje de evolucionar ... S Se pueda predecir el futuro con exactitud
S Mientras tanto, tenemos la obligacin de minimizar los daos