stringtranslate.com

Требования к прослеживаемости

Прослеживаемость требований — это подраздел управления требованиями в рамках разработки программного обеспечения и системной инженерии . Прослеживаемость как общий термин определяется Словарем системной и программной инженерии IEEE [1] как (1) степень, в которой связь может быть установлена ​​между двумя или более продуктами процесса разработки, особенно продуктами, имеющими отношение предшественник-последователь или первичный-подчиненный друг к другу; [2] (2) идентификация и документирование путей вывода (восходящих) и распределения или путей нисходящего потока (нисходящих) рабочих продуктов в иерархии рабочих продуктов; [3] (3) степень, в которой каждый элемент в продукте разработки программного обеспечения устанавливает причину своего существования; и (4) различимая связь между двумя или более логическими сущностями, такими как требования, элементы системы, проверки или задачи.

В частности, прослеживаемость требований определяется как «способность описывать и отслеживать жизненный цикл требования как в прямом, так и в обратном направлении (т. е. от его происхождения, через его разработку и спецификацию, к его последующему развертыванию и использованию, а также через периоды постоянного уточнения и итерации на любом из этих этапов)». [4] [5] В области разработки требований прослеживаемость заключается в понимании того, как высокоуровневые требования — цели, задачи, стремления, ожидания, бизнес-потребности — преобразуются в готовые к разработке низкоуровневые требования. Поэтому она в первую очередь касается удовлетворения отношений между уровнями информации (т. е. артефактами). [6] Однако прослеживаемость может документировать отношения между многими видами артефактов разработки, такими как требования, спецификации, проекты, тесты, модели и разработанные компоненты. [7] Например, общепринятой практикой является фиксирование отношений проверки, чтобы продемонстрировать, что требование проверено определенным артефактом теста.

Прослеживаемость особенно важна при разработке критически важных для безопасности систем и поэтому предписывается руководящими принципами безопасности , такими как DO178C , ISO 26262 и IEC61508 . Общим требованием этих руководящих принципов является то, что критические требования должны быть проверены и что эта проверка должна быть продемонстрирована посредством прослеживаемости. [8]

Отслеживание соответствия требованиям и за их пределами

Прослеживаемость предварительных требований . [4] Требования поступают из разных источников, например, от делового человека, заказывающего продукт, от менеджера по маркетингу и от фактического пользователя. Все эти люди предъявляют разные требования к продукту. Используя прослеживаемость требований, реализованную функцию можно отследить до человека или группы, которые хотели ее получить во время выявления требований . Это можно использовать в процессе разработки для расстановки приоритетов требований, определяя, насколько ценно требование для конкретного пользователя. Это также можно использовать после развертывания, чтобы увидеть, почему определенные неиспользуемые функции, обнаруженные во время исследований пользователей, изначально требовались.

Прослеживаемость после требований . [4] Должны отслеживаться не только сами требования, но и взаимосвязь требований со всеми артефактами, связанными с ними, такими как модели, результаты анализа, тестовые случаи, тестовые процедуры, результаты тестирования и документация всех видов. Даже люди и группы пользователей, связанные с требованиями, должны быть прослеживаемы. Требования реализуются в артефактах дизайна, реализации и, наконец, верифицируются. Артефакты, связанные с последними этапами, также должны отслеживаться до требований. Обычно это делается с помощью матрицы прослеживаемости требований .

Установление прослеживаемости за пределами требований в артефактах проектирования, реализации и верификации может стать затруднительным. [9] Например, при реализации требований к программному обеспечению требования могут быть в инструменте управления требованиями , в то время как артефакты проектирования могут быть в инструменте проектирования. Более того, артефакты внедрения, скорее всего, будут в форме исходных файлов, ссылки на которые могут быть установлены различными способами в различных областях. Артефакты верификации, такие как те, которые генерируются внутренними тестами или формальными инструментами верификации.

Интеграция репозитория или стека инструментов может представлять собой существенную проблему для поддержания прослеживаемости в динамической системе.

Использование информации о прослеживаемости

Использование прослеживаемости, особенно при прослеживании за пределами требований ко всем артефактам, расположенным в цепочке инструментов, может принести несколько преимуществ: [10] [11]

Более полный обзор мероприятий по развитию, поддерживаемых прослеживаемостью, и их актуальности представлен в [12] .

Практическое использование информации о прослеживаемости

Обширные исследования подтверждают эффективность, но также и трудности сбора информации о прослеживаемости:

