Articulo de referencia

trazabilidad de los requisitos

La trazabilidad de requisitos es una subdisciplina de la gestión de requisitos dentro del desarrollo de software y la ingeniería de sistemas . La trazabilidad como término gener...

La trazabilidad de requisitos es una subdisciplina de la gestión de requisitos dentro del desarrollo de software y la ingeniería de sistemas . La trazabilidad como término general se define en el Vocabulario de Ingeniería de Sistemas y Software del IEEE [ 1 ] como (1) el grado en que se puede establecer una relación entre dos o más productos del proceso de desarrollo, especialmente productos que tienen una relación predecesor-sucesor o primario-subordinado entre sí; [ 2 ] (2) la identificación y documentación de rutas de derivación (ascendentes) y rutas de asignación o flujo descendente (descendentes) de productos de trabajo en la jerarquía de productos de trabajo; [ 3 ] (3) el grado en que cada elemento en un producto de desarrollo de software establece su razón de ser; y (4) asociación discernible entre dos o más entidades lógicas, como requisitos, elementos del sistema, verificaciones o tareas.

La trazabilidad de requisitos, en particular, se define como "la capacidad de describir y seguir la vida de un requisito tanto hacia adelante como hacia atrás (es decir, desde sus orígenes, a través de su desarrollo y especificación, hasta su posterior despliegue y uso, y a través de períodos de refinamiento e iteración continuos en cualquiera de estas fases)". [ 4 ] [ 5 ] En el campo de la ingeniería de requisitos , la trazabilidad se trata de comprender cómo los requisitos de alto nivel (objetivos, metas, propósitos, aspiraciones, expectativas, necesidades comerciales) se transforman en requisitos de bajo nivel listos para el desarrollo. Por lo tanto, se ocupa principalmente de satisfacer las relaciones entre capas de información (también conocidas como artefactos). [ 6 ] Sin embargo, la trazabilidad puede documentar relaciones entre muchos tipos de artefactos de desarrollo, como requisitos, declaraciones de especificación, diseños, pruebas, modelos y componentes desarrollados. [ 7 ] Por ejemplo, es práctica común capturar relaciones de verificación para demostrar que un requisito es verificado por un determinado artefacto de prueba.

La trazabilidad es especialmente relevante al desarrollar sistemas críticos para la seguridad y, por lo tanto, está prescrita por directrices de seguridad , como DO178C , ISO 26262 e IEC61508 . Un requisito común de estas directrices es que los requisitos críticos deben verificarse y que esta verificación debe demostrarse mediante la trazabilidad. [ 8 ]

Rastrear hacia y más allá de los requisitos

Trazabilidad de los prerrequisitos . [ 4 ] Los requisitos provienen de diferentes fuentes, como la persona de negocios que solicita el producto, el gerente de marketing y el usuario final. Cada una de estas personas tiene requisitos distintos para el producto. Mediante la trazabilidad de los requisitos, se puede rastrear una funcionalidad implementada hasta la persona o el grupo que la solicitó durante la recopilación de requisitos . Esto se puede utilizar durante el proceso de desarrollo para priorizar el requisito, determinando su valor para un usuario específico. También se puede utilizar después del despliegue para comprender por qué ciertas funcionalidades no utilizadas, detectadas durante los estudios de usuarios, fueron requeridas inicialmente.

Trazabilidad posterior a los requisitos . [ 4 ] No solo se deben rastrear los requisitos en sí mismos, sino también la relación de los requisitos con todos los artefactos asociados, como modelos, resultados de análisis, casos de prueba, procedimientos de prueba, resultados de prueba y documentación de todo tipo. Incluso las personas y los grupos de usuarios asociados con los requisitos deben ser rastreables. Los requisitos se materializan en artefactos de diseño, implementación y, finalmente, se verifican. Los artefactos vinculados a las últimas etapas también deben rastrearse hasta los requisitos. Esto se suele hacer mediante una matriz de trazabilidad de requisitos .

