
методами класса, хранимыми процедурами, именами файлов исходно-
го кода, а также процедурами или функциями в исходном файле. Вы
вправе добавить дополнительные столбцы для расширения ссылок на
другие рабочие продукты, например на документацию справочной
сие
темы. Добавление деталей трассируемое™ — дополнительная работа.
но
так вы получаете точные расположения связанных элементов ПО,
что экономит массу времени при анализе влияния и обслуживании.
Заполняйте информацию по мере выполнения работы, а не по
мер*?
планирования. То есть вводите
«catalog.sortO»
в столбец Модуль кода
первой строки в табл.
20-1,
только когда код в этой функции
написан,
прошел тестирование элементов и уже интегрирован с базовой
вереи
ей исходного кода продукта. Таким образом, читающий матрицу
буде~
знать, что заполненный ячейки матрицы для отслеживания требований
указывают на работу, которая уже выполнена. Обратите внимание, что
перечисление вариантов тестирования для каждого требования не
указывает на то, что ПО протестировано. Это просто означает, что
оп-
ределенные тесты были написаны для проверки требований в соответ-
ствующее время. Трассирование состояния
тестов—
это
отдельная
проблема.
Нефункциональные требования, такие, как задачи по производи-
тельности и атрибуты качества не всегда прослеживаются напрямую
до кода. Требование к времени отклика может диктовать выбор
опре-
деленного оборудования, алгоритмов, структур баз данных или архи-
тектуры. Требование к легкости перемещения может ограничить функ-
ции языка, используемые программистом, однако не приведет к соз-
данию определенных фрагментов кода, которые активизируют
эту
возможность. Другие же атрибуты качества действительно реали-
зуются в коде. Требования к целостности для аутентификации поль-
зователей активизирует создание производных функциональных тре-
бований, которые реализуются, с помощью, скажем, паролей
или
биометрических параметров. В этих случаях следует трассировать со-
ответствующие функциональные требования в обратном направлении,
к их родительским нефункциональным требованиям, и, как обычно, в
прямом,
до готового продукта. На рис. 20-3 показана возможная цепь
трассируемости с участием нефункциональных требований.
Связи трассируемости могут определить отношения «один к одно-
му», «один ко многим» или
«многие
ко многим» между элементами сис-
темы. Формат в табл. 20-1 предусматривает это, позволяя вводить не-
сколько позиций в каждой ячейке таблицы. Ниже приведены примеры
возможных связей.
Глава 20. Связи в цепи требований 391