Manual del estudiante de Ingeniería en Sistemas de UTN/Ingeniería de requerimientos/Unidad VIII

De Wikilibros, la colección de libros de texto de contenido libre.

La Trazabilidad de Requerimientos es la habilidad para describir y seguir la vida de un requerimiento, hacia delante y hacia atrás, idealmente a través de todo el ciclo de vida de los sistemas.

Es vista como una medida de la calidad de los sistemas y es ordenada por muchos estándares que gobiernan el desarrollo de sistemas.

Generalmente se distinguen cuatro tipos de enlaces de trazabilidad:

  • Hacia delante desde los requerimientos (* ->): La responsabilidad para el logro de requerimientos debe ser asignada a los componentes del sistema, así tal responsabilidad es establecida y el impacto del cambio de requerimientos puede ser evaluado.
  • Hacia atrás a los requerimientos (* <-): La conformidad de los componentes del sistema con los requerimientos debe ser verificada, y los gold-plating (diseños para los cuales los requerimientos no existen) deben ser evitados.
  • Hacia delante a los requerimientos (-> *): Los cambios en las necesidades de los stakeholders, así como en suposiciones técnicas, podrían requerir una reevaluación radical de relevancia de requerimientos.
  • Hacia atrás desde los requerimientos (<- *): Las necesidades subyacentes son cruciales en la validación de requerimientos, especialmente en altas imposiciones políticas.

Los dos primeros tipos de trazos ("* ->" y "* <-") son frecuentemente incluidos en una categoría denominada post-trazabilidad. Estos enlazan requerimientos al diseño e implementación, documentando asignaciones de responsabilidad, verificación de acuerdos, o análisis de impacto de un requerimiento.

Los dos siguientes tipos de enlaces ("-> *" y "<- *") posibilitan la pre-trazabilidad. Estos documentan el contexto racional y sociopolítico del cual los requerimientos emergen.

Una vez que se establece qué grado de trazabilidad es deseable, tiene sentido definir trazos como productos que satisfacen las propiedades de trazabilidad deseadas.

La trazabilidad es, entonces, un subproceso de desarrollo evolutivo del sistema que proporciona y utiliza estos trazos.

Dimensiones[editar]

Visto como un producto, un trazo debe documentar las tres dimensiones de los procesos de ingeniería de requerimientos.

Dimensión Representativa
Deben capturarse uniones entre los documentos producidos durante el proceso de requerimientos. De hecho, muchas herramientas de trazabilidad inicial enlazan documentos de diseño en un sistema de hipertexto, o simplemente guardando los enlaces en una hoja de cálculo independiente de los documentos en sí mismos.
Dimensión Cognoscitiva
Un trazo captura los objetos conceptuales, y se los enlaza de una manera significativa. Por ej., un requisito puede enlazarse a los responsables de componentes de diseño para satisfacerlo mediante un enlace, que es anotado por un procedimiento de comprobación de compatibilidad.
Dimensión de Cooperación Humana
Cómo, en el proceso de diseño, los stakeholders contribuyen al desarrollo y satisfacción de requerimientos. (Decisiones tomadas, alternativas consideradas, adopciones subyacentes y metas del stakeholder).

Establecer y Mantener la Trazabilidad de Requerimientos[editar]

Es un esfuerzo costoso y políticamente sensible. Es un requisito claves que las herramientas actuales sólo satisfacen en grado limitado. No obstante, es necesaria para alinear continuamente la práctica de trabajo humano de los usuarios, cuestiones organizacionales, y las tecnologías de sistemas de información. Potencia la capacidad para manejar el cambio y así mantener la competitividad.

Etapas del Proceso de Trazabilidad[editar]

La Trazabilidad se basa en la definición por anticipado de tres métodos importantes:

  • Definición de Trazos.
  • Producción de Trazos.
  • Extracción de Trazos.

Etapa de Definición de Trazos[editar]