Establecer la trazabilidad más allá de los requisitos en los artefactos de diseño, implementación y verificación puede resultar difícil. [ 9 ] Al implementar requisitos de software, por ejemplo, los requisitos pueden estar en una herramienta de gestión de requisitos , mientras que los artefactos de diseño pueden estar en una herramienta de diseño. Además, es probable que los artefactos de implementación estén en forma de archivos fuente, cuyos enlaces pueden establecerse de diversas maneras en diferentes ámbitos. Artefactos de verificación como los generados por pruebas internas o herramientas de verificación formal .

La integración de repositorios o conjuntos de herramientas puede suponer un reto importante para mantener la trazabilidad en un sistema dinámico.

Uso de la información de trazabilidad

El uso de la trazabilidad, especialmente cuando se realiza un seguimiento más allá de los requisitos hasta todos los artefactos ubicados en la cadena de herramientas, puede aportar varios beneficios: [ 10 ] [ 11 ]

  • Análisis del impacto del cambio : si un requisito cambia, los enlaces de seguimiento informan sobre los artefactos relacionados y dependientes. Estos artefactos se pueden verificar fácilmente y, si es necesario, ajustar. Se reduce la probabilidad de pasar por alto artefactos relacionados.
  • El análisis de cobertura y la trazabilidad garantizan que no se pase por alto ningún requisito. Especialmente al certificar productos críticos para la seguridad, es necesario demostrar que se cumplen todos los requisitos.
  • Análisis del estado del proyecto: es posible realizar un seguimiento del estado del proyecto. El análisis de los datos de trazabilidad permite visualizar el estado de finalización de los requisitos. Los requisitos sin enlaces o con una cadena de trazabilidad incompleta (por ejemplo, requisitos con implementación pero sin pruebas) indican que es necesario seguir trabajando. Los enlaces faltantes muestran qué artefactos concretos faltan y deben desarrollarse.
  • Reutilización de componentes de producto: es posible estructurar los requisitos y sus artefactos vinculados en paquetes. Estos paquetes pueden utilizarse para diferentes productos.
  • Relaciones persistentes: a menudo, el conocimiento de un proyecto o producto reside en la mente de personas específicas. Mediante la trazabilidad, este conocimiento se conserva al visualizar la relación entre los diferentes artefactos. Este conocimiento permanece incluso si una persona abandona el proyecto.
  • Optimización de pruebas: al vincular los requisitos, el código fuente , los casos de prueba y los resultados de las pruebas, es fácil identificar las partes afectadas del código fuente si las pruebas fallan. Además, se pueden identificar y eliminar los casos de prueba redundantes.

En [ 12 ] se ofrece una visión general más completa de las actividades de desarrollo respaldadas por la trazabilidad y su relevancia.

Uso práctico de la información de trazabilidad

Numerosos estudios documentan la eficacia, pero también las dificultades, de recopilar información sobre la trazabilidad:

  • La trazabilidad acelera y mejora las actividades de desarrollo: un estudio con 71 participantes que realizaron cambios en el código fuente con y sin soporte de trazabilidad demostró los beneficios de esta última. Los desarrolladores completaron las tareas con soporte de trazabilidad un 24 % más rápido y con un 50 % más de precisión. [ 13 ]
  • Una trazabilidad más completa ayuda a evitar defectos de software: en un análisis de datos de desarrollo de 24 proyectos de código abierto medianos y grandes, se encontró una relación estadísticamente significativa entre la exhaustividad de la información de trazabilidad capturada y la tasa de defectos del código fuente desarrollado. Los componentes con una trazabilidad más completa mostraron un menor número de defectos (también conocidos como errores). [ 14 ]
  • Lograr una trazabilidad conforme a la normativa es difícil. Un análisis de las pruebas previas a la comercialización del software en dispositivos médicos realizado por la Administración de Alimentos y Medicamentos de EE. UU. (FDA) en 2013 identificó importantes discrepancias entre la información de trazabilidad prescrita y la registrada. [ 8 ] La búsqueda de una trazabilidad conforme a la norma suele dar lugar a un "gran bloqueo". Un gran bloqueo, ya que las empresas pretenden evitar un mayor desarrollo porque la recertificación implica un esfuerzo enorme. [ 15 ]

Visualización de la información de trazabilidad

