Está en la página 1de 96

GESSI Grup de recerca en Enginyeria del Software per als SI

Ingeniera de Requisitos: conceptos,


procesos y estado de la
investigacin
Seminario de Doctorado
Grupo Arcos, Depto. Informtica, Univ. Carlos III
Madrid, 1-3/02/2005
Pere Botella - Depto. LSI - UPC
botella@lsi.upc.edu
pere.botella@upc.edu

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI
Y en algunos momentos...

GESSI Grup de recerca en Enginyeria del Software per als SI

Referencias
z
z

z
z
z
z
z

[Dav92] Davis, A. (1992). Software Requirements: Objects, Functions


and States. Prentice-Hall
[Fil94] Finkelstein, A. (1994)Requirements Engineering: a review and research
agenda. Proc 1st Asian & Pacific Software Engineering Conference,
IEEE CS Press
[Jac95] Jackson, M. (1995). Software Requirements & Specifications.
Addison-Wesley
[KS97] Kotonya, G., Sommerville, P. (1997). Requirements
Engineering: Processes and Techniques. John Wiley & sons
[LK95] Locopoulos, P., Karakostas V. (1995). System Requirements
Engineering . McGraw Hill Int.
[Poh96] Pohl, K. (1996). Requirements Engineering: An Overview. En
Encyclopedia of Computer Science and Technology, Vol. 36, Marcel Dekker Inc.,
New York

[SS97] Sommerville, I., Sawyer, P. (1997). Requirements Engineering:


A Good Practice Guide. John Wiley & sons

Mas...

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI

GESSI Grup de recerca en Enginyeria del Software per als SI

Definicin 1

Requirements Engineering is the branch of Systems


Engineering concerned with the real-world goals for, services
provided by,and constraints on a large and complex softwareintensive systems. It is also concerned with the relationship of
these factors to precise specifications of system behaviour, and
to their evolutionover time and across system families.
Zave, P. (1994); Call for Papers and Associated Classification Scheme;
IEEE International Symposium on Requirements Engineering 1995.

GESSI Grup de recerca en Enginyeria del Software per als SI

Definicin 2

Requirements Engineering deals with activities which attempt to


understand the exact needs of the users of a software intensive
system and to translate such needs into precise and unambiguous
statements which will be subsequently be used in the development
of the system

Loucopoulos, P; Karakostas, V. (1995); System Requirements Engineering


McGraw-Hill, 1995

GESSI Grup de recerca en Enginyeria del Software per als SI

Definicin 3

A requirement is:
1. A condition or capacity needed by a user to solve a problem or
achieve an objective
2. A condition or capability that must be met or possesed by a
system or system component to satisfy a contract, standard,
specification, or other formally imposed documents
3. A documented representation of a condition or capability
as in 1 or 2
IEEE-Std.610 (1990) IEEE Standard Glossary of Software Engineering
Terminology. IEEE Computer Society Press

GESSI Grup de recerca en Enginyeria del Software per als SI

Definicin 4

Requirements Engineering can be defined as the systematic


process of developing requirements through an iterative
co-operative process of analysing the problem, documenting
the resulting observation in a variety of representation formats,
and checking the accuracy of the understanding gained

Loucopoulos, P; Karakostas, V. (1995); System Requirements Engineering


McGraw-Hill, 1995

GESSI Grup de recerca en Enginyeria del Software per als SI

Se trata de un trmino relativamente reciente que pretende cubrir


todas las actividades relacionadas con descubrir, documentar y
mantener un conjunto de requisitos para un sistema informtico
(KS97)
Tiene mucho en comn con el tradicionalmente denominado
anlisis de sistemas
Es una de las reas mas activas de investigacin actual, y
aunque emerge de la Ingeniera del Software, se reclama parte
de la Ingeniera de Sistemas, entendida de forma ms amplia
que la anterior
Es la etapa inicial de un proyecto de sistema de informacin, y
es imprescindible en el pre-proyecto (si se desea una estimacin
fiable)

GESSI Grup de recerca en Enginyeria del Software per als SI

- Porqu es importante la Ingeniera de Requisitos


(el caso negativo)
- Contacto con el cliente
- Gasto de tiempo y esfuerzo
- Coste de depurar errores
- Minimizar riesgos
- Porqu es importante la Ingeniera de Requisitos
(el caso positivo)
- Focaliza el inters en el usuario
- Da soporte a la adaptacin y la evolucin
Fuente: A. Finkelstein, conferencia The Voice of the Customer, UPC, Nov. 1997

GESSI Grup de recerca en Enginyeria del Software per als SI

- European User Survey Analysis, M. Ibaez (European Software


Institute) & H. Rempp (Forschungszentrum Karlsruhe), proyecto
ESPITI, ESI report TR95104
- 17 paises, 4000 cuestionarios, sector IT, empresas de productios
y servicios
- Requirements specification y Managing customer requirements
los dos problemas sealados cmo mas importantes, un 50 % como
problema mayor , un 35 % como problema menor, menos de un
12 % como no es problema.
- Por encima de documentacin, testing, calidad, standards, diseo,
gestin de la configuracin y programacin.
Fuente: A. Finkelstein, conferencia The Voice of the Customer, UPC, Nov. 1997

GESSI Grup de recerca en Enginyeria del Software per als SI

The 1994 Chaos report (www.standishgroup.com)


z
z

z
z
z
z

Muestra de 365 encuestas


Final de los proyectos estudiados

16,2 % terminan bien (tiempo, dinero, requisitos)


52,7 % termina y funciona, pero +tiempo, +dinero, requisitos
31,1 % proyecto cancelado

Project success factors: 1) user involvement (15,9%),


3) clear statement of requirements
Project challenged factors: 1) lack of user input, 2)
incomplete requirements, 3) changing requirements
Cambios en el report de 2001...
Y seguramente en el report The 2004 Chaos
research... pero cuesta 3500$ !!!

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI

GESSI Grup de recerca en Enginyeria del Software per als SI

Conceptos de tecnologa de procesos (no relacionados directamente


con la Ing. de Requisitos)
z
z
z
z
z

Proceso Software: conjunto de tareas inter-relacionadas


conducentes a la construccin de software
Modelo de proceso software: descripcin abstracta (o
simplificada) de una clase de procesos
SPA (Software Process Assessment): evaluacin de un proceso
software, determinacin de capacidad y madurez
SPI (Software Process Improvement): mejora de procesos
software, basada en la evaluacin
SPM (Software Process Modelling): modelizacin de procesos
software, mediante lenguajes o notaciones de diversa
granularidad
Modelos para SPA/SPI: CMM, ISO 15288 (SPICE)

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI

GESSI Grup de recerca en Enginyeria del Software per als SI

El proceso de la Ingeniera de Requisitos

z
z
z
z

Proceso de construccin del documento o especificacin de


los requisitos del sistema a construir
Veremos este proceso segn LK95, KS97 y Poh96
Veremos las actividades o tareas que incluye
Veremos un modelo de niveles de madurez, segn SS97

GESSI Grup de recerca en Enginyeria del Software per als SI

Un marco para la descripcin del proceso de la RE (LK95)


Usuario
Respuesta

Requisitos
del usuario
Espec. de
requisitos

Adquisicin
(elicitation)

Modelo a
validar

Modelos

Conocimiento
Especificacin
Peticin

Conocimiento

Validacin
Resultado

Dominio del
problema

Conocimiento

GESSI Grup de recerca en Enginyeria del Software per als SI

El proceso de la Ingeniera de Requisitos


(segn LK95)

z
z
z