La definición de Trazos puede llevarse a cabo utilizando Modelos de trazos, en donde se definen los tipos de trazos existentes, así como las relaciones que se pueden generar entre ellos. Se pueden visualizar, también, los requerimientos a ser estudiados y las derivaciones de unos en otros (inducciones), mediante la ejecución de trazos “hacia atrás” y “hacia delante”.

Etapa de Producción de Trazos[editar]

La Producción de Trazos es un aspecto importante de los modelos de trazos, no solamente porque se pueden trazar las relaciones y vinculaciones disponibles a simple vista u “obvias”, sino, porque las mismas se pueden inferir, teniendo en cuenta límites y restricciones impuestos por distintos requerimientos, dependiendo del método de trazabilidad que se esté utilizando.

Etapa de Extracción de Trazos[editar]

Si se quiere rastrear un trazo, es necesario extraer la representación registrada asociada a él. Esta extracción puede realizarse de distintas maneras, y las características de la extracción de un determinado modelo de trazos depende en cómo fue definido y producido el trazo. Un modelo de trazos puede proveer distintas maneras de extraer la información registrada en él, para que se utilice, en cada caso de extracción, el procedimiento más apropiado.

Modelos de trazabilidad[editar]

Los modelos de Trazabilidad o Trazos proveen métodos para la representación, definición, producción y extracción de los trazos. Establecen estructuras conteniendo elementos y relaciones entre ellos, especificando sus tipos y las restricciones bajo las cuales estos elementos pueden ser relacionados.


Ejemplo de modelo de trazabilidad:

Modelo de Estructura Contributiva[editar]

Trabaja con la trazabilidad de requerimientos basados en personas.

Transforma en "trazables" las fuentes humanas de los requerimientos, la información relacionada con los requerimientos y los requerimientos relacionados con el trabajo del personal.


Ejemplo de modelo de trazabilidad:

Modelo centrado en documentos[editar]

Representa los trazos como relaciones entre documentos de diferentes tipos. Puede ser, por ejemplo, un modelo de hipertexto.

Este tipo de modelos garantiza la utilización y recuperación de la información en su formato original.


Ejemplo de modelo de trazabilidad:

Modelo guiado por BD[editar]

Son utilizados para registrar la información de los trazos en BD para su futura extracción.

La ventaja de este modelo es que facilita su utilización a una gran diversidad de usuarios y entornos, seleccionando los elementos y trazos más importantes para cada ocasión.

Técnicas de trazabilidad[editar]

Son las actividades específicas y sus productos o elementos resultantes utilizados para lograr la trazabilidad de requerimientos.


Por ejemplo:

Matrices de Trazabilidad[editar]

Son utilizadas para relacionar requerimientos con elementos o características del SFW. Los requerimientos se enlistan en columnas y los programas, módulos de diseño, componentes, etc. en filas. En la intersección se marca la relación y su importancia.


Por ejemplo:

Esquemas de referencias cruzadas e indexados[editar]

Son referencias marcadas entre distintos elementos para indicar relación entre ellos, o listas de índices conteniendo los elementos relacionados a cada uno.

Lenguajes de trazabilidad[editar]

Existen muchos lenguajes de especificación con distintas características que permiten representar relación entre los distintos elementos.


Por ejemplo:

Lenguaje tipo query[editar]

Muchas herramientas de trazabilidad utilizan lenguajes convencionales de BD para inspeccionar y recuperar información de sus BD.

Expresiones regulares[editar]

Es un patrón que describe a una cadena de caracteres. Se rigen por una serie de normas y hay una construcción para cualquier patrón de caracteres que dan lugar a un resultado.

Proveedores de Ambientes de Trazabilidad de Requerimientos[editar]

Capacidades ofrecidas:

  • Tipos de datos predefinidos y definibles por el usuario.
  • Consultas predefinidas o definibles por el usuario.
  • Administración comprensiva de la configuración y del cambio.
  • Capacidades para el análisis de trazos.
  • Varios formatos de presentación (matrices, gráficos, reportes).
  • Soporte para el trabajo en equipo.
  • Interfaces para otros sistemas y ambientes de software.