Визуализация информации о прослеживаемости

Одной из целей прослеживаемости является визуализация взаимосвязи между артефактами. По мере увеличения количества и сложности трассировочных связей необходимы методы визуализации прослеживаемости. Визуализация может включать информацию об артефактах (например, тип артефакта, метаданные, атрибуты) и связях (например, тип связи, метаданные, прочность связи). [16]

Распространенными способами визуализации информации о прослеживаемости являются матрицы , графики , списки и гиперссылки .

Визуализации можно комбинировать, чтобы преодолеть их специфические ограничения.

Техническая реализация

Ручная прослеживаемость

Прослеживаемость реализуется путем захвата трассировок либо полностью вручную, либо с помощью поддерживаемых инструментов, например, в виде электронной таблицы в Microsoft Excel . Хотя этот процесс широко применяется, он громоздкий, подвержен ошибкам и часто приводит к информации о прослеживаемости, которая имеет недостаточное качество из-за различных задействованных инструментов разработки и, как правило, очень большого количества артефактов, которые необходимо проследить. [18]

Прослеживаемость с поддержкой инструментов

Инструментально-поддерживаемая прослеживаемость требует, чтобы информация о разработке, которая распределена по всей цепочке инструментов разработки, была гомогенизирована и агрегирована. Существуют следующие подходы для достижения этого состояния:

Гомогенизация среды программного инструментария с помощью инструмента ALM – цепочки инструментов ALM охватывают жизненный цикл разработки программного обеспечения и управляют всеми артефактами процесса разработки программного обеспечения. Многие компании выбрали лучший в своем классе подход с управлением задачами, управлением кодом и многочисленными инструментами автоматизации тестирования. Компании, которые выбирают лучший в своем классе подход, решают проблему прослеживаемости с помощью инструментов управления требованиями (RM), которые предоставляют полную модель прослеживаемости и интеграции для лучших в своем классе инструментов. Единый инструмент ALM для охвата требований, анализа рисков, проектирования системы, управления задачами, репозиториев кода, интеграции, тестирования и многого другого – это классический компромисс между лучшими в своем классе возможностями и более ограниченной функцией, общей платформой.

Гомогенизация данных с помощью суррогатных требований – инструменты управления требованиями (RM) позволяют хранить, организовывать и управлять всеми требованиями спецификаций системы и обычно размещать их в дереве спецификаций , которое связывает каждое требование с его родительским требованием в более высокой спецификации. Типичные функции анализа, основанные на записанной информации о прослеживаемости, – это, например, проверки полноты, т. е. все ли требования уровня системы спускаются до уровня оборудования (с модификацией или без нее), оценка отклонений требований на всех уровнях и представление статуса квалификации. Чтобы обеспечить прослеживаемость до типов артефактов за пределами требований, инструменты RM часто позволяют импортировать другие артефакты в качестве суррогатных требований, которые затем можно проследить с помощью методов трассировки требований инструмента. Недостатком этого подхода является то, что необходимы различные адаптеры или преобразователи для различных типов артефактов, которые должны иметь согласованную версию и формат данных. В отличие от инструментов ALM эта согласованность должна быть выполнена самостоятельно.

Гомогенизация данных с помощью специального инструмента прослеживаемости . Основная концепция специальных инструментов прослеживаемости состоит из трех основных этапов:

Подход объединяет преимущества вышеупомянутых подходов: он охватывает все инструменты и артефакты в целостном подходе, гомогенизирует данные и избегает риска несоответствий, вызванных устаревшими суррогатами. Недостатком является то, что этот подход подразумевает расширение цепочки инструментов другим инструментом (прослеживаемости).

Инструменты прослеживаемости

Во многих проектах люди используют офисные инструменты, такие как электронные таблицы, для управления прослеживаемостью. Эти инструменты подвержены ошибкам, когда у вас сотни требований и несколько пользователей работают над проектом. Вы можете использовать специализированные инструменты прослеживаемости для эффективного контроля ваших проектов.

Смотрите также

