0% encontró este documento útil (0 votos)
24 vistas63 páginas

03 Requisitos

Este documento presenta una introducción a la ingeniería de requisitos. Explica conceptos clave como los requisitos funcionales y no funcionales, y los problemas que surgen cuando los usuarios no especifican claramente sus necesidades. También describe métodos para descubrir requisitos de forma sistemática.

Cargado por

tellov292417
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas63 páginas

03 Requisitos

Este documento presenta una introducción a la ingeniería de requisitos. Explica conceptos clave como los requisitos funcionales y no funcionales, y los problemas que surgen cuando los usuarios no especifican claramente sus necesidades. También describe métodos para descubrir requisitos de forma sistemática.

Cargado por

tellov292417
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 63

Presentación de IS

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
Tªl como Cómo se en la. Ta I r:!omo to
lo ,,.,.era el demanda pro "celo d1se~6
promotQr
esp~~ r... el analls ta
de,E

Ta.~ eome lo dii5eñ.atem l..c que el u~wtitto


lo~ progrmTI'adores ~u~rla
Problemas
 Los usuarios no saben lo que quieren
 Un sistema tiene muchos usuarios y
ninguno tiene una visió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í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 los estudios 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
dos 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 los errores
Etapa Coste de la
reparación
Requisitos 1-2
Diseño 5
Codificación 10
Pruebas unitarias 20
Pruebas sistema 50
Explotación/ 200
Mtmto.
Acumulación de los errores
Problema

"
Especificación Especificació
Especificación Correct n

--------
de Requisitos a Incorrect

------a
-
Diseño
----
Diseño
la Especificación

------
-------- - -----
Diseñ Correcto Erróneo .
o Diseño basado
E erí

.
Programas basa-
. Prog. basados .
Programas Programas

---- - - ----
dos en un en
Implementació Correctos Erróneo
n rr Diseño
ón la
s Especificación
Erróneo
' Errónea "

---
Funciones Errores Errores Errores
Prueb Correctas Corregible eaIncorregible Ocultos
a
<, s s /

PRODUCTOS
IMPERFECTOS
Qué son los requisitos
 Todo problema sw. consiste en configurar una máquina
M
para que
• Los ejerza
efectos unos
R son losefectos R Necesidades,
requisitos: en un dominio D objetivos
metas,
• El dominio D es el contexto: Los requisitos 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
 Pordetalles
extensión, en IR se denominan “requisitos” a los
internos).
conjuntos
M, R y D, aunque tan sólo R sean propiamente requisitos.
Ejemplo
Supóngase que hay que
desarrollar el software para un
sistema de control de una
caldera deentra
• El agua vapor
en ebullición a 100 Grados Centígrados y a 1
 Posibles requisitos
atm de presión
• El sistema evitará que el agua entre en ebullición
• El sistema leerá la temperatura del agua por medio
sensor del
• El sistema podrá subir la temperatura del agua por medio
del regulador
Ejemplo
El agua entra en ebullición a 100
grados Centígrados y a 1 atm de
presión
• no es un requisito, ya que no es una meta ni un objetivo
• es parte de la descripción del dominio (D), y es verdadera
independientemente de la existencia o no del sistema
 sistema evitará que el agua entre en ebullición
El Es un requisito (R). Expresa un deseo u objetivo. Algo que
• el sistema deberá realizar
Ejemplo
El sistema leerá la temperatura
del agua por medio del sensor
El sistema podrá subir la temperatura del agua por
medio del regulador

Describen la conexión del software (máquina M) con el


entorno, es decir, describen el comportamiento externo del
software.

No son metas ni objetivos, pero son necesarios para


conseguir las metas y los objetivos
Ejemplo
 Aunque propiamente
hablando tan sólo el
segundo es un requisito, a la
Ingeniería de Requisitos le
interesan todas las
afirmaciones anteriores, ya
que todas aportan
información relevante para
construir el sistema y para
que el sistema funcione de
la manera deseada
Contenidos relevantes
 Un documento de requisitos
contiene, ante todo:
• Información acerca del problema
• Propiedades y comportamiento del sistema
• Restricciones de diseño y fabricación del producto
Otros contenidos relevantes
 Y además:
• Descripciones acerca de cómo el futuro sistema ayudará a
sus usuarios a realizar mejor sus tareas
• Restricciones acerca de la tecnología que será utilizada en
la construcción del sistema (protocolos, SSOO, COTS, etc.)
• Restricciones acerca de las propiedades emergentes del
sistema (requisitos no funcionales)

 Los requisitos NO son análisis top-down, ni son