Adquisicin (captura, definicin, determinacin,


identificacin, obtencin, ...)
Anlisis; especificacin o modelizacin
Validacin

El proceso se adapta a los diferentes modelos de proceso


general de Ingeniera del Software (cascada, espiral,
prototipado, transformacional, etc.)

GESSI Grup de recerca en Enginyeria del Software per als SI

El proceso de la Ingeniera de Requisitos


(segn KS97)

Adquisicin

Necesidades del
usuario, dominio
de informacin,
sistemas
existentes,
normas,
estndares, ...

Anlisis y
negociacin

Documentacin

Validacin

Documento de
requisitos
Especificacin
del
sistema

Requisitos
acordados

GESSI Grup de recerca en Enginyeria del Software per als SI

El proceso de la Ingeniera de Requisitos:


un modelo espiral (segn KS97)

Punto de decisin:
aceptar o re-entrar

Documento
validado

Requisitos en bruto

Anlisis y negociacin

Adquisicin
Inicio

Validacin

Requisitos
acordados
Documentacin

Borrador del documento

GESSI Grup de recerca en Enginyeria del Software per als SI

El proceso de la Ingeniera de Requisitos


(segn Poh96)

Validacin
Validacin &
&
Verificacin
Verificacin

Elicitacin
Elicitacin

Especificacin
Especificacin &
&
Documentacin
Documentacin

Negociacin
Negociacin

GESSI Grup de recerca en Enginyeria del Software per als SI

Un modelo de madurez para la RE (SS97)

Nivel 3 - Definido
Proceso bien definido.
Se proponen mejoras
del proceso de la RE
Nivel 2 - Repetible
RE estandarizada
Pocos problemas con
los requisitos
Nivel 1 - Inicial
RE ad-hoc
Problemas frecuentes
con los requisitos

Nota: Recordemos que los niveles del CMM son


cinco: 1) Inicial, 2) Repetible, 3) Definido,
4) Gestionado y 5) Optimizado

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI

GESSI Grup de recerca en Enginyeria del Software per als SI

Adquisicin (LK95, KS97) o elicitacin (Poh96) de requisitos


z

z
z

Se define como el proceso de adquirir (elicitar,


determinar, sonsacar, obtener...) todo el conocimiento
relevante necesario para producir el modelo de los
requisitos del problema dominio
Puede calificarse cmo proceso social
Se utilizan tcnicas diversas:

Entrevistas (metdicas)
Cuestionarios
Standards de IdS
Sistemas existentes
Anlisis de textos (lenguaje natural)
etc.

Se basa en comprender cuatro dimensiones:


Dominio de aplicacin
Problema a resolver
Necesidades y restricciones de los stakeholders (usuario en
sentido amplio: todos los agentes implicados en el sistema a
construir)
Contexto organizativo

Las tcnicas de prototipado ayudan en el proceso de descubrimiento

El resultado es un documento que contiene esencialmente una lista (y


que se suele denominar SRS: Software Requirements Specification, es
decir, documento de especificacin)

GESSI Grup de recerca en Enginyeria del Software per als SI

Adquisicin (LK95, KS97) o elicitacin (Poh96) de requisitos

Mas sobre adquisicin...

Mas sobre prototipos...

GESSI Grup de recerca en Enginyeria del Software per als SI

Anlisis y negociacin de requisitos (KS97)

Anlisis basado en checklists, lista de preguntas que se puede


usar para cada requisito

Mediante matrices, se pueden representar las relaciones entre


requisitos: conflicto, solapamiento e independencia (mas)

La negociacin guiada entre agentes (stakeholders) es el


proceso para resolver conflictos y contradicciones (mas)

Hay que tener presentes los diferentes puntos de vista (mas)

GESSI Grup de recerca en Enginyeria del Software per als SI

Especificacin (LK95) o Documentacin (KS97) de requisitos


z

z
z

En los modelos de proceso descritos (y habitualmente), se considera


esta actividad cmo la responsable de obtener una lista depurada de
requisitos, una vez obtenida la lista en bruto y una vez analizada y
resueltos los conflictos
Existen guias para este documento, cmo la de IEEE Std 1233 (1998
Edition IEEE Guide For Developing System Requirements
Specifications,
http://standards.ieee.org/reading/ieee/std_public/description/se/12331998_desc.html ) o las plantillas de Volere (http://www.volere.co.uk/ )
Un ejemplo
Sin embargo, las buenas prcticas de la Ingeniera de Software
recomiendan completar este documento, ya en sta fase, con un
modelo (usando UML, p.ej.), al que tambin se suele denominar
especificacin
As, que segn el autor, la especificacin puede ser la lista o el
modelo (por ello, prefiero hablar de documento de requisitos y de
modelo(s) del sistema)

Consiste en construir un modelo (o varios) del sistema a


construir, desde el punto de vista de su uso (interaccin
usuario-sistema) que recoja todos y cada uno de los requisitos
de la lista
Adems del documento, se parte del dominio que se modela, el
Universo del Discurso (UoD)
Aspectos a tener en cuenta:
Modelizacin conceptual
Modelizacin de empresas
Modelizacin de requisitos funcionales
Modelizacin de requisitos no funcionales
La modelizacin es esencial en los pre-proyectos (documento
de requisitos + modelos + (opc.) prototipo + estimacin +
presupuesto), ya que permite una validacin y tambin realizar
una estimacin de costes y tiempos (p.ej., por puntos de
funcin)


GESSI Grup de recerca en Enginyeria del Software per als SI

Modelizacin (o especificacin) de requisitos

GESSI Grup de recerca en Enginyeria del Software per als SI

Modelizacin conceptual de Sistemas de Informacin


z
z

El trmino nace del rea de los sistemas de informacin y se


asocia tradicionalmente al mbito de las Bases de Datos
Se suele denominar Modelo conceptual a la especificacin de
los requisitos de la informacin que deber contener y manejar
el sistema, y que parte de extraer y comprender conocimiento
del dominio de aplicacin (el UoD)
Una especificacin desarrollada en trminos de un Modelo
Conceptual representa abstracciones, asunciones y
restricciones del dominio de aplicacin
En UML, podemos representar un Modelo Conceptual mediante
el diagrama de clases, con sus relaciones y restricciones
(expresadas normalmente en OCL)

GESSI Grup de recerca en Enginyeria del Software per als SI

Modelizacin de empresas
z
z

z
z
z

Enterprise modelling o Business modelling


Un modelo de este tipo incluye: estructuras organizativas;
objetivos; actividades, procesos y productos; agentes y
roles
Sirve para delimitar el modelo de los requisitos del
sistema a construir
Ayuda a la identificacin de los stakeholders (todos los
agentes implicados en el sistema a construir)
En UML se puede describir, en parte, con un diagrama de
actividad, y en el RUP, mediante workflows

Construccin de un modelo de aquellos requisitos que


describen interaccin (no informacin), es decir, la funcionalidad
del sistema a construir

A lo largo de los aos se han propuesto muchos formalismos o


mtodos para la definicin de modelos
Estructurados (SASD, YSM, Information Engineering, etc.)
Orientados a objetos (Booch, Fusion, OMT, UML)
Tcnicas de descripcin formal (VDM, Z, mtodos
algebraicos)
Basados en puntos de vista o viewpoints ( SADT, CORE,
VOSE, VORD)

En UML este aspecto lo cubren esencialmente los casos de


uso, junto a diagramas de secuencia y colaboracin

Es el aspecto mas divulgado y conocido (a veces, con nombres


errneos, cmo metodologas los primeros y segundos, o
mtodos formales los terceros)

GESSI Grup de recerca en Enginyeria del Software per als SI

Modelizacin de requisitos funcionales

z
z
z
z
z

Muy importantes, y al tiempo, muy olvidados


Se refieren a todos aquellos requisitos que ni describen
informacin a guardar, ni funciones a realizar
Aspectos de proceso (mtodo de desarrollo, entorno de
implementacin, standards, etc.)
Aspectos de producto (Integracin, Rendimiento, Capacidad,
Seguridad, Integridad, Fiabilidad, Usabilidad, etc.)
Aspectos externos (Aspectos sociales, Aspectos econmicos,
Factores contractuales, Factores polticos, etc.)
Han de poseer dos atributos (Sommerville92):
Han de ser objetivos
Han de poder ser probados
UML no los contempla (excepto con anotaciones), hay pocas
notaciones para modelizarlos, y poco divulgadas


GESSI Grup de recerca en Enginyeria del Software per als SI

Modelizacin de requisitos no funcionales

Mas...

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI

GESSI Grup de recerca en Enginyeria del Software per als SI

Propiedades de las especificaciones (LK95)


z
z
z
z
z
z

Consistencia interna
No ambigedad
Consistencia externa
Minimalidad
Completitud
No redundancia

Segn ANSI/IEEE (Std. 830-1984), una especificacin debe ser:


No ambigua, Completa, Verificable, Consistente, Modificable,
Trazable, Usable durante operacin y mentenimiento.

Consiste en verificar el grado de cumplimiento


de las propiedades

Mas...

Tcnicas (KS95):

Uso de prototipos
Animacin (aplic. de tiemporeal)
Parafraseado (de espec.
formales)
Sistemas expertos (CASE)

Tcnicas (LK95):

GESSI Grup de recerca en Enginyeria del Software per als SI

Validacin de requisitos

Revisiones
Prototipado
Validacin del modelo
Prueba (testing)

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI

GESSI Grup de recerca en Enginyeria del Software per als SI

Gestin de requisitos (KS97)


La Gestin de requisitos es el proceso de gestionar los cambios
en los requisitos de un sistema, y se integra en la Gestin del
proyecto
Los requisitos de un sistema evolucionan => los sistemas no son
estables
Para su gestin, hay que tener en cuenta algunos aspectos:
- Requisitos estables y voltiles (mutables, emergentes,
por uso, de compatibilidad)
- Identificacin y almacenamiento
- Gestin del cambio
- Trazabilidad
- Gestin de riesgos (mas)

GESSI Grup de recerca en Enginyeria del Software per als SI

Trazabilidad de requisitos

- Define la capacidad de describir y seguir la vida de un requisito en


las dos direcciones (atrs y adelante)
- Se diferencia la Pre-RT de la Post-RT
Fuente: A. Finkelstein, conferencia The Voice of the Customer, UPC, Nov. 1997

Especificacin

Fuentes

Pre-RT

Diseo

Cdigo

Post-RT

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI

GESSI Grup de recerca en Enginyeria del Software per als SI

RENOIR: Requirements Engineering Network Of

International cooperating Research groups: a network of excellence


http://www.cs.ucl.ac.uk/research/renoir/ (red de excelencia del
V Programa Marco de la CCE, 1996-1999)