Uno de los objetivos de la trazabilidad es visualizar la relación entre los artefactos. A medida que aumenta el número y la complejidad de los enlaces de trazabilidad, se hacen necesarias técnicas para la visualización de la trazabilidad. Una visualización puede incluir información sobre los artefactos (por ejemplo, tipo de artefacto, metadatos, atributos) y los enlaces (por ejemplo, tipo de enlace, metadatos, fuerza del enlace). [ 16 ]

Las visualizaciones más comunes para la información de trazabilidad son las matrices , los gráficos , las listas y los hipervínculos .

  • Matriz de trazabilidad : Una matriz de trazabilidad es una representación en forma de tabla que asigna artefactos de un tipo (por ejemplo, requisitos) representados en columnas a artefactos de otro tipo (por ejemplo, código fuente) representados en filas. Las celdas visualizan una traza entre dos artefactos si están llenas o la ausencia de traza si están vacías. [ 16 ] La ventaja de las matrices de trazabilidad es que todos los vínculos entre artefactos son visibles de un vistazo. Los filtros ayudan a reducir la cantidad de información mostrada. Las matrices de trazabilidad son adecuadas para tareas de gestión. [ 16 ] Sin embargo, en la industria, los proyectos a menudo constan de miles de artefactos: las tablas podrían volverse muy grandes y confusas. [ 17 ]
  • Grafo de trazabilidad : En un grafo de trazabilidad, los artefactos se representan como nodos. Los nodos se conectan mediante aristas si existe un vínculo de trazabilidad entre ellos. Los grafos son especialmente adecuados para tareas de desarrollo. Permiten obtener una visión general de los vínculos de forma exploratoria y se caracterizan por una alta tasa de comprensión de la información. [ 16 ] Al navegar por el grafo, es fácil identificar los vínculos faltantes, lo que sirve de guía para crear los artefactos necesarios.
  • Lista : Las listas representan enlaces de trazabilidad en una sola entrada. Esta entrada puede incluir información sobre el artefacto de origen y destino, así como sus atributos. Son especialmente adecuadas cuando se deben ejecutar operaciones masivas para varios artefactos diferentes. Los filtros y mecanismos de ordenación permiten gestionar la información mostrada. Sin embargo, en comparación con las visualizaciones descritas anteriormente, las listas son menos adecuadas para ejecutar tareas de gestión de proyectos, desarrollo y pruebas. [ 16 ]
  • Hipervínculo : Los hipervínculos conectan artefactos vinculados y permiten "saltar" de un artefacto de origen a un artefacto vinculado. Esta visualización es adecuada si se necesita información detallada sobre un artefacto, ya que permite navegar a los artefactos en su entorno nativo. [ 16 ] El uso exclusivo de hipervínculos tiene la desventaja de que se requiere un gran esfuerzo de navegación para obtener una visión general del estado del enlace, ya que los artefactos vinculados no se visualizan de forma compacta.

Las visualizaciones pueden combinarse para superar sus limitaciones específicas.

Realización técnica

Trazabilidad manual

La trazabilidad se logra capturando rastros, ya sea de forma totalmente manual o con la ayuda de herramientas, por ejemplo, como una hoja de cálculo en Microsoft Excel . Si bien se aplica ampliamente, este proceso es engorroso, propenso a errores y, a menudo, genera información de trazabilidad de calidad insuficiente debido a las diversas herramientas de desarrollo involucradas y al elevado número de artefactos que generalmente se deben rastrear. [ 18 ]

Trazabilidad con soporte de herramientas

La trazabilidad asistida por herramientas requiere que la información de desarrollo, distribuida a lo largo de toda una cadena de herramientas de desarrollo, se homogeneice y agregue. Existen los siguientes enfoques para lograr este estado:

Homogeneización del entorno de herramientas de software mediante una herramienta ALM : las cadenas de herramientas ALM cubren el ciclo de vida del desarrollo de software y gestionan todos los artefactos del proceso de desarrollo. Muchas empresas han optado por un enfoque de "mejores herramientas" con gestión de tareas, gestión de código y numerosas herramientas de automatización de pruebas . Las empresas que eligen este enfoque resuelven el desafío de la trazabilidad con herramientas de gestión de requisitos (RM) que proporcionan un modelo de trazabilidad completo e integraciones para las mejores herramientas. Una única herramienta ALM que cubra requisitos, análisis de riesgos, diseño de sistemas, gestión de tareas, repositorios de código, integración, pruebas y más, representa una compensación clásica entre las capacidades de las mejores herramientas y una plataforma común con funciones más limitadas.

