stringtranslate.com

Trazabilidad de 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 general se define en el Vocabulario de Ingeniería de Sistemas y Software del IEEE [1] como (1) el grado en el que se puede establecer una relación entre dos o más productos del proceso de desarrollo, especialmente productos que tienen una relación de predecesor-sucesor o de 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 el que cada elemento en un producto de desarrollo de software establece su razón de existir; 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 en dirección hacia adelante como hacia atrás (es decir, desde sus orígenes, a través de su desarrollo y especificación, hasta su posterior implementación 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 trata sobre la comprensión de cómo los requisitos de alto nivel (objetivos, metas, objetivos, 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 las relaciones entre muchos tipos de artefactos de desarrollo, como requisitos, declaraciones de especificaciones, diseños, pruebas, modelos y componentes desarrollados. [7] Por ejemplo, es una 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 en el desarrollo de sistemas críticos para la seguridad y, por lo tanto, está prescrita en las 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 a través de la trazabilidad. [8]

Rastreando hacia y más allá de los requisitos

Trazabilidad de prerrequisitos . [4] Los requisitos provienen de diferentes fuentes, como la persona de negocios que ordena el producto, el gerente de marketing y el usuario real. Todas estas personas tienen diferentes requisitos del producto. Mediante la trazabilidad de requisitos, una característica implementada se puede rastrear hasta la persona o el grupo que la quería durante la obtención de requisitos . Esto se puede utilizar durante el proceso de desarrollo para priorizar el requisito, determinando qué tan valioso es el requisito para un usuario específico. También se puede utilizar después de la implementación para ver por qué ciertas características no utilizadas encontradas durante los estudios de usuarios fueron necesarias en primer lugar.

Trazabilidad posterior a los requisitos . [4] No solo se deben rastrear los requisitos en sí, sino también la relación de los requisitos con todos los artefactos asociados a ellos, 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, verificación. Los artefactos vinculados a las últimas etapas también deben rastrearse hasta los requisitos. Esto se hace normalmente a través de 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, los artefactos de implementación probablemente estarán en forma de archivos fuente, cuyos enlaces se pueden establecer de varias maneras en varios alcances. Artefactos de verificación como los generados por pruebas internas o herramientas de verificación formal.

La integración de repositorios o pilas de herramientas puede presentar un desafío 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 rastrean más allá de los requisitos todos los artefactos ubicados en la cadena de herramientas, puede traer varios beneficios: [10] [11]

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

Uso práctico de la información de trazabilidad

Amplios estudios documentan la eficacia, pero también las dificultades de capturar información de trazabilidad:

Visualización de información de trazabilidad

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

Las visualizaciones comunes para la información de trazabilidad son matrices , gráficos , listas e hipervínculos .

Las visualizaciones se pueden combinar para superar sus limitaciones específicas.

Realización técnica

Trazabilidad manual

La trazabilidad se logra mediante la captura de rastros, ya sea de forma totalmente manual o con la ayuda de herramientas, por ejemplo, en una hoja de cálculo de Microsoft Excel . Aunque se aplica ampliamente, este proceso es engorroso, propenso a errores y, a menudo, conduce a una información de trazabilidad de calidad insuficiente debido a las diversas herramientas de desarrollo involucradas y al número típicamente muy elevado de artefactos que deben rastrearse. [18]

Trazabilidad asistida por herramientas

La trazabilidad basada en herramientas requiere que la información de desarrollo que se distribuye a lo largo de toda una cadena de herramientas de desarrollo se homogeneice y agregue. Existen los siguientes enfoques para alcanzar 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 de software. Muchas empresas han elegido un enfoque de lo mejor de su clase con gestión de tareas, gestión de código y numerosas herramientas de automatización de pruebas. Las empresas que eligen un enfoque de lo mejor de su clase 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 de su clase. Una única herramienta ALM que cubra los requisitos, el análisis de riesgos, el diseño del sistema, la gestión de tareas, los repositorios de código, la integración, las pruebas y más es una disyuntiva clásica entre las mejores capacidades de su clase frente a una plataforma común con características 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 principal en la especificación superior. Las funciones de análisis típicas basadas en la información de trazabilidad registrada son, por ejemplo, las comprobaciones de integridad, es decir, si todos los requisitos a nivel del sistema llegan hasta el nivel del equipo (con o sin modificaciones), la evaluación de las desviaciones de los requisitos en todos los niveles y la presentación del estado de calificación. Para garantizar la trazabilidad de los tipos de artefactos más allá de los requisitos, las herramientas de RM a menudo permiten importar otros artefactos como requisitos sustitutos que luego se pueden rastrear con los métodos de rastreo de requisitos de la herramienta. La desventaja de este enfoque es que se necesitan diferentes adaptadores o convertidores para los diferentes tipos de artefactos que deben tener una versión y un formato de datos consistentes. A diferencia de las herramientas ALM, esta coherencia debe llevarse a cabo uno mismo.

Homogeneización de datos mediante una herramienta de trazabilidad dedicada : el concepto básico de las herramientas de trazabilidad dedicadas consta de tres pasos esenciales:

Este enfoque combina las ventajas de los enfoques antes mencionados: abarca todas las herramientas y artefactos en un enfoque holístico, homogeneiza los datos y evita el riesgo de inconsistencias causadas por sustitutos obsoletos. La desventaja es que este enfoque implica la extensión de una cadena de herramientas mediante otra herramienta (de trazabilidad).

Herramientas de trazabilidad

En muchos proyectos, las personas utilizan herramientas de oficina como hojas de cálculo para gestionar la trazabilidad. Estas herramientas son propensas a errores cuando se tienen cientos de requisitos y varios usuarios trabajando en un proyecto. Puede utilizar herramientas de trazabilidad especializadas para controlar eficazmente sus proyectos.

Véase también

Referencias

  1. ^ Ingeniería de sistemas y software -- Vocabulario . Iso/Iec/IEEE 24765:2010(E). 2010-12-01. pp. 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 la tecnología de la información - Definición del sistema - Concepto de operaciones (ConOps) Documento . IEEE STD 1362-1998. 1998-12-01. págs. 1–24. doi :10.1109/IEEESTD.1998.89424. ISBN 978-0-7381-1407-1.
  4. ^ abc Gotel, OCZ; Finkelstein, CW (abril de 1994). "Análisis del problema de trazabilidad de 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. Número de identificación del sujeto  5870868.
  5. ^ Gotel, Orlena; Cleland-Huang, Jane ; Hayes, Jane Huffman; Zisman, Andrea; Egyed, Alexander; Grünbacher, Paul; Dekhtyar, Alex; Antoniol, Giuliano; Maletic, Jonathan (1 de enero de 2012). "Fundamentos de trazabilidad". En Cleland-Huang, Jane; Gotel, Orlena; Zisman, Andrea (eds.). Trazabilidad de software y sistemas . Springer Londres. págs. 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 rastrear requisitos", IEEE Software 1996, 13(2), pp. 52-64
  8. ^ ab Mäder, P.; Jones, PL; Zhang, Y.; Cleland-Huang, J. (1 de mayo de 2013). "Trazabilidad estratégica para proyectos críticos para la 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. págs. 100–111. ISBN 978-3-540-79587-2.
  10. ^ Wiegers, Karl (2013). "Trazabilidad de requisitos: vínculos en la cadena de requisitos, parte 1". jama . Consultado 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 (8 de abril de 2013). "Una encuesta 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 . Apuntes de clase en informática. Vol. 7830. Springer Berlin Heidelberg. págs. 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). "¿Los desarrolladores se benefician de la trazabilidad de requisitos al desarrollar 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 (1 de enero de 2016). "Prevención de defectos: el impacto de la integridad de la trazabilidad de los 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. ^ abcdef Li, Y.; Maalej, W. (2012). ¿Qué visualización de trazabilidad es adecuada en este contexto? Un estudio comparativo . Springer. págs. 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) . CrossTalk Magazine - la revista de ingeniería de software de defensa .