What is the purpose of RENOIR ?


The general purpose of RENOIR is to develop the
coordination mechanisms and infrastructure for research in
requirements engineering. Specific objectives are: to provide a
framework for coordinated, joint research related to industrial
needs, to support the diffusion of RE research; to provide RE
research training and to support technology transfer in RE.

GESSI Grup de recerca en Enginyeria del Software per als SI

Who belongs to RENOIR ?


The sixty eight founding members of RENOIR include almost
all the key research teams working in the area of requirements
engineering within Europe. The coordinator of RENOIR is the
University College London (UCL), UK. Membership is open
to any research laboratory or industrial group of researchers in
Europe (or in countries with cooperation agreements with the
European Union) which has interests in the area of
requirements engineering, which subscribes to the aims of
RENOIR and is interested in participating in the activities of
the network. New applicants for membership are welcome.
La coordinacin en Espaa fue a cargo de la UPC

GESSI Grup de recerca en Enginyeria del Software per als SI

RENOIR brings together research teams from industry,


academia, and research centres round a set of shared technical
goals relating to the:

Context in which the requirements engineering process


takes place,
Groundwork necessary for requirements engineering,
Acquisition of the "raw" requirements,
Rendering these requirements useable through modelling
and specification,
Analysis of the requirements,
Measurement to control the requirements and systems
engineering process, and
Communication and documentation of the results of
requirements engineering

GESSI Grup de recerca en Enginyeria del Software per als SI

Temas del CfP de RE05 (www.re05.org)


5HTXLUHPHQWVHOLFLWDWLRQDQGLGHQWLILFDWLRQ
,QIRUPDOPRGHOOLQJRIUHTXLUHPHQWV
'RPDLQPRGHOOLQJ
)RUPDOPRGHOOLQJRIJRDOVDQGUHTXLUHPHQWV
6SHFLILFDWLRQODQJXDJHV
)RUPDODQDO\VLVDQGYHULILFDWLRQ
0XOWLSOHYLHZSRLQWVPDQDJLQJLQFRQVLVWHQF\
1RQIXQFWLRQDODQGTXDOLW\UHTXLUHPHQWV
3ULRULWL]DWLRQQHJRWLDWLRQDQGUHVROXWLRQRIFRQIOLFWLQJUHTXLUHPHQWV
3URWRW\SLQJDQLPDWLRQVLPXODWLRQ
5HTXLUHPHQWVYDOLGDWLRQ
5HTXLUHPHQWVHYROXWLRQRYHUWLPHDFURVVSURGXFWIDPLOLHV
YDULDELOLW\UHTXLUHPHQWV
5HTXLUHPHQWVPDQDJHPHQWWUDFHDELOLW\PHWULFV
5HTXLUHPHQWVPHWKRGRORJLHV HJ$JLOHPHWKRGV 
6RFLDOFXOWXUDODQGFRJQLWLYHIDFWRUVLQUHTXLUHPHQWVDFWLYLWLHV
$OLJQLQJUHTXLUHPHQWVWREXVLQHVVJRDOVDQGSURFHVVHV
5HODWLQJUHTXLUHPHQWVWRV\VWHP
DUFKLWHFWXUHWHVWLQJ
5HTXLUHPHQWVIRU&276EDVHGV\VWHPV
5HTXLUHPHQWVIRULQWHURSHUDWLQJPXOWLRUJDQL]DWLRQDOV\VWHPV
'RPDLQVSHFLILFSUREOHPVDQGVROXWLRQV HJKLJKDVVXUDQFHV\VWHPV
VHFXUHV\VWHPVVRFLRWHFKQLFDOV\VWHPVWHOHFRPPXQLFDWLRQVDQG
GLVWULEXWHGV\VWHPVEXVLQHVVDQGLQIRUPDWLRQV\VWHPV

GESSI Grup de recerca en Enginyeria del Software per als SI

Temas del CfP de RE04 (www.re04.org)