Ссылки

  1. ^ Системная и программная инженерия -- Словарь . Iso/Iec/IEEE 24765:2010(E). 2010-12-01. стр. 1–418. doi :10.1109/IEEESTD.2010.5733835. ISBN 978-0-7381-6205-8.
  2. ^ Руководство IEEE по разработке спецификаций системных требований . Издание 1998 г. IEEE STD 1233. 1 декабря 1998 г. С. 1–36. doi :10.1109/IEEESTD.1998.88826. ISBN 978-0-7381-1723-2.
  3. ^ Руководство IEEE по информационным технологиям - Определение системы - Концепция операций (ConOps) Документ . IEEE STD 1362-1998. 1 декабря 1998 г. стр. 1–24. doi :10.1109/IEEESTD.1998.89424. ISBN 978-0-7381-1407-1.
  4. ^ abc Gotel, OCZ; Finkelstein, CW (апрель 1994). "Анализ проблемы прослеживаемости требований". Труды Международной конференции IEEE по разработке требований . стр. 94–101. CiteSeerX 10.1.1.201.7137 . doi :10.1109/icre.1994.292398. ISBN  978-0-8186-5480-0. S2CID  5870868.
  5. ^ Готель, Орлена; Клеланд-Хуан, Джейн ; Хейс, Джейн Хаффман; Зисман, Андреа; Эгиед, Александр; Грюнбахер, Пол; Дехтьяр, Алекс; Антониол, Джулиано; Малетич, Джонатан (2012-01-01). "Основы прослеживаемости". В Клеланд-Хуан, Джейн; Готель, Орлена; Зисман, Андреа (ред.). Прослеживаемость программного обеспечения и систем . Springer London. стр. 3–22. doi :10.1007/978-1-4471-2239-5_1. ISBN 9781447122388.
  6. ^ Халл, Элизабет; Кен Джексон; Джереми Дик (2005). Требования к проектированию (второе издание). Springer. стр. 9–13, 131–151. ISBN 978-1-85233-879-4.
  7. ^ Пинейро Ф.А.К. и Гоген Дж.А., «Объектно-ориентированный инструмент для трассировки требований», IEEE Software 1996, 13(2), стр. 52-64
  8. ^ ab Mäder, P.; Jones, PL; Zhang, Y.; Cleland-Huang, J. (2013-05-01). «Стратегическая прослеживаемость для проектов, критически важных для безопасности». IEEE Software . 30 (3): 58–66. doi :10.1109/MS.2013.60. ISSN  0740-7459. S2CID  16905456.
  9. ^ Ли, Инь; Хуан Ли; Йе Ян; Миншу Ли (2008). Требуемая прослеживаемость для анализа влияния изменений: пример . Springer Berlin/Heidelberg. С. 100–111. ISBN 978-3-540-79587-2.
  10. ^ Вигерс, Карл (2013). «Прослеживаемость требований: звенья в цепочке требований, часть 1». jama . Получено 14.12.2016 .
  11. ^ Вигерс, К.; Битти, Дж. (2013). Требования к программному обеспечению . Microsoft Press.
  12. ^ Буйон, Эльке; Медер, Патрик; Филиппов, Илка (2013-04-08). «Обзор сценариев использования для отслеживания требований на практике». В Doerr, Joerg; Opdahl, Andreas L. (ред.). Инженерия требований: основа качества программного обеспечения . Конспект лекций по информатике. Том 7830. Springer Berlin Heidelberg. стр. 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 (2015-04-01). «Выигрывают ли разработчики от прослеживаемости требований при разработке и поддержке программной системы?». Empirical Software Engineering . 20 (2): 413–441. doi :10.1007/s10664-014-9314-z. ISSN  1382-3256. S2CID  2514618.
  14. ^ Ремпель, Патрик; Медер, Патрик (01.01.2016). «Предотвращение дефектов: влияние полноты прослеживаемости требований на качество программного обеспечения». Труды IEEE по программной инженерии . PP (99): 777–797. doi :10.1109/TSE.2016.2622264. ISSN  0098-5589. S2CID  1959772.
  15. ^ "open-DO | На пути к кооперативной и открытой структуре для разработки сертифицируемого программного обеспечения". www.open-do.org . Получено 15.04.2017 .
  16. ^ abcdef Li, Y.; Maalej, W. (2012). Какая визуализация прослеживаемости подходит в этом контексте? Сравнительное исследование . Springer. С. 194–210.
  17. ^ Лерче, Феликс (2019). «5 ПРИЧИН, ПОЧЕМУ МАТРИЦЫ ПРОСЛЕЖИВАЕМОСТИ ТРЕБОВАНИЙ НЕДОСТАТОЧНО».
  18. ^ Канненберг, Эндрю; Саидиан, Хоссейн (2009). «Почему прослеживаемость требований к программному обеспечению остается проблемой» (PDF) . CrossTalk Magazine — журнал по оборонной программной инженерии .