la
arquitectura del sistema, ni son el “qué” frente al
“cómo”
Cómo escribir requisitos
 La “mejor forma” de escribir
requisitos no existe
 Lo más utilizado es el lenguaje
natural. Cada requisito expresado en una
frases corta
sistema hará(“el
X ...”, “se facilitará Y ...”, etc)
 O lenguaje natural
complementado con diagramas y/o
notaciones formales lee o
 La notación utilizada depende de
quien quien escribe los requisitos
Ejemplos de requisitos
1. Requisitos que definen efectos sobre el entorno
 El sistema mantendrá la temperatura de la caldera entre 70º y
2. 80º
Requisitos
 El sistemamuy generales
mantendrá un registro de todos los materiales de la biblioteca,
incluyendo libros, periódicos, revistas, videos y CDRoms
3. Requisitos funcionales
 El sistema permitirá a los usuarios realizar una búsqueda por título, autor o
ISBN
4. Requisitos de implementación
 La interfaz de usuario se implementará sobre un navegador Web
5. Requisitos de rendimiento
 El sistema deberá soportar al menos 20 transacciones por
6. segundo
Requisitos de permitirá
 El sistema usabilidadque los nuevos usuario se familiaricen con su uso en
menos de 15 minutos.
Requisitos en negativo
 Es importante decir lo que el sistema
NO debe hacer
 Estos requisitos “en negativo” limitan el
ámbito del sistema. Dicen donde NO se deben
emplear recursos
 Fundamental para sistemas críticos
 Se debe mantener la distinción
liveness/safety
• Liveness: dicen lo que el sistema debe hacer
• Safety: dicen lo que el sistema no debe hacer
Funcionales y no funcionales
 Los requisitos funcionales describen los
servicios
(funciones)
• El sistema que se esperan
aceptará delVISA
pagos con sistema
 Los requisitos no funcionales son restricciones
sobre
los requisitos
• El funcionales
sistema aceptará pagos con VISA de forma segura y con
un tiempo de respuesta menor de 5 segundos
 Pero esta distinción, veces, resulta arbitraria
muchas
• El sistema aceptará pagos con VISA a través del protocolo
SET
Relación requisitos-arquitectura
 La elección de una determinada
arquitectura software debe tener en cuenta los
requisitos funcionales pero, sobre todo, los
requisitos no funcionales (atributos de calidad
del software)
 No hay una regla definitiva para
establecer, dados los requisitos, el tipo de
arquitectura
 Tan sólo hay una serie de heurísticas
para, dados unos requisitos, elegir la
Educción de requisitos
 La educción de requisitos se refiere a
la captura y descubrimiento de los
requisitos.
 Es una actividad más “humana” que técnica
 Se identifica a los interesados y se
establecen las primeras relaciones entre ellos
y el equipo de desarrollo
El proceso
Problemas en el proceso
 El proceso de requisitos es excesivamente largo y costoso.
 Los implicados en el proceso se quejan de falta de tiempo y
otros recursos.
 Se reciben quejas acerca de la inteligibilidad del documento
de requisitos.
 Los implementadores se quejan del trabajo perdido por
culpa de errores en los requisitos.
 Los usuarios no utilizan muchas de las capacidades del
sistema.
 En cuanto el producto se entrega, se recibe una inmensa
cantidad de solicitudes de cambios.
 Lleva demasiado tiempo alcanzar un acuerdo cuando se
proponen cambios a los requisitos.
Fuentes de Requisitos
 Metas: Factores críticos de éxito
 Conocimiento del dominio de la
aplicación
• Por ejemplo, un usuario quiere consultar por pantalla todas
las pólizas que venzan durante el mes. Para que ello sea
posible, el software deberá obligar, cada vez que se crea
una póliza, a que se introduzca su fecha de vencimiento.
Esto puede resultar obvio para un informático, pero no es
lo
tanto para un usuario inexperto
 Los interesados. Los afectados por el sistema.
 El entorno físico que rodea al sistema
 El entorno organizacional. Los procesos de
negocio
Problemas de la educción
 Los usuarios no pueden/saben
describir muchas de sus tareas
 Mucha información no llega a
importante
verbalizarse requisitos
 A veces hay que “inventar” usuarios)
los
 La educción no debería ser un proceso