$FTXLULQJGLVFRYHULQJDQGFUHDWLQJUHTXLUHPHQWV
9DOLGDWLQJUHTXLUHPHQWV
3ULRULWLVLQJDQGQHJRWLDWLQJDERXWUHTXLUHPHQWV
5HTXLUHPHQWVPDQDJHPHQWDQGWUDFHDELOLW\
*RDORULHQWHGUHTXLUHPHQWVHQJLQHHULQJ
8VHFDVHVDQGVFHQDULRVLQWKHUHTXLUHPHQWVSURFHVV
3URWRW\SLQJDQLPDWLQJDQGH[HFXWLQJUHTXLUHPHQWV
5HTXLUHPHQWVHQJLQHHULQJIRUDJLOHSURFHVVHV
&RPELQLQJIRUPDODQGLQIRUPDOUHTXLUHPHQWVVSHFLILFDWLRQWHFKQLTXHV
PDNLQJIRUPDOWHFKQLTXHVXVDEOH
6RFLDOFXOWXUDODQGFRJQLWLYHIDFWRUVLQUHTXLUHPHQWVHQJLQHHULQJ
5HTXLUHPHQWVPHWULFV
5HTXLUHPHQWVHQJLQHHULQJHGXFDWLRQ
+RZUHTXLUHPHQWVUHODWHWREXVLQHVVSURFHVVHVZRUNUHGHVLJQ
DQGVRIWZDUHDUFKLWHFWXUHV
+RZUHTXLUHPHQWVUHODWHWRVRIWZDUHDUFKLWHFWXUHV
,QWHUWZLQLQJUHTXLUHPHQWVDQGGHVLJQDQGUHTXLUHPHQWVDQGWHVWLQJ
7RROVXSSRUWIRUUHTXLUHPHQWVHQJLQHHULQJ

GESSI Grup de recerca en Enginyeria del Software per als SI

Recursos en Internet
5HTXLUHPHQWV(QJLQHHULQJ2QOLQH 5(RQOLQH 'LVFXVVLRQ)RUXP
KWWSUHVHDUFKLWXWVHGXDXUHVHUYLFHVBUHRQOLQHKWPO
3RLQWHUVWR5HTXLUHPHQWV(QJLQHHULQJ5HVRXUFHV
KWWSUHVHDUFKLWXWVHGXDXUHFJLELQUHVRXUFHVBELEOLRJUDSK\FJL
5HTXLUHPHQWV(QJLQHHULQJ3RUWDO
KWWSZZZZHEZRUGFRPVHUYLFHVUSKWPO
6(,5(5HVRXUFHV
KWWSLQWHUDFWLYHVHLFPXHGX)HDWXUHV0DUFK/LQNV/LQNVPDUKWP
,(((7DVN)RUFHRQ5HTXLUHPHQWV(QJLQHHULQJ 7)5(
KWWSZZZVKXDFXNWIUH
5HTXLUHPHQWVELEOLRJUDSK\
KWWSZHEXFFVHGXDGDYLV8&&6UHTELEKWP GH$ODQ'DYLV
KWWSZZZLQISXFULREUaEGELE GH-XOLR /HLWH
)XHQWH$ODQ 'DYLV 'LGDU=RZJKL ,(((6(

2QOLQH

GESSI Grup de recerca en Enginyeria del Software per als SI

&RQIHUHQFLDV
,QWHUQDWLRQDO5HTXLUHPHQWV(QJLQHHULQJ&RQIHUHQFH5([[ IXVLyQGHVGH
GH,&5(\GHOZRUNVKRS5(
:RUNVKRSVHVSHFtILFRVHQ,&6(2236/$(6(&-,6%'HWFHYHQWRVGH
,QJHQLHUtDGHO6RIWZDUH

5HYLVWDV
5HTXLUHPHQWV(QJLQHHULQJSXEOLFDGDSRU6SULQJHU
9HUODJ
$UWtFXORVHQUHYLVWDVGH,QJGHO6RIWZDUH ,(((7UDQVDFWLRQVRQ6(
,(((6RIWZDUH&RPPRIWKH$&0$&07UDQVRQ6(HWF

+HUUDPLHQWDV
KWWSZZZYROHUHFRXNWRROVKWP

(VWiQGDUHV
,(((5HFRPHQGHG3UDFWLFHIRU6RIWZDUH5HTXLUHPHQWV6SHFLILFDWLRQ
,((( 
KWWSZZZVWDQIRUGHGXFODVVFVKDQGRXWVLHHHSGI

,(((6WG(GLWLRQ,(((*XLGH)RU'HYHORSLQJ6\VWHP
5HTXLUHPHQWV
6SHFLILFDWLRQV

KWWSVWDQGDUGV LHHHRUJUHDGLQJLHHHVWGBSXEOLFGHVFULSWLRQVHB GHVFKWPO

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI

GESSI Grup de recerca en Enginyeria del Software per als SI

0LHPEURV,),3:*
www. wg 2 9 . o r g
$QWRQ$QQLH
$WOHH-R
%HUU\'DQ
%XEHQNR-DQLV
'XERLV(ULF
(DVWHUEURRN6WHYH
)HDWKHU 0DUWLQ
)HEORZLW] 0DUN
)LFNDV6WHYH
)LQNHOVWHLQ$QWKRQ\
*KH]]L&DUOR
*UHHQVSDQ 6RO
+HLWPH\HU &RQQLH
-DFNVRQ0LFKDHO
-DFNVRQ'DQLHO
-DUNH0DWWKLDV
.UDPHU-HII
/HLWH-XOLR
0\ORSRXORV-RKQ
1XVHLEHK%DVKDU
3RKO .ODXV
3RWWV&ROLQ
5RELQVRQ%LOO
5\DQ .HYLQ
6XWFOLIIH$OLVWDLU
YDQ/DPVZHHUGH$[HO
=DYH3DPHOD

Editora de RE-Online: Didar Zowghi


Editores portal de Req. Eng. En SE Online:
Al Davis
Didar Zowghi

Grupos en Espaa con trabajos explcitos en Ing. de Req.


Universidad Politecnica de Valencia (Oscar Pastor, Isidro Ramos)
Universidad de Murcia (Ambrosio Toval)
Universidad de Sevilla (Miguel Toro, Amador Durn)
Universidad Politecnica de Madrid (Natalia Juristo)
Universidad Politecnica de Catalua (Xavier Franch, Pere Botella)

GESSI Grup de recerca en Enginyeria del Software per als SI

Grupos europeos promotores de RE-Net*


* Propuesta de Red de Excelencia en el programa VI, continuadora de RENOIR, no aprobada
Austria: At the University of Klagenfurt, Heinrich Mayr and his group focuses on user
centred requirements modeling (http://www.ifi.uni-klu.ac.at/IWAS/HM/Projects/NIBA)
Belgium: Axel van Lamsweerde heads the software engineering group at the Department
of Computing Science of the Universit catholique de Louvain. Since 1991 his group is
instrumental in goal-oriented requirements
http://www.info.ucl.ac.be/research/projects/AVL/ReqEng.html
France : The CRI (Centre de Recherche en Informatique,
http://panoramix.univ-paris1.fr/CRINFO is a research centre of the University Paris1 Panthon
Sorbonne. Colette Rolland and her team have a long expertise in requirements engineering
acquired through developing both theoretical research and more applied research.
Germany : Klaus Pohl is full professor for software systems engineering at the Univ. of Essen
and director of the Institute of Computer Science. He is/was involved in various European and
German technology transfer and research projects in the area of RE see www.sse.uni-essen.de
for details
Greece: City Athens Software Engineering Institute (CASEI) - CASEI is new research institute
that is being established in Athens by the City Athens Business School and with the collaboration
of the City University in London. The RE team will involve George Spanoudakis
(www.soi.city.ac.uk/~gespan/)

GESSI Grup de recerca en Enginyeria del Software per als SI

Italy: The group at Politecnico di Milano is interested in several aspects of requirements


engineering: requirements modeling and analysis for high-assurance real-time systems,
systematic derivation of the software architecture from the requirements, etc.
The group is coordinated by Carlo Ghezzi.
(www.elet.polimi.it/Users/DEI/Sections/CompEng/Carlo.Ghezzi/index.html)
Ireland: Kevin Ryan (http://www.ul.ie/vpacad/CV.htm) of University of Limerick is one of the
founders of the first major conference series on Requirements Engineering, and is co-author
of a number of papers.
Luxembourg: Eric Dubois works at the technology-transfer center CRP Henri Tudor
(www.citi.tudor.lu). He is active in the area of formal languages http://www.info.fundp.ac.be/~edu/)
for capturing requirements about multi-agents systems.
Norway: The Information Systems Group (http://www.idi.ntnu.no/grupper/IS-grp/)
at the Norwegian University of Science and Technology has a long-held interest in problem
analysis and requirements engineering. The group is led by Prof. Arne Solvberg.
Netherlands: The University of Twente has a program in evolutionary requirements engineering
and on problem structuring analysis techniques for software and system requirements.
http://is.cs.utwente.nl/. Dr. Roel Wieringa. http://wwwhome.cs.utwente.nl/~roelw/index.html
is leading the group.
UK: Researches of Anthony Finkelstein (Software Systems Engineering Group, University College
London) has included significant contributions to work on specification from multiple viewpoints
and to requirements traceability (http://www.cs.ucl.ac.uk/staff/A.Finkelstein/index.html).
Spain: The software engineering research group at the Universitat Politcnica de Catalunya focuses
on non-functional requirements. Pere Botella coordinates the group and has been active in the
promotion of the RE field in his country. http://www.lsi.upc.es/~gessi .

GESSI Grup de recerca en Enginyeria del Software per als SI

Switzerland: Martin Glinz (http://www.ifi.unizh.ch/req) is leading the requirements engineering


research group at the University of Zurich, which focuses on requirements models, and languages
that can be applied and understood by practitioners in industry.
Sweden: Bjrn Regnell and Requirements Engineering researchers within the Software
Engineering Research Group (http://serg.telecom.lth.se/) at Lund University, has special
expertise in the area of market-driven requirements engineering and the group has a long
tradition of conducting empirical research in close co-operation with industry.
Additional centres of RE expertise:
The following private and public centres of expertise already expressed their interest to join the
final RE-Net proposal as members of the outer circle (see organization details below):
Sjaak Brinkkemper (Baan, Netherland),
Matthias Jarke (Fraunhofer, Germany),
Manfred Kaindl (Siemens AG sterreich),
Bashar Nuseibeh (The Open University, UK),
I. Sommerville (Lancaster University, UK).

GESSI Grup de recerca en Enginyeria del Software per als SI

Contenidos
z
z
z
z
z
z
z
z
z

Definiciones y mbito
Los procesos: conceptos bsicos
El proceso de la Ingeniera de Requisitos: modelos de
proceso
Las actividades: descripcin de las diferentes tareas
Propiedades y validacin
Gestin de requisitos
La investigacin: visin general
Grupos de investigacin relevantes y sus lneas
La investigacin en el grupo GESSI

GESSI Grup de recerca en Enginyeria del Software per als SI

GESSI Grup de recerca en Enginyeria del Software per als SI

GESSI Grup de recerca en Enginyeria del Software per als SI

Trabajos recientes del grupo Gessi

z
z
z
z
z

Junio 2001, JIRA 01, notacin NoFun


Septiembre 2002, RE02, modelos de calidad,
requisitos para seleccin de COTS
Noviembre 2002, WER02, visin global
Julio 2004, SCI2004, construccin de taxonomas
basada en metas
Uso del modelo i*

Package Routed

RTU

Efficient Routing

Easy
Administration

RTA

Interfaces &
Connectors

RT

D
D

Routing Status

Destination IP
Address

D
DNS

Up-to-Date
Management of
Routing Tables

Forvide Unwanted
Routing

Interconection
Facilities

Performance
Tuning

GESSI Grup de recerca en Enginyeria del Software per als SI

El modelo i* (Yu)

GESSI Grup de recerca en Enginyeria del Software per als SI

Universitat Politcnica de Catalunya


Las transparencias que siguen a sta, y hasta la ltima corresponden al curso
Definicin de Requerimientos del Mster de Ingeniera de Software de la UPC,
y su uso en ste curso ha sido autorizado por su autor, Josep Maria Llovet.
Se utilizan intercaladas con las propias del curso para reforzar algunos temas.
Mi agradecimiento a JM Llovet.
P. Botella (volver...)

Definicin de Requerimientos

Master de Ingeniera del Software

Josep M Llovet Prez


jmllovet@telefonica.net

GESSI Grup de recerca en Enginyeria del Software per als SI

Bibliografa
Definicin de Requerimientos:
Managing Software Requirements: A Use Case Approach,
Second Edition. Dean Leffingwell & Don Widrig.$GGLVRQ
:HVOH\ 2003
Requirements Engineering: process and techniques. Gerald
Kotonya & Ian Sommerville. John Wiley & sons. 2000
Requirements Engineering: a good practice guide. Ian
Sommerville & Pete Sawyer. John Wiley & sons. 1997
Software Requirements & Specifications. Michael Jackson.
Addison-Wesley. 1995
Software Requirements. Objects, Functions and States.
Alan Davis. Prentice Hall International.1993

GESSI Grup de recerca en Enginyeria del Software per als SI

Bibliografa (2)

Modelizacin de empresas y negocios:


Business Rules and Information Systems: Aligning IT with
Business Goals. Tony Morgan. Addison-Wesley. 2002
Business Modelling with UML. Business Patterns at Work.
Hans-Erik Eriksson, Magnus Penker. OMG Press. John
Wiley & sons. 2000
Enterprise Modelling with UML. Chris Marshall. AddisonWesley. 1999
Ingeniera del Software (captulos dedicados a la DR):
Ingeniera del Software, Un enfoque prctico. Roger
Pressman. Captulo 10. 5a edicin Ed Mc Graw Hill. 2001
Ingeniera del Software. Ian Sommerville. Captulos 5 al 9.
6a edicin. Addison-Wesley. 2001

Tcnicas, guas y documentacin sobre DR:


Guas y documentacin sobre Definicin de
Requerimientos


http://www.comp.lancs.ac.uk/computing/resources/re-gpg/

Proyecto Reaims


http://www.comp.lancs.ac.uk/computing/research/cseg/projects/
reaims/

Herramientas:


Herramientas CASE (ver 2 ltimas transparencias)


o buscar por tipo de herramientas en:


GESSI Grup de recerca en Enginyeria del Software per als SI

Referencias y enlaces

http://www.qucis.queensu.ca/Software-Engineering/toolcat.html
http://www.incose.org/tools/eia632tax/reqdefine.html
http://stfc.comp.polyu.edu.hk/STFC/SoftFactory/database/tools.
html

Volver

Estandards:

http://standards.ieee.org/

International Organization for Standardization




http://www.ansi.org/

IEEE Standards


http://www.ips.id.ethz.ch/~parish/standard.html

American National Standards Institute




http://www.iso.ch/

National Institute for Standards and Technology




GESSI Grup de recerca en Enginyeria del Software per als SI

Referencias y enlaces (2)

http://www.nist.gov/

Volver

Los riesgos deben documentarse en el plan de gestin del proyecto


Riesgos habituales son:

GESSI Grup de recerca en Enginyeria del Software per als SI

Anlisis de riesgos

Los incumplimientos de los requerimientos no funcionales del sistema tales como


el rendimiento, la facilidad de uso y otros
La no disponibilidad de componentes empaquetadas (off-the-shelf) o reutilizables
Las desviaciones en plazos y costes
La elevada rotacin de personal en empresas subcontratadas
La reducida experiencia de las personas que construyen el software
La no conformidad del producto obtenido a los requerimientos planteados (en un
% significativo o en aspectos clave)
La volatilidad de los requerimientos
Uso de nuevas tecnologas no suficientemente probadas y estables
Insuficiente seguridad de los datos y/o del acceso a los mismos

En ciertos entornos puede ser necesario disear simuladores que


generen datos para asegurar los riesgos del proyecto, p.e. en el
sector del transporte un aspecto fundamental es el de la seguridad
y puede precisarse un simulador de azar para verificar que los
requerimientos vinculados a la seguridad se definen y se cumplen

GESSI Grup de recerca en Enginyeria del Software per als SI

Diagrama de Flujo de Datos (DFD)


Visualizar
detalles
Detalles
vuelo
Planificacin

Plan vuelo

Vuelos

Detalles
vuelo

Detalles
vuelo

Radar

Seal radar

Archivo

Detalles
cambio

Asesorar
situacin

Procesar
seales
Datos
radar
Visualizar
radar

Datos
radar

Instrucciones
cambio

Conformidad
peticin cambio

Peticin
cambio
Aeronave

GESSI Grup de recerca en Enginyeria del Software per als SI

DFD con Flujo de Control


Visualizar
detalles
Detalles
vuelo
Planificacin

Plan vuelo

Vuelos

Salida aeronave
Visualizar
aeronave Salida
aeronave

Seal radar

Aproximacin
aeronave

Detalles
cambio

Archivo

Detalles
vuelo

Detalles
vuelo

Radar

Status
sector

Asesorar
situacin

Procesar
seales
Datos
radar
Visualizar
radar

Datos
radar

Instrucciones
cambio

Conformidad
peticin cambio

Peticin
cambio
Aeronave

GESSI Grup de recerca en Enginyeria del Software per als SI

Diagrama de Estados Finitos


Aproximacin
Aeronave
Esperando
aeronave

Asesorar
situacin

Controlando
aeronave
Visualizar
Aeronave
Mostrar
detalles

Archivo
detalles

Salida aeronave

Mostrando
detalles

GESSI Grup de recerca en Enginyeria del Software per als SI

Diagrama Entidad-Relacin

Datos entrada

Cdigo vuelo

Direccin
Hora
Altitud
Localizacin

Datos
transitorios

Datos salida

Volver

Plan de
Vuelo

Tipo aeronave
Origen
Destino

GESSI Grup de recerca en Enginyeria del Software per als SI

Diagrama de Clase
Motor

Piloto

1..4

1
Avin 1

1..2

Vuelo 1

{ disjunta, completa }

1
Avin militar

Avin comercial

Lnea area

{ disjunta, completa }

Avin de carga

Avin de pasajeros

Vendedor de billetes

Reserva

GESSI Grup de recerca en Enginyeria del Software per als SI

Diagrama de Estados

alta

baja
nmero_prstamos = 0

sin prstamos

Socio Biblioteca
Nmero : int
Nombre : char[50]
Nmero prstamos : int = 0

prestar

Alta()
Baja()
Prestar(CdigoLibro : int, Fecha : date)
Devolver(CdigoLibro : int, Fecha : date)

devolver[ nmero_prstamos = 1 ]

nmero_prstamos > 0
con prstamos

prestar

devolver[ nmero_prstamos > 1 ]

Al modelo...

GESSI Grup de recerca en Enginyeria del Software per als SI

Diagrama de Actividad
Buscar Bebida

[no hay caf]

[hay caf]

[no hay zumo]


[hay zumo]

Poner caf en filtro Aadir agua al depsito Coger taza


Coger zumo

Poner filtro en mquina

Encender mquina
^cafetera.On
Caf en preparacin
indicador de fin
Servir caf

Beber

GESSI Grup de recerca en Enginyeria del Software per als SI

Diagrama de Actividad con bandas


Pasajero
Solicitar pasaje

Vendedor

Airline

Verificar
existencia vuelo
Dar detalles vuelo
Informar alternativas
y precios

Seleccionar vuelo

Solicitar pago Reservar plazas


Confirmar
plaza reservada

Pagar pasaje

Emitir billete
Volver...

GESSI Grup de recerca en Enginyeria del Software per als SI

Diagrama de Casos de Uso

Verificar Situacin

Vendedor

Cliente
Establecer Crdito

Preparar Catlogo

Tipos de Venta

Supervisor

Secretaria

GESSI Grup de recerca en Enginyeria del Software per als SI

Diagrama de Colaboracin
1: Coger libro

: Socio

: Libro

: Ficha socio

2: Solicitar prstamo
3: Verificar situacin socio

8: Autorizar prstamo

6: Situacin libro ok

4: Situacin socio ok

: Encargado
7: Introducir prstamo

5: Verificar situacin libro


: Ficha libro

: Prstamo

GESSI Grup de recerca en Enginyeria del Software per als SI

Volver

Diagrama de Secuencia

: Socio

: Encargado

: Libro

: Ficha socio

Coger libro

Solicitar prstamo
Verificar situacin socio
Situacin socio ok
Verificar situacin libro
Situacin libro ok
Introducir prstamo
Autorizar prstamo

: Ficha libro

: Prstamo

Fuentes de los requerimientos

GESSI Grup de recerca en Enginyeria del Software per als SI

Obtencin de los requerimientos

Identificar los objetivos del proyecto y eventualmente


realizar un estudio de viabilidad de los mismos
mbito de aplicacin o dominio de conocimiento del
proyecto (permitir resolver conflictos entre actores)
Identificar a todos los actores del proyecto para poder
disear un sistema que recoja el punto de vista y sea
fcil de usar por todos ellos
Identificar el entorno operacional para poder establecer
las restricciones del proyecto y los costes que
comportarn las mismas
Entorno organizativo: identificacin de los condicionantes
que la estructura, la cultura y la poltica interna de la
organizacin puedan imponer o sobre-entender

Tcnicas de obtencin de los requerimientos

GESSI Grup de recerca en Enginyeria del Software per als SI

Obtencin de los requerimientos (2)


Entrevistas con los actores: cerradas / abiertas
Cuestionarios con preguntas concretas y respuestas cerradas / abiertas
Escenarios (instancias de casos de uso): permiten contextualizar y
preguntarse sobre Qu pasara si ... ? Cmo se hace esto ?
Prototipos: permiten clarificar y precisar requerimientos
Reuniones de grupo (normales o brainstorming): permiten aportar mayores
puntos de vista que a travs de entrevistas individuales y aflorar puntos de
vista contrapuestos. Es necesario gestionarlas correctamente para evitar
conflictos o puntos de vista dominantes
Observacin de los sistemas actuales y medida de distintos parmetros de los
mismos a travs de la inmersin operacional. Ilustra acerca de las tareas y
ciertos procesos complejos o sobreentendidos que raramente se explicitan
Estudio de los documentos y formularios existentes actualmente
Visitas a otras instalaciones, investigacin externa, jornadas profesionales,
ferias
Presentaciones comerciales, estudio de productos SW ya existentes

Planificacin

Preparacin

GESSI Grup de recerca en Enginyeria del Software per als SI

Entrevistas (1)
Qu datos desean obtenerse ?
Quin debe ser entrevistado ?
Cundo debe efectuarse la entrevista ?
Dnde debe efectuarse la entrevista ?
Recabar informacin externa sobre el problema a resolver
Preparar preguntas como gua de la entrevista
Informarse de las funciones, personalidad y cargo del entrevistado
Concretar da, hora y lugar de la entrevista
Anticipar objeto de la entrevista y agenda

Inicio

Desarrollo

GESSI Grup de recerca en Enginyeria del Software per als SI

Entrevistas (2)

Exposicin general de la entrevista, objetivos, y duracin


estimada
Explicacin de la utilidad de la entrevista solicitud de apoyo al
entrevistado
Se invita y estimula al entrevistado a hablar informalmente
Solicitud informal de autorizacin para tomar notas
Las preguntas deben apuntar a la obtencin de la informacin
deseada
Permitir que el entrevistado siga su lnea de pensamiento y
exposicin sin interrupciones
Guiar la conversacin invitando al detalle si es preciso pero con
momentos de sntesis con recapitulaciones
Evitar controversias o crticas y sugerencias precipitadas
Asegurarse de obtener toda la informacin necesaria y
complementaria

Cierre

Conclusiones

GESSI Grup de recerca en Enginyeria del Software per als SI

Entrevistas (3)

Volver

Resumen de los puntos anotados


Comprobacin de que se ha suministrado toda la informacin
solicitada
Dejar abierta la posibilidad de entrevistas posteriores
Agradecimiento por la colaboracin
En funcin del caso, brindar la entrega de una copia del
documento resumen de la entrevista

Elaboracin de un resumen formal de la entrevista


Opcionalmente, se entrega copia al entrevistado y/o al
interlocutor
Confirmar conclusiones en las entrevistas posteriores
Aclarar puntos de duda sin menospreciarlos, verificando los
datos obtenidos

Debe detectar conflictos entre requerimientos. Para


ello usar matrices o tablas de doble entrada:

Poner los identificadores de los requerimientos en las primeras fila y


columna
Comparar cada requerimiento con cada uno de los restantes y en la celda
correspondiente:

GESSI Grup de recerca en Enginyeria del Software per als SI

Anlisis de los requerimientos

Si hay conflicto poner un 1


Si hay solapamiento poner un 1000
Si hay independencia poner un 0

Sumar filas y columnas


El resto de dividir una suma entre 1000 nos da el nmero de conflictos para
el requerimiento en cuestin
El cociente de dividir una suma entre 1000 nos da el nmero de
solapamientos para el requerimiento en cuestin
Esta tcnica es operativa cuando el nmero de requerimientos <= 200
Si el nmero es superior a 200 conviene dividir el total de requerimientos en
grupos funcionalmente homogneos: entradas de datos, procesamiento,
salidas de datos, subsistemas, etc, para aplicarla a cada grupo

GESSI Grup de recerca en Enginyeria del Software per als SI

Cuestionario para analizar requerimientos


Diseo prematuro

Requiere el requerimiento un diseo prematuro o informacin sobre


su implementacin?

Requerimientos
atmicos / combinados

La descripcin del requerimiento lo es de un nico requerimiento o


puede descomponerse en varios requerimientos?

Requerimientos
innecesarios

Es el requerimiento un aditamento cosmtico al sistema que no es


necesario?

Uso de hardware no
standard

Es necesario HW o SW no standard para implementar el


requerimiento?

Conformidad con los


objetivos propuestos

Es el requerimiento consistente con los objetivos de negocio


planteados al inicio de la DR?

Requerimientos
ambiguos

Pueden interpretar personas diferentes de modo diverso el mismo


requerimiento? Qu interpretaciones son posibles?

Requerimientos
realistas

Es realista el requerimiento dada la tecnologa en la que deber


implementarse el sistema?

Requerimientos
testeables

Podr generarse un juego de pruebas para testear si el sistema


incluye el presente requerimiento y es conforme a la especificacin?

Requerimiento

Diseo
prematuro

Atmico /
Combinado

Innecesario

Tecnologa no
standard

Realista

Testeable

GESSI Grup de recerca en Enginyeria del Software per als SI

Anlisis de requerimientos (3)

R1

1000

R1

R2

R2

R3

1000

1000

1000

R3

R4

1000

R4

R5

R5

R6

1000

R6

Ejemplos de tablas para detectar


conflictos y
solapamientos y para el anlisis de
requerimientos
Req

R1

R2

R3

R4

R5

R1 y R3, R3 y R4, R3 y R6 se solapan


R1 y R5, R1 y R6, R4 y R5, R4 y R6
presentan conflictos
R2 es independiente de los dems

R6

R6 requiere diseo prematuro


R3 es combinacin de otros 2 req.
R2 requiere tecnologa no standard
R3 y R6 no pueden ser testeados





Debe delimitar los lmites del sistema y cmo interacciona


con el entorno, manualmente o con otros sistemas
informticos
Hay que especificar las interfases o intercambios de
informacin entre sistemas y su modalidad (on-line, batch)
Debe elaborar la lista de los requerimientos funcionales y no
funcionales del sistema para facilitar los requerimientos de
software
Clasificacin de los requerimientos:

GESSI Grup de recerca en Enginyeria del Software per als SI

Anlisis de los requerimientos (4)

Funcionales / no funcionales
Del producto / del proceso
De alto nivel / propiedad emergente / derivado
Prioridad
mbito y componentes
Volatilidad / Estabilidad
Otras

Volver

GESSI Grup de recerca en Enginyeria del Software per als SI

Puntos de vista
Puntos de vista enfocando
los requerimientos
inherentes al problema
Problema

PV2

PV1

Puntos de vista proyectando


los requerimientos en
el sistema

Sistema

GESSI Grup de recerca en Enginyeria del Software per als SI

El proceso de definicin de requerimientos con puntos de


vista
Obtencin de requerimientos
Identificar el
asunto clave

Ciclo de
Obtencin,
Anlisis,
Negociacin

Elaborar el
asunto clave

Identificar
Puntos de vista

Versiones de
requerimientos,
Cambios de
puntos de vista

Descubrir
requerimientos

Inconsistencias,
Incompletitudes

Asunto clave,
Puntos de vista,
Requerimientos
externos,
Requerimientos

Resolver
inconsistencias

Analizar interacciones
entre puntos de vista

Negociacin de
requerimientos

Anlisis de
requerimientos

Asunto clave de
los puntos de vista

Integrar y dar formato


Definicin de
requerimientos

GESSI Grup de recerca en Enginyeria del Software per als SI

Puntos de vista (3)


z
z
z
z
z
z
z
z

z
z

Volver

Aportan la visin parcial de los distintos actores del sistema


Debe incluirse el PV de las interfases con otros sistemas
Deben incluirse como PV los requerimientos de seguridad
Centran la atencin del analista en las partes que afectan a cada actor
Aseguran mayor completitud en la DR
Pueden evidenciar conflictos o incompatibilidades entre los
requerimientos de los distintos actores
Duplican requerimientos compatibles (potencialmente podrn ser
integrados en uno solo)
Permiten identificar inconsistencias entre requerimientos. Para ello
conviene aplicar la tcnica descrita para analizar conflictos entre
requerimientos
Permiten una trazabilidad ms clara
Es una tcnica complementaria a las otras tcnicas descritas

GESSI Grup de recerca en Enginyeria del Software per als SI

Requerimientos no funcionales
PRESSMAN 1988
BOEHM 1976
z
z
z
z
z
z
z

Portabilidad
Fiabilidad
Eficiencia
Amigabilidad
Verificabilidad
Comprensible
Modificable

Correccin

Fiabilidad

Eficacia

Integridad

Facilidad mantenimiento

Flexibilidad

Facilidad de prueba

Portabilidad

Reusabilidad (Reutilizacin del SW)

Interoperabilidad

Facilidad de uso (Usabilidad)

GESSI Grup de recerca en Enginyeria del Software per als SI

Posibles mtricas para la especificacin de requerimientos


no funcionales
Fiabilidad

Tiempo medio entre fallos

Fiabilidad

Tasa de ocurrencias de fallos

Disponibilidad

Probabilidad de fallo ante una peticin

Rendimiento

Nmero de transacciones a ser procesadas por segundo

Rendimiento

Tiempo de respuesta ante un input del usuario

Utilizacin de
Tamao mximo del sistema en Kb (kilobytes)
almacenamiento
Usabilidad

Tiempo requerido para aprender el 75% de las


funcionalidades del sistema por parte de un usuario

Usabilidad

Promedio del nmero de errores cometidos por los usuarios


en un perodo determinado

Robustez

Tiempo para reiniciar el sistema ante una cada del sistema

Integridad

Prdida mxima de datos ante una cada del sistema

Volver

z
z

Volver

Tambin denominada resolucin de conflictos


Se refiere a la resolucin de conflictos entre:

GESSI Grup de recerca en Enginyeria del Software per als SI

Negociacin de los requerimientos

Requerimientos incompatibles
Actores que demandan requerimientos incompatibles
Recursos disponibles y requerimientos solicitados
Requerimientos funcionales y restricciones

Frecuentemente el analista no tiene capacidad para decidir, por lo


que debe favorecer el consenso, y si hay un contrato de prestacin
de servicios, debe dejarse traza del por qu de la decisin tomada
Podra incorporarse como parte de la Validacin de requerimientos
La mejor tcnica es la de las reuniones con los involucrados,
previamente preparadas y documentadas para conocer el impacto
de los conflictos y sus posibles soluciones
Otras tcnicas son: correo electrnico, boletines electrnicos,
bases de datos compartidas tipo Lotus Notes con la documentacin
de los requerimientos y sus conflictos. No estn excesivamente
probadas y su utilidad puede ser dudosa si se genera una actitud
de desinters

GESSI Grup de recerca en Enginyeria del Software per als SI

Ejemplo de especificacin de requerimientos

Volver

REQUERIMIENTO

Comprobar la validez de la tarjeta en un cajero automtico

DESCRIPCIN

Esta operacin debe asegurar que la tarjeta introducida por el


usuario ha sido emitida por uno de los bancos asociados, es vigente
y contiene la identificacin de la cuenta bancaria.

ORIGEN

Los datos son ledos de la banda magntica

INPUTS

IdentificadorBanco, NmeroCuenta, FechaExpiracin

DESTINO

Mdulo xyz - Gestin cajero

OUTPUTS

Estatus(0,1)

PRE-REQUISITOS

ListaBancos, FormatoCuentas, FechaDaActual

PRE-CONDICIN

La tarjeta ha sido introducida y la banda magntica leda

POSTCONDICIN

Estatus = 1 si IdentificadorBanco EST EN ListaBancos Y


NmeroCuenta COINCIDE CON FormatoCuentas Y
FechaExpiracin >= FechaDaActual
Estatus = 0 EN CASO CONTRARIO

La conduccin de la revisin de los requerimientos

Los mecanismos habituales son las inspecciones y las


revisiones formales
Se constituir un grupo de revisores con representacin de
todos los actores o al menos los ms significativos para buscar:

GESSI Grup de recerca en Enginyeria del Software per als SI

Validacin de los requerimientos

Errores y contradicciones
Supuestos y/o hechos errneos
Falta de claridad
Desviaciones de las prcticas standard

La composicin del grupo incluir representantes de los


distintos actores que trabajarn sobre la base de la check-list
o lista de requerimientos. Es deseable la participacin de algn
experto ajeno a la DR, que acte como abogado del diablo
Servirn para completar los documentos DR y SRS o
generarn una nueva versin

GESSI Grup de recerca en Enginyeria del Software per als SI

Cuestionario de validacin de la DR
Completitud

Es completo el conjunto de requerimientos? Falta algn requerimiento?


Es completo cada uno de los requerimientos? Falta alguna informacin?

Consistencia

Son consistentes los requerimientos? Hay alguna contradiccin entre


distintos requerimientos?

Comprensible

Son comprensibles los requerimientos? Puede un lector entender lo que


significan cada uno de ellos?

Ambigedad

Son ambiguos algunos requerimientos? Pueden darse distintas


interpretaciones de los mismos?

Estructuracin

Est estructurado el documento DR? Estn agrupados los requerimientos


relacionados entre s? Sera ms fcil de entender otra estructura?

Trazabilidad

Pueden identificarse unvocamente los requerimientos? Incluyen enlaces a


los requerimientos relacionados y a las razones para incluirlos?

Conformidad a
standards

Es conforme a los estndares definidos el documento DR en su conjunto?


Es conforme a los estndares definidos cada uno de los requerimientos
individualmente?

-----Req-N

Volver

Conforme a standards

Req-3

Trazable

Req-2

Estructurado

Req-1

Ambiguo

DR

Comprensible

La comisin de validacin debe


contar con la presencia de uno o
varios usuarios, un responsable
del cliente, desarrolladores, el o
los analistas de requerimientos y
varios expertos funcionales en el
problema
Todos ellos cumplimentarn la
tabla adjunta que se adjuntar a
la documentacin de la DR
En reuniones plenarias revisarn
los requerimientos y resolvern
los problemas que hayan surgido
Acordarn los cambios y
cerrarn la versin o decidirn
reiniciar el proceso de anlisis

Consistente

Completo

GESSI Grup de recerca en Enginyeria del Software per als SI

Validacin de los requerimientos (2)

GESSI Grup de recerca en Enginyeria del Software per als SI

Prototipos
z
z
z
z
z
z

z
z
z

Se usan habitualmente para validar requerimientos


Tambin pueden usarse para la obtencin de nuevos requerimientos si stos
no estn claros o hay malentendidos
Facilitan la identificacin de los errores del analista y del por qu de dichos
errores
Son una herramienta dinmica para la discusin de la interfase de usuario en
lugar de flip-charts, storyboards o similares
Corren el riesgo de distraer la atencin en aspectos secundarios como la
esttica o detalles no relevantes
No sirven para mostrar los requerimientos de tiempo real como sensores,
automatismos,... ni para los requerimientos no funcionales de usabilidad,
fiabilidad, etc
Pueden ser de usar y tirar a los solos efectos de la validacin, o evolutivos
que constituyen la base del futuro producto software
Su coste depende del de la herramienta que se use y del tipo y detalle de
prototipo (obliga a profundizar en la arquitectura del software)
Herramientas: generadores de prototipos, Visualbasic, pginas Web

GESSI Grup de recerca en Enginyeria del Software per als SI

Prototipos de usar y tirar


DEFINICIN DE
REQUERIMIENTOS

ESTUDIO
PREVIO

ESPECIFICACIN
PROTOTIPO

CONSTRUIR
PROTOTIPO

VALIDAR
PROTOTIPO

ESPECIFICACIN
REQUERIMIENTOS

ANLISIS
Y DISEO

CONSTRUCCIN

IMPLEMENTACIN

GESSI Grup de recerca en Enginyeria del Software per als SI

Prototipos evolutivos

Volver

ESTUDIO
PREVIO

ESPECIFICACIN
INCREMENTO

CONSTRUIR
INCREMENTO

IMPLEMENTAR
ELEMENTO

VALIDAR
INCREMENTO

NO

SISTEMA
COMPLETO ?

SI
IMPLEMENTAR
SISTEMA COMPLETO

También podría gustarte