Homogeneización de datos mediante requisitos sustitutos : las herramientas de gestión de requisitos (RM) permiten almacenar, organizar y gestionar todos los requisitos de las especificaciones de un sistema y, por lo general, los organizan en un árbol de especificaciones que vincula cada requisito con su requisito padre en la especificación superior. Las funciones de análisis típicas basadas en la información de trazabilidad registrada son, por ejemplo, comprobaciones de completitud (es decir, si todos los requisitos a nivel de sistema llegan hasta el nivel de equipo, con o sin modificaciones), evaluación de las desviaciones de los requisitos en todos los niveles y presentación del estado de cualificación. Para garantizar la trazabilidad a tipos de artefactos más allá de los requisitos, las herramientas RM suelen permitir importar otros artefactos como requisitos sustitutos que luego se pueden rastrear con los métodos de trazabilidad de requisitos de la herramienta. La desventaja de este enfoque es que se necesitan diferentes adaptadores o convertidores para los distintos tipos de artefactos, que deben tener una versión y un formato de datos consistentes. A diferencia de las herramientas ALM, esta consistencia debe ser realizada manualmente.

Homogeneización de datos mediante una herramienta de trazabilidad específica : el concepto básico de las herramientas de trazabilidad específicas consta de tres pasos esenciales:

  • Definición de un modelo de datos, también conocido como modelo de información de trazabilidad (TIM). Este modelo especifica qué tipos de artefactos (por ejemplo, requisitos de las partes interesadas, requisitos de software, pruebas de integración, elementos del modelo del sistema) están vinculados y cómo lo están.
  • La definición de las asignaciones de todos los datos relevantes de todas las herramientas que forman parte de su cadena de herramientas de desarrollo y cómo se asignan estos datos al TIM.
  • Las métricas y las funciones de análisis se definen en el TIM, no en los datos que residen en una herramienta específica.

Este enfoque aúna las ventajas de los enfoques mencionados anteriormente: abarca todas las herramientas y artefactos de forma integral, homogeneiza los datos y evita el riesgo de inconsistencias causadas por sustitutos obsoletos. La desventaja radica en que implica la extensión de una cadena de herramientas mediante otra herramienta (de trazabilidad).

Herramientas de trazabilidad

En muchos proyectos, se utilizan herramientas de oficina como hojas de cálculo para gestionar la trazabilidad. Estas herramientas son propensas a errores cuando hay cientos de requisitos y varios usuarios trabajando en un proyecto. Para un control eficaz de los proyectos, se pueden utilizar herramientas de trazabilidad especializadas.

Véase también