(sistemas orientados a miles de
pasivo,
sino cooperativo
Técnicas de educción
 Preliminares:
• Utilizar preguntas libres de contexto.

Brainstorming:
• Seleccionar un grupo variado de participantes.
• Eliminar críticas, juicios y evaluaciones los
mientras participantes sugieren ideas.
• Producir muchas ideas.
• Recogerlas todas por escrito.
• Otro día, en otra sesión, se evalúan las ideas (se puntúan).

Prototipado:
• Útil cuando la incertidumbre es grande acerca del futuro
sistema
Técnicas de educción
 Entrevistas:
• Es el método “tradicional”, pero debe usarse en complemento con otras
técnicas, y no debe ser el primer paso de la educción. Es fundamental:
• Entrevistar a la(s) persona(s) adecuadas.
• Preparar las preguntas con antelación.
• Utilizar diagramas, modelos, etc.
 Observación y análisis de
tareas:
• Un observador estudia a los futuros usuarios en su entorno de trabajo.
A veces se utiliza el video. Anota todo aquello que es susceptible de
mejora. Posteriormente, genera una serie de requisitos tentativos.
 Casos de uso /
Escenarios:
• Requisitos en contexto de uso.
Entrevistas
 Una situación en que los
participantes...
• no saben qué decir
• se preocupan de que se les entienda mal
• piensan a dónde va a llevar
• tienen expectativas diferentes
• quieren que se acabe cuanto antes
• quieren que sea un éxito
Qué se pretende
 Definir objetos observables
 Evaluar el flujo y contenido de la
información
 Definir y elaborar funciones del software
 Entender el comportamiento del sistema
 Establecer características de la interfaz
 Descubrir restricciones ocultas
Preguntas sobre el contexto
 Quién solicita este trabajo
 Quién usará el producto
 Cuál es el beneficio económico
de una solución satisfactoria
 Hay más fuentes para la solución que
se busca
Preguntas sobre el problema
 Describir buenos resultados generados
por una solución buena
 Cuál es el problema al que nos enfrentamos
 En qué entorno (describir/mostrar)
se va a utilizar
 Restricciones específicas de rendimiento
Preguntas sobre la reunión en sí
 Es usted la persona adecuada para
responder a estas preguntas
 Son oficiales sus respuestas
 Le parecen relevantes mis
preguntas
 Hago demasiadas preguntas
 Hay alguien más que pueda
aportar información
 Hay algo más que debería
Limitaciones
 Las reuniones generales dan
resultados muy pobres.
 Se deben emplear sólo como primer
paso, para luego ser sustituidos por
reuniones que combinen resolución de
problemas, negociación y especificación.
Análisis de requisitos
Consiste en detectar y resolver conflictos entre
requisitos
Se precisan los límites del sistema y la interacción
con su entorno
Se trasladan los requisitos de usuario a requisitos
del software (implementables)
 Se realizan tres tareas fundamentales:
• Clasificación
• Modelización
• Negociación
Clasificación de los requisitos
 En el análisis de requisitos, éstos se
clasifican
• En funcionales vs. No funcionales (Capacidades
vs. Restricciones)
• Por prioridades
• Por coste de implementación
• Por niveles (alto nivel, bajo nivel)
• Según su volatilidad/estabilidad
• Si son requisitos sobre el proceso o sobre el
producto
Modelización conceptual
Ciertos aspectos de los requisitos se expresan
mediante modelos de datos, de control, de estados, de
interacción, de objetos, etc.
La meta es entender mejor el problema, más que
iniciar el diseño de la solución (idealmente)
 El tipo de modelo elegido depende de
• La naturaleza del problema
• La experiencia del modelador
• La disponibilidad de herramientas
• Por decreto. El cliente impone una notación
Negociación de requisitos
 En todo proceso de IR intervienen
distintos individuos con distintos y, a veces,
enfrentados intereses.
 Estos conflictos entre requisitos se
descubren durante el análisis.
 Todo conflicto descubierto debería
disparar un proceso de (re)negociación.
 Los conflictos NUNCA se deben
resolver “por decreto”
Documentos de requisitos
Es el modo habitual de guardar y comunicar
requisitos.
Es buena práctica utilizar, al menos, dos
documentos, a distinto nivel de detalle
• DRU = Documento de Requisitos de Usuario (URD)
• ERS = Especificación de Requisitos Software (SRS)
 OJO: Con “Documento” nos referimos a cualquier
medio electrónico de almacenamiento y distribución:
• Procesador de textos
• Base de Datos
• Herramienta de Gestión de
Requisitos
DRU vs. ERS
 El DRU se escribe desde el punto de vista del usuario o
cliente
o interesado. Normalmente los requisitos de usuario,
contenidos en la DRU, no poseen demasiado nivel de detalle.
Se incluye la descripción del problema actual (razones por las
que el sistema de trabajo actual es insatisfactorio) y las metas
 que se espera lograr con la construcción del nuevo sistema.
La ERS desarrolla mucho más los contenidos de la DRU. Los
requisitos del software contenidos en la ERS son, por tanto,
más detallados. Contiene la respuesta a la pregunta ¿Qué
características debe poseer un sistema que nos permita
alcanzar los objetivos, y evitar los problemas, expuestos en la
DRU?
Estándares
 IEEE Std. 830 (versión actual de 1998)
 PSS-05 de la Agencia Espacial Europea
(ESA)
 Las herramientas de gestión de
requisitos permiten generar documentación
en los anteriores formatos, a partir de una
base de datos de requisitos
Esquema de IEEE 830
 Introducción Descripción General
• Propósito • Perspectiva del producto
• Alcance • Funciones del producto
• Definiciones • Características del
• Referencias usuario
• Visión General • Restricciones
• Suposiciones
 Requisitos específicos
 Apéndices
 Índice
Características de una ERS
 Una ERS de calidad debería poseer 24
características
 •NoLaambigua:
ERS es no ambigua si todo requisito posee una sola
interpretación

Completa:
• Una ERS es completa si todo lo que se supone que el
software debe hacer está incluido en la ERS. Por
completitud, deberían describirse todas las posibles
respuestas a todas las posibles entradas y en todas las
situaciones posibles. Además, la ERS no contendrá
secciones de tipo “por determinar...”
Características de una ERS
 Correcta:
• Todo requisito de la ERS contribuye a satisfacer una
necesidad real

Comprensible:
• Todo tipo de lectores (clientes, usuarios, desarrolladores,
equipo de pruebas, gestores, etc.) entienden la ERS.

Verificable:
• Si para cada requisito expresado en la ERS existe un
procedimiento de prueba finito y no costoso para
demostrar que el futuro sistema lo satisface.
Características de una ERS
 Internamente Consistente:
• No existen subconjuntos de requisitos contradictorios.
 Externamente
Consistente:
• Ninguno de los requisitos está en contradicción con lo
expresado en documentos de nivel superior. Por ejemplo,
en un sistema (hardware + software), los requisitos del
software no pueden contradecir los requisitos del sistema.

Realizable:
• Si, dados los actuales recursos, la ERS es implementable

Concisa:
• La ERS debe ser lo más breve posible, sin que esto afecte
al resto de atributos de calidad
Características de una ERS
 Independiente del diseño:
• Existen más de un diseño e implementación que realizan la
ERS. Para ello la ERS debería limitarse a describir el
comportamiento externo del sistema.

Trazable:
• Cada requisito se puede referenciar de forma unívoca. Es
fundamental para precisar qué requisitos son
implementados por qué componente del diseño, lo cual es
imprescindible a la hora de realizar las pruebas de dicho
componente

Modificable:
• Los cambios son fáciles de introducir.
Características de una ERS
 Electrónicamente almacenada:
• Se encuentra en un archivo de texto, en una base de datos
o, mejor aún, ha sido creada con una herramienta de
gestión de requisitos (RequisitePro, Doors, etc.)

Ejecutable/Interpretable/Prototipable/Animable:
• Si existe una herramienta software que, recibiendo como
entrada la ERS, realice un modelo ejecutable de la misma.
Aplicable tan sólo a ciertas notaciones como las
notaciones formales o los diagramas de transición de
estados
Características de una ERS
 Anotada por importancia relativa:
• Si los requisitos se clasifican según su importancia. Como
mínimo un requisito puede ser “Obligatorio, Deseable u
Opcional”. Esto sirve para no asignar demasiados
recursos a la implementación de requisitos no esenciales
 Anotada por estabilidad
relativa:
• Los requisitos son, en general, inestables y volátiles. A
cada requisito se le asigna una probabilidad de cambio
(p.ej. “Alta, Media o Baja”). Esto ayudará a los
diseñadores a diferenciar los componentes más flexibles de
los más estables.
Características de una ERS
 Anotada por versión:
• Si un lector de la ERS puede determinar qué requisitos
serán satisfechos por qué versión del producto
 No
redundante:
• Cada requisito se expresa en un solo lugar de la ERS. La
redundancia, de todas formas, no es del todo mala si
aumenta la legibilidad
 Al nivel adecuado de
abstracción:
• Ni demasiado detallada ni demasiado vaga
Características de una ERS
 Precisa:
• Una ERS es precisa si hace uso de valores numéricos para
precisar las características del sistema. La precisión es
aplicable, ante todo, a los requisitos no funcionales. Por
ejemplo, no es útil decir “El tiempo de respuesta será más
bien rápido”, sino “El tiempo de respuesta será menor que
dos segundos”.
• OJO: en la práctica diaria, este atributo es dificilísimo de
conseguir pues es fuertemente dependiente de la
tecnología disponible, lo cual no siempre se conoce al
principio de un proyecto.
Características de una ERS
 Reutilizable:
• Si ciertas secciones de la ERS se pueden reutilizar

Trazada:
• Si está claro el origen de cada requisito (quién o qué lo
pide)

Organizada:
• Si el lector puede fácilmente encontrar la información
buscada.
 Con referencias
cruzadas:
• Si se utilizan referencias entre requisitos relacionados
(trazabilidad intra-ERS) o entre secciones
relacionadas
Calidad de la ERS
 Una ERS perfecta es imposible.
 La calidad de la ERS es muy
difícil de cuantificar.
 En general, una ERS de calidad
NO garantiza la ausencia de
problemas, pero una ERS pésima
garantiza su presencia.
Validación de requisitos: revisiones
 Es la fórmula más empleada para validación
Un grupo de personas (incluyendo usuarios) se
ocupan de revisar el documento de requisitos.
Tres fases: Búsqueda de problemas, reunión y
acuerdos.
Como guía para identificar problemas habituales, se
pueden utilizar listas de comprobación (“checklists”).
Hay “checklists” adaptadas a distintos tipos de
sistemas
Otros métodos de validación
 Prototipado: Permite descubrir con
rapidez si el usuario se encuentra satisfecho,
o no, con los requisitos
 Validación de modelos: Cuando los
requisitos se expresan por medio de modelos
(de objetos, DFDs, etc.)
 Validación de su “testeabilidad”. El
equipo de pruebas debe revisar los requisitos.
Gestión de requisitos
 Consiste, básicamente, en
gestionar los cambios a los requisitos.
 Asegura la consistencia ente los
requisitos y el sistema construido (o en
construcción)
 Consume grandes cantidades de
tiempo y esfuerzo
 Abarca todo el ciclo de vida del producto
Necesidad de la gestión de requisitos
 Los requisitos son
volátiles
 •ElTrasladar
entornoun
físico cambia
sistema de un entorno a otro requiere
modificaciones
 entorno organizacional cambia
El Las políticas cambian
• Cambios en las reglas y en los procesos del negocio
• provocan cambios en el sistema
 La propia existencia del sistema va a generar
nuevos
requisitos por parte de los usuarios
Qué implica la gestión de requisitos
Definir procedimientos de cambios: definen los pasos
y los análisis que se realizarán antes de aceptar los
cambios propuestos (hay una Software Change
Request (SCR) de la NASA de más de 500
páginas!!!).
 Cambiar los atributos de los requisitos afectados
Mantener la trazabilidad: hacia atrás, hacia delante y
entre requisitos
 Control de versiones del documento de requisitos
Viabilidad
 Tecnología: ¿hay tecnología? ¿se domina? ¿está
dentro del estado del arte?
 Financiera: ¿pueden asumir el coste la
organización, el cliente, el mercado?
 Tiempo: ¿llegará al mercado antes que la
competencia?
 Recursos: ¿qué se va a necesitar? ¿está disponible?

 Relacionado con la experiencia en proyectos


similares (si se han hecho muchos es más fácil decidir
sobre la viabilidad de la propuesta)
Referencias

Referencias

A. Davis. “Software Requirements: Objects, Functions and States”,
• Prentice-Hall, 1993
G. Kotonya, I. Sommerville. “Requirements Engineering. Processes
• and Techniques”. Wiley, 1998
B. L. Kovitz “Practical Software Requirements: A Manual of
• Content and Style” Manning 1999
I. Sommerville, P. Sawyer “Requirements Engineering. A Good
• Practice Guide”, Wiley, 1998
• Pressman, capítulos 10 y 11
 Sommerville, capítulos 5 y 6
Material
• Pablo Gervás
• Andrés Silva

También podría gustarte