Escolar Documentos
Profissional Documentos
Cultura Documentos
Diciembre 2006
Escuela de Ingeniería de Antioquia, Medellín (Colombia)
RESUMEN
Realizar el seguimiento a los requisitos a lo largo del proceso de desarrollo de software no es tarea fácil.
Todo artefacto de software cambia en el tiempo por la evolución en las necesidades de los usuarios. Para
minimizar el impacto causado por dicha evolución, la práctica de la trazabilidad ha sido estudiada e imple-
mentada con diferentes modelos y técnicas que permiten lograr mayor calidad en los productos de software.
En este artículo se muestra una revisión conceptual de algunas de las más representativas aproximaciones
de la práctica de la trazabilidad de requisitos y se analiza la forma como contribuyen a la verificación de la
consistencia y completitud de los modelos de desarrollo.
PALABRAS CLAVE: ingeniería de software; trazabilidad de requisitos; trazabilidad; requisito.
ABSTRACT
* Ph. D(c) en Ingeniería de Sistemas, Universidad Nacional de Colombia. Docente del Área de Ingeniería de Software
y Bases de Datos, Escuela de Ingeniería de Antioquia. pfmstabare@eia.edu.co
** Doctor en Ingeniería de la Programación e Inteligencia Artificial, Universidad Politécnica de Valencia, España. Do-
cente de la Escuela de Sistemas e Informática, Universidad Nacional de Colombia. farango@unal.edu.co
*** Doctor en Ingeniería de la Programación e Inteligencia Artificial, Universidad Politécnica de Valencia, España. Escuela
de Ingeniería, Departamento de Sistemas, Universidad EAFIT. ranaya@eafit.edu.co
34 Revista EIA
del análisis del problema y los resultados obtenidos de calidad, como la completitud y consistencia de
de los estudios mencionados. los modelos que se van obteniendo a lo largo del de-
sarrollo. Este análisis será utilizado como un recurso
Estos y otros estudios han servido para fomen-
de investigación para revisiones futuras de la práctica
tar la creación, adopción y uso de modelos y técnicas
de la trazabilidad en empresas de software.
para la práctica de la trazabilidad. En la siguiente
sección se presentan algunos de los modelos de tra- Con el objetivo de brindar mayor compren
zabilidad más representativos, el aporte que hacen sión de algunos términos, presentamos las defi-
desde los elementos y semántica que los determinan niciones de semántica de trazado, consistencia y
y cómo desde estos es posible lograr otros atributos completitud.
Gotel et al. Analizar el problema Aunque son muchas las técnicas y - Los problemas se centran en que
[7] de la trazabilidad de herramientas para la trazabilidad de hay una distinción débil entre pre
los requisitos requisitos, la persistencia del problema trazabilidad y postrazabilidad.
de su práctica y los resultados que de - Se hace énfasis en el mejoramiento de
ella se obtiene llevan a revisar factores la pretrazabilidad de la especificación
como: de requisitos por medio de aumentar
la conciencia de información, obtener
- Definición de trazabilidad: difieren en
y registrar información para el trazado,
énfasis y delimitación del alcance.
organizar y mantener dicha información
- Problemas subyacentes que están
y proveer el acceso de la información y
en conflicto: nivel de granularidad,
realizar su presentación necesaria.
diferentes usuarios, integración débil
de tecnología, etc.
Ramesh et al. Conocer qué facto La adopción de la práctica de la Los factores que afectan la práctica de la
[8] res críticos afectan trazabilidad está influenciada por el trazabilidad son:
la práctica de la tra contexto tecnológico, el de estrategias
- ��������������������������������������
Condiciones para la adopción y uso de
zabilidad corporativas y el de las políticas y el
la trazabilidad: reconocer y articular el
personal del sistema de desarrollo.
problema de la trazabilidad y formular
objetivos de trazabilidad.
El problema se centra en la forma como
- Adopción y uso de la trazabilidad: desa
se realiza la práctica de la trazabilidad.
rrollar métodos, adquirir herramientas,
Para esto se diferencian dos tipos
desarrollar herramientas y crear polí
de usuarios: low-end user, que usa
ticas de desarrollo del sistema de
esquemas simples de trazabilidad,
cambios.
y high-end user, que captura la infor
- Consecuencias en la adopción y uso
mación relacionada con el proceso
de la trazabilidad: reacciones del
como la razón fundamental detrás
patrocinador, del administrador o gerente
de varios artefactos y la evolución
de proyecto, de los desarrolladores y
progresiva de esos artefactos.
del resto de participantes.
Gills [9] Estudiar la posibi No hay cultura para la práctica de la Muy pocos proyectos tienen una apro
lidad de mejorar la trazabilidad, se considera un asunto ximación sistemática para trazabilidad, lo
práctica de la traza difícil de implementar en la vida real. cual hace necesario buscar mecanismos
bilidad en empresas para que sea integrada por medio de
de tecnología de herramientas de apoyo al proceso de
información desarrollo.
• Semántica de trazado: corresponde a la definición Otro ejemplo es la matriz CRUD (Create, Re-
de los elementos (ítems) y vínculos de trazado trieve, Update and Delete). Permite analizar las ope-
dentro de un modelo de trazabilidad. El significa- raciones que deben realizarse sobre la base de datos
do que tiene cada uno de ellos permitirá hacer el a partir de la correlación entre tablas y funciones y
seguimiento a un requisito desde su identificación entre otros elementos de la base de datos.
hasta los aspectos de implementación.
La construcción de estas matrices trae benefi-
• Consistencia: un modelo es consistente en un cios, más allá de un simple registro de la correlación
nivel de abstracción Y, con respecto a un nivel o dependencia entre los elementos de los modelos.
de abstracción X, si conserva el mismo significado A partir de ellas es posible analizar características
del nivel de abstracción X. tales como el nivel de especificación de los requisi-
tos, el nivel de participación de los usuarios, el costo
• Completitud: Se refiere al grado en que un mo-
asociado a cada fase de desarrollo, la arquitectura
delo cumple las necesidades de los usuarios en
requerida, el plan de las pruebas, etc. Otra de las
cualquier nivel de abstracción. Esto se cumple si
ventajas de estas matrices es que, si se actualizan
todos los significados del nivel de abstracción X se
continuamente, pueden servir como herramienta
hallan en el nivel de abstracción Y, y viceversa.
de soporte muy útil para el personal encargado del
mantenimiento y las pruebas del sistema.
3. MODELOS DE TRAZABILIDAD
De otra parte, esta práctica puede ser costosa
3.1 Generalidades y tediosa para sistemas de gran tamaño o complejos.
Algunas herramientas CASE posibilitan la generación
Se han creado diferentes técnicas y modelos automática de estas matrices o de forma automática
para soportar la práctica de trazabilidad durante el generan elementos de un modelo a otro en diferentes
proceso de desarrollo de software. La técnica más niveles de abstracción (p. ej. del modelo de análisis
común y aplicable a cualquier modelo de desarrollo al modelo de diseño), para obtener así una correla-
es la construcción de matrices de trazado, que hacen ción (mapping) de trazado; sin embargo, no todos
posible el análisis de la correlación entre elementos los elementos pueden ser correlacionados de forma
de un mismo modelo y entre modelos en diferentes automática o simplemente no tienen elementos
niveles de abstracción. Por ejemplo, en la figura 1 se definidos en los modelos destino.
muestra una de las matrices más comunes de traza-
do: la de Requisitos y Casos de Uso, la cual permite 3.2 Revisión de modelos de trazabilidad
verificar en qué casos de uso son representados y
especificados los requisitos funcionales elicitados Las aproximaciones que hemos seleccionado
desde el espacio del problema. para la revisión son los siguientes: Lindvall [1], Gotel
et al. [2], Ramesh et al. [3], Letelier [4] y Egyed [5,
Casos de Uso 6]. De cada una de ellas explicamos su modelo, su
CU1 CU2 CU3 CU4
Requisitos semántica para realizar el trazado y los mecanismos
Requisito 1 3 3 utilizados para la verificación de consistencia y
Requisito 2 3 completitud.
36 Revista EIA
delante (forward) y hacia atrás (backward), vertical Verificación de Completitud: evalúa si el ma-
y horizontal. Distingue entre artefactos permanentes terial de especificación de requisitos utilizados en los
y temporales para jerarquizar el trazado. diferentes niveles de abstracción está completo. Es
una inspección intuitiva que depende de la impor-
Clasifica la trazabilidad en dos dimensiones. En
tancia que cada participante les dé a los documentos
la primera, se identifican los vínculos de trazados entre
producidos en el ciclo de vida.
los diferentes elementos del modelo, por ejemplo: de
objeto a objeto (object-to-object), relación a relación Gotel y Finkelstein [2] presentan un modelo
(association-to-association), caso de uso a caso de uso que hace posible extender formas convencionales
(use-case-to-use-case), requisitos a casos de uso, etc. de trazabilidad de requisitos basada en artefactos.
(figura 2). En la segunda, se determina cómo se realiza En su propuesta presentan dos tipos de requisitos:
el trazado: por vínculos explícitos (o relaciones de los basados en artefactos y basados en el personal parti-
modelos de desarrollo), por referencia, por nombre o cipante. Crean una “estructura de contribución” para
por la experiencia del desarrollador y el conocimiento realizar la práctica de la trazabilidad, que consiste
que tenga del dominio y del sistema para distinguir en hacer trazabilidad de requisitos basada en las
otros ítems que estarían relacionados. contribuciones que hacen los participantes a los
artefactos producidos en el proceso de ingeniería
Verificación de consistencia: evalúa en el
de requisitos.
modelo de desarrollo la posibilidad de que haya
algún ítem o conjunto de ítems y de asociaciones En la semántica asociada a dicha estructura
que se contradigan entre sí o que de una u otra es posible encontrar dos vínculos de trazado entre
forma hagan el modelo inconsistente. Procura la los artefactos de un modelo de desarrollo: adopta
consistencia a partir del trazado por nombre. La para indicar las relaciones basadas en artefactos que
inspección es informal y no tiene forma de validar son típicamente mantenidas para la trazabilidad de
si todos los ítems y asociaciones están involucrados requisitos; referencia para indicar las relaciones ba-
en la inspección. sadas en artefactos que proporcionan información
más allá del contexto básico.
Se definen también para los participantes tres
roles de responsabilidad con respecto a un artefacto:
autor (responsable original), principal (responsable
corriente) y documentador. Esto ayudará posterior-
mente a verificar la colaboración entre los partici-
pantes y sus roles en el trazado.
La naturaleza de la semántica de los vínculos
basados en artefactos proviene de la descripción de
las relaciones dadas entre un participante y la natu-
raleza de las relaciones en términos de su cohesión
y coherencia. Por ejemplo, b adopta a (siendo a y b
dos elementos del modelo de desarrollo) proviene
de las relaciones: b califica a (por el participante)
y b adiciona a (por coherencia o cohesión de los
artefactos). La semántica de adopta está asociada a
operaciones tales como adicionar, remover y alterar.
Figura 2. Clasificación de la trazabilidad, según Este modelo expone el trazado desde los artefactos
Lindvall
y sus participantes conjuntamente con el objetivo
de poder inferir más tarde acerca del modelo y los a partir de los cambios que pueden sufrir los modelos
compromisos de sus participantes, a los cuales son de desarrollo (instancias de este vínculo podrían ser:
atribuidos roles sociales (p. ej. Autorverdadero, Devi- modificado, definido, elaborado, derivado). Rationale
sor/Relayer1, AutorRepresentativo y AutorFantasma). representa los fundamentos o definiciones básicas
de artefactos, decisiones, etc. Cualquier entidad o
Verificación de consistencia y completitud: se
relación de este modelo puede ser instanciada.
evalúan a partir de los compromisos de los partici-
pantes (rol social). Esto se representa en una matriz Los Participantes (Stakeholders) representan
donde se relaciona cada artefacto con el rol social agentes involucrados en el sistema de desarrollo y
del participante, los colaboradores y los artefactos mantienen las actividades del ciclo de vida; tienen
que lo adoptan y lo refieren. diferentes roles o capacidades sobre los objetos
y vínculos de trazabilidad. Las Fuentes (Sources)
Rashamel y Jarke [3] presentan un modelo
documentan los Objetos y los Participantes mane-
basado en un estudio acerca de la adopción y uso de la
jan las Fuentes. Los Objetos representan cualquier
trazabilidad de requisitos. A partir de él se crea el me-
ítem de entrada o salida del modelo de desarrollo,
tamodelo de trazabilidad (figura 3a) y se diferencian
como requisitos, diseños, sistema de componentes,
dos tipos de usuarios de trazabilidad de “bajo perfil
suposiciones, decisiones, fundamentos, alternativas,
(low-end)” y de “alto perfil (high-end)”. El metamodelo
factores críticos, etc.
representa los tres aspectos más importantes para la
práctica de la trazabilidad: las fuentes, los participantes El vínculo de trazado también puede ser ins-
y los objetos para ser trazados. La semántica asociada tanciado, por ejemplo: Requisitos deriva Requisito,
a los vínculos de trazado (trace_to, has_role_in, etc.) Requisito depende_de Suposición, Requisitos localiza-
está dada por: Object traces_to Object, Stakeholder do_en Sistema_ de_Componentes, Requisito satisface
has_role_in Object, Stakeholder manages Source y Sistema_de_Componentes, Procedimiento_de_ve-
Source documents Object. rificación realizado_en Sistema_de_Componentes,
La metaclase Objeto (Object) es extendida Sistema_de_Componentes depende_en Sistema_de_
desde una vista de alto nivel con las siguientes partes Componentes, Procedimiento_de verificación desa-
que la componen: Requirements Management, De- rrollado_por Requisitos, Sistema_de_Componentes
sign Allocation y Compliance Verification (figura 3b). interfaz_con Sistemas_Externos2. En otro nivel es
Éstas permiten a los usuarios de alto perfil registrar posible encontrar vínculos de trazado tales como:
información que les permita hacer inferencias en los Necesidades_Organizacionales justifica Siste-
modelos de desarrollo. ma_de_Objetivos, Escenarios describen Necesida-
Además, van acompañadas de los siguientes des_Organizacionales, Sistema_de_Objetivos genera
vínculos de trazado: satisfied, que representa la in- Requisitos, Necesidades_Organizacionales identifica
formación que se considera crítica y se encarga de Factores_Críticos, etc.3.
asegurar que todos los requisitos de usuarios sean Verificación de consistencia: se realiza a partir
trazados. Depends_on se refiere a la dependencia de las dependencias y vínculos de trazado entre los ob-
entre objetos trazados vistos desde un alto nivel. jetos y se garantiza por medio de un metaadministra-
Envolves_to corresponde al registro de la evolución dor de bases de datos basadas en el conocimiento.
1 Devisor: rol social que se atribuye a los participantes que son tanto principales como autores de un artefacto.
Relayer: rol social que se atribuye a los participantes que solo actúan como documentadores.
2 Este tipo de instancias corresponden a usuarios de “bajo perfil” de trazabilidad.
3 Este tipo de instancias corresponden a usuarios de “alto perfil” de trazabilidad.
38 Revista EIA
(a) (b)
tres dependencias de traza: hipotetizada, generada y Egyed también provee otros tipos de vínculos
observada (figura 5b). La primera actividad requiere que se usan para analizar el grado de incertidumbre
analizar las posibles trazas hipotéticas que pueden del trazado entre las líneas de código y los elementos
ser levantadas desde documentación o modelos; del modelo; algunos de estos son: incluido, excluido,
las trazas generadas mediante una iteración pueden esCompartido, esAloSumo, esPorloMenos, NoEs,
usarse como trazas hipotéticas en iteración sucesiva; EsExactamente, etc.
además usa conocimiento corriente de las trazas y Verificación de la consistencia y la completi-
lo permuta con trazas observables. tud: son verificadas a partir de las trazas hipotéticas
Escenario de Prueba (manual)
Trazas entre
Trazas entre Trazas entre Inconsistencias e
elementos de
elementos de elementos de incompletitudes
modelo y
modelo y código modelo
escenarios
a) b)
40 Revista EIA
excesivas. Por ejemplo, si un elemento del modelo tos no funcionales [9] o aproximaciones de ingeniería
m es exactamente alguna huella de trazado f (en el de requisitos orientada a aspectos [10].
código), entonces se reconoce que m traza a dicha
huella de trazado y no a otra, además que la huella 5. CONCLUSIONES
pertenece a m y no a otro modelo. Ésta se considera
una entrada precisa y completa. En la actualidad la práctica de la trazabilidad
se conduce por las herramientas CASE que permiten
4. ANÁLISIS DE LAS hacer una buena administración de los requisitos.
APROXIMACIONES Pero consideramos importante que el personal de
desarrollo o calidad dedicado a la validación y veri-
En la revisión conceptual de la sección ante- ficación de la trazabilidad de requisitos establezca un
rior, cada autor presenta un modelo que permite a los modelo de trazado con el cual pueda medir el nivel
desarrolladores tener medios o formas para hacer de de exactitud de los modelos de desarrollo con respec-
la práctica de la trazabilidad una actividad necesaria to a los requisitos planteados por los usuarios.
e inseparable durante el proceso de desarrollo. Todas De igual forma consideramos conveniente
las aproximaciones de alguna u otra forma coinci- realizar la práctica de la trazabilidad teniendo en
den en tener en cuenta los tres elementos básicos cuenta factores tales como: complejidad del soft-
para la práctica de la trazabilidad: los artefactos, los ware, nivel de especificación de los requisitos y de
participantes y las fuentes. Pero, realmente, aunque los modelos, identificación de dependencias entre
parezca que tienen diferencias sutiles, el nivel de los requisitos, lenguaje de modelado utilizado para
profundidad y automatización que pueden lograr representar los requisitos, empleo de artefactos para
en estos factores hacen que los diferentes modelos la reutilización, nivel de soporte de los modelos y las
propuestos establezcan patrones o directrices en la estructuras para las pruebas y los cambios, depen-
práctica de la trazabilidad. dencias entre los elementos de cada modelo y nivel
Gotel y Finkelstein [2] profundizan en las de abstracción, lenguaje de representación utilizado
responsabilidades de los participantes en cuanto en los modelos, entre otros.
a la creación y el mantenimiento de los artefactos
asociados a los requisitos. Ramesh y Jarke [3] pro- 6. referencias
fundizan en la diferenciación de los tipos de usuarios [1] Lindvall
������������������������������������������������������
M. and Sandahl, K. Practical implications of
de la trazabilidad. Así logran distinguir las labores traceability. Journal of Software Practice and Experi-
operativas del trazado de las que realmente proveen ence, 26(10), p. 1161-1180, 1996.
más información a los modelos de desarrollo. Ade- [2] Gotel
��������������������������������������������������
O. and Finkelstein A. Extended requirements
más, presentan un alto nivel de automatización del traceability: results of an industrial case study. In: Proc.
3rd IEEE Inter. Symposium on Requirements Engineer-
trazado. Egyed [6] extiende su propuesta al manejo ing (RE’97), p. 169. �
de incertidumbre desde el trazado, lo cual permite
[3] Ramesh B. and Jarke M. Toward reference models for
lograr un alto grado de certeza en el modelado a requirements traceability. IEEE Transactions on Soft-
partir de la práctica de la trazabilidad. ware Engineering, Vol. 27, No. 1, January 2001.
Es importante resaltar que algunas de estas [4] Letelier P. y Anaya V. Entregando especificaciones
textuales y elementos de modelado UML en un mar-
propuestas encuentran limitaciones en el trazado de
co de trabajo para trazabilidad de requisitos. JISBD
requisitos no funcionales, ya que UML no proporcio- p. 151-162, 2002.
na elementos de modelo para este tipo de requisitos.
[5] Egyed A. A scenario-driven approach to trace de-
De esta forma, consideramos importante probar estas pendency analysis. IEEE Trans. Software Eng. 29(2):
aproximaciones con esquemas de análisis de requisi- 116-132, 2003.
[6] Egyed A. Resolving uncertainties during trace analy- [9] Gills M. Survey of traceability models in IT projects.
sis. Proc. of the 12th ACM SIGSOFT Symposium on Proceedings ECMDA Traceability Workshop (ECMDA-
Foundations of Software Engineering (FSE), Irvine, TW) 2005. p. 39-46.
CA, Nov. 2004, p. 3-12.
[10] Chung, L., Nixon, B.; Yu, E. and Mylopoulos, J. Non-
[7] Gotel O. and Finkelstein A. An analysis of the require- functional requirements in software engineering,
ments traceability problem. In: Proc. 1st IEEE Int. Conf. Kluwer Academic Publishers, 2000.
on Requirements Engineering, p. 94-101, Colorado
Springs, April 1994. [11] �����������������������������������������������������
Chitchyan R.; Rashid A.; Sawyer P.; Bakker J.; Pinto
M.; García A.; Tekinerdogan B.; Clarke S. and Jackson
[8] ����������������������������������������������������
Ramesh B. Factors influencing requirements tracea- A. Survey of aspect-oriented analysis and design ap-
bility practice. Communications of the ACM, proaches, AOSD-Europe-ULANC-9, AOSD-EUROPE
41(12):37-44, 1998. Network of Excellence. May 2005.
42 Revista EIA