Referencias

  1. Ingeniería de sistemas y software - Vocabulario . ISO/IEC/IEEE 24765:2010(E). 1 de diciembre de 2010. págs. 1–418 . doi : 10.1109/IEEESTD.2010.5733835 . ISBN  978-0-7381-6205-8.
  2. Guía IEEE para el desarrollo de especificaciones de requisitos del sistema . Edición de 1998 IEEE STD 1233. 1 de diciembre de 1998. págs. 1–36 . doi : 10.1109/IEEESTD.1998.88826 . ISBN  978-0-7381-1723-2.
  3. Guía IEEE para Tecnología de la Información - Definición del Sistema - Documento de Concepto de Operaciones (ConOps) . IEEE STD 1362-1998. 1 de diciembre de 1998. págs. 1–24 . doi : 10.1109/IEEESTD.1998.89424 . ISBN  978-0-7381-1407-1.
  4. 1 2 3 Gotel, OCZ; Finkelstein, CW (abril de 1994). "Análisis del problema de la trazabilidad de los requisitos". Actas de la Conferencia Internacional IEEE sobre Ingeniería de Requisitos . págs. 94–101 . CiteSeerX 10.1.1.201.7137 . doi : 10.1109/icre.1994.292398 . ISBN   978-0-8186-5480-0. S2CID 5870868 . 
  5. Gotel, Orlena; Cleland-Huang, Jane ; Hayes, Jane Huffman; Zisman, Andrea; Egyed, Alexander; Grünbacher, Paul; Dekhtyar, Alex; Antoniol, Giuliano; Maletic, Jonathan (2012-01-01). «Fundamentos de la trazabilidad». En Cleland-Huang, Jane; Gotel, Orlena; Zisman, Andrea (eds.). Trazabilidad de software y sistemas . Springer London. pp. 3–22 . doi : 10.1007/978-1-4471-2239-5_1 . ISBN  9781447122388.
  6. Hull, Elizabeth; Ken Jackson; Jeremy Dick (2005). Ingeniería de requisitos (Segunda edición). Springer. págs. 9–13 , 131–151 . ISBN   978-1-85233-879-4.
  7. Pinheiro FAC y Goguen JA, "Una herramienta orientada a objetos para el seguimiento de requisitos", IEEE Software 1996, 13(2), pp. 52-64
  8. 1 2 Mäder, P.; Jones, PL; Zhang, Y.; Cleland-Huang, J. (2013-05-01). "Trazabilidad estratégica para proyectos críticos de seguridad". IEEE Software . 30 (3): 58– 66. doi : 10.1109/MS.2013.60 . ISSN 0740-7459 . S2CID 16905456 .  
  9. Li, Yin; Juan Li; Ye Yang; Mingshu Li (2008). Trazabilidad centrada en los requisitos para el análisis del impacto del cambio: un estudio de caso . Springer Berlin/Heidelberg. pp. 100–111 . ISBN  978-3-540-79587-2.
  10. Wiegers, Karl (2013). "Trazabilidad de requisitos: enlaces en la cadena de requisitos, parte 1" . jama . Recuperado el 14 de diciembre de 2016 .
  11. Wiegers, K.; Beatty, J. (2013). Requisitos de software . Microsoft Press.
  12. Bouillon, Elke; Mäder, Patrick; Philippow, Ilka (2013-04-08). "Un estudio sobre escenarios de uso para la trazabilidad de requisitos en la práctica". En Doerr, Joerg; Opdahl, Andreas L. (eds.). Ingeniería de requisitos: fundamentos para la calidad del software . Lecture Notes in Computer Science. Vol. 7830. Springer Berlin Heidelberg. pp. 158–173 . CiteSeerX 10.1.1.659.3972 . doi : 10.1007/978-3-642-37422-7_12 . ISBN    9783642374210.
  13. Mäder, Patrick; Egyed, Alexander (1 de abril de 2015). "¿Se benefician los desarrolladores de la trazabilidad de los requisitos al evolucionar y mantener un sistema de software?". Ingeniería de software empírica . 20 (2): 413– 441. doi : 10.1007/s10664-014-9314-z . ISSN 1382-3256 . S2CID 2514618 .  
  14. Rempel, Patrick; Mäder, Patrick (2016-01-01). "Prevención de defectos: el impacto de la integridad de la trazabilidad de requisitos en la calidad del software" . IEEE Transactions on Software Engineering . PP (99): 777–797 . doi : 10.1109/TSE.2016.2622264 . ISSN 0098-5589 . S2CID 1959772 .  
  15. "open-DO | Hacia un marco cooperativo y abierto para el desarrollo de software certificable" . www.open-do.org . Consultado el 15 de abril de 2017 .
  16. 1 2 3 4 5 6 Li, Y.; Maalej, W. (2012). ¿Qué visualización de trazabilidad es adecuada en este contexto? Un estudio comparativo . Springer. pp. 194–210 . 
  17. Lerche, Felix (2019). "5 RAZONES POR LAS QUE UNA MATRIZ DE TRAZABILIDAD DE REQUISITOS NO ES SUFICIENTE" .
  18. Kannenberg, Andrew; Saiedian, Hossein (2009). "Por qué la trazabilidad de los requisitos de software sigue siendo un desafío" (PDF) . Revista CrossTalk - Revista de ingeniería de software de defensa . Archivado del original (PDF) el 28 de mayo de 2019. Consultado el 13 de diciembre de 2016 .