
Методология системотехнического проектирования электронных и радиоэлектронных средств (в двух частях)
..pdf
Возможность оценки влияния изменений. Если требования прослеживаются, то становятся возможными различные способы анализа влияния.
Улучшение подотчетности со стороны подчинённых организаций. Растет яс-
ность в понимании того, каким образом поставщики вносят вклад в достижение общих целей.
Возможность контролировать ход выполнения работ. Известны трудности,
возникающие при попытках количественно оценить прогресс, когда вся деятельность заключается в создании и переработке документов. Прослеживание процессов в их окружении позволяет получить объективную оценку развития работ, особенно на начальных стадиях.
Возможностьсохранятьбалансмеждузатратамиидостигнутымэффектом.
Сопоставление компонентов продукции с установленными требованиями позволяет оценить соотношение между достигнутым эффектом и понесенными затратами.
Отношения прослеживаемости обычновыступают в форме «многиекомногим», то есть одно требование низкого уровня может быть связано с несколькими требованиями более высокого уровня, и наоборот. Простейший способ реализации прослеживания – установить связи между формулировкой требований на одном уровне с формулировками на другом уровне. Инструментальные средства инженерии требований обычно поддерживают такую операцию установки связи способом «перетаскивания» (drag-and-drop) между пунктами документов. Эти связи в некоторой степени похожи на гиперссылки на вебстраницах, но в идеале должны обеспечивать перемещение в обоих направлениях. На рисунке 2.19 показано прослеживание по вертикали по уровням требований и по горизонтали между требованиями и информацией, полученной в результате испытаний.
Рисунок 2.19 – Прослеживание требований
220
Направлениестрелок определяется следующим правилом: стрелка всегда указывает на источник информации. Это правило принято по ряду причин:
–учет хронологии возникновения информации, так как связь всегда указывает на более старую информацию;
–учёт прав доступа, обусловленных тем, что одна сторона обычно является владельцем связей, исходящих из документа, а другая является владельцем только входящих связей.
Типы анализа прослеживаемости, которые могут использоваться для поддержки процессов инженерии требований, представлены в таблице 2.19.
Таблица 2.19 – Типы анализа прослеживаемости
Тип анализа |
Описание |
Поддерживаемые |
|
процессы |
|||
|
|
||
Анализ |
Исследование входящих связей с целью |
Управление |
|
влияния |
ответа на вопрос: «Что произойдет, если |
изменениями |
|
|
внести данное изменение?» |
|
|
Анализ |
Исследование исходящих связей с целью |
Анализ соотношения |
|
происхождения |
ответа на вопрос: «Зачем это нужно?» |
затраты/достигнутый |
|
|
|
эффект |
|
Анализ |
Учет утверждений, которые имеют связи, |
Общая инженерия. |
|
покрытия |
с целью ответа на вопрос: «Все ли требования |
Управленческая |
|
|
охвачены?». (Может использоваться как при- |
отчетность |
|
|
близительная мера развития работ, но одной |
|
|
|
этой характеристики недостаточно) |
|
При выполнении анализа покрытия важно понимать, что учитываемые связи дают лишь малую часть общей картины. Наличие одной или нескольких связей еще не свидетельствует о том, что покрытие является надлежащим и полностью удовлетворительным, подобное свидетельство должно оставаться в компетенции технического анализа и инженерных расчетов.
При оценке качества прослеживания необходимо учитывать два показателя: достаточность и необходимость.
Анализ влияния используется для определения проектных решений, которые могут быть затронуты изменениями выделенного объекта (рисунок 2.20). Воздействие считается потенциально возможным; при необходимости точного определения природы и результатов воздействия необходим творческий анализ со стороны инженера.
Анализ происхождения выполняется в направлении, противоположном анализу влияния. Выбирается проектное решение низкого уровня – требование, элемент конструкции или тест, и выполняется операция прослеживания для определения требований более высокого уровня, которые породили данное проектное решение. Конструктивные элементы, для которых невозможно выполнить обратное прослеживание, являются потенциальными источниками дополнительных затрат без получения какой-либо пользы.
221

Рисунок 2.20 – Анализ влияния и анализ происхождения
Наконец, анализ покрытия используется для получения свидетельств, что все требования могут быть отслежены от верхнего уровня к более низким уровням и в результате испытаний возможно получение исчерпывающей информации о соответствии этим требованиям. Отсутствие какого-либо маршрута прослеживания явно свидетельствует о том, что рассматриваемое требование не будет выполнено или проверено. Разумеется, наличие связи не гарантирует, что рассматриваемое требование непременно будет выполнено. Для решения этой задачи вновь необходим творческий инженерный анализ.
Покрытие также может использоваться для количественной оценки развития работ: насколько далеко продвинулись системные инженеры в удовлетворении требований заинтересованных сторон. Предположим, что задача описания требований к системе, увязанных с требованиями заинтересованных сторон, возложена на некоторого инженера. По мере формализации требований к системе инженер в обратном направлении увязывает эти требования с соответствующими требованиями заинтересованных сторон. В процессе формализации требований прослеживание требует весьма незначительных дополнительных расходов, но гораздо труднее обеспечить прослеживание после того, как оба документа уже написаны.
На любом этапе решения задачи результаты работы инженеров могут быть измерены и выражены как доля требований заинтересованных сторон (в процентах), покрытие которых в настоящий момент обеспечено. Это очень полезное средство управления на начальных этапах разработки.
Похожий принцип может использоваться для оценки результатов при планировании испытаний. Для какой части требований на текущий момент полностью
222

определены процедуры проверки соответствия? Эти два измерения покрытия (охвата) отображены на рисунке 2.21.
Рисунок 2.21 – Анализ покрытия (охвата)
Поскольку рассмотренные разновидности анализа могут быть выполнены всегда, прослеживание является базисной концепцией, лежащей в основе процесса инженерии требований.
Простая прослеживаемость требований. На рисунке2.22 показан пример про-
стой прослеживаемости. Требование пользователя прослеживается до трех соответствующих требований к системе в целом. Здесь текст требования пользователя можновидеть вместес полным набором требований к системе, которые емусоответствуют. Наличие такой объединённой информации позволяет без затруднений контролировать прослеживаемость. На рисунке 2.23 показан второй пример.
Рисунок 2.22 – Пример простой прослеживаемости: военное транспортное средство
(UR – user requirements, SR – system requirements)
223

Рисунок 2.23 – Пример простой прослеживаемости: кухонная плита
Доказательство выполнения требований. Смысл примера на рисунке 2.22 за-
ключается в том, что три требования к системе в той или иной степени достаточны для выполнения требований пользователя. Но тому, кто не является специалистом в данной области, трудно оценить правильность этого утверждения. Причина в том, что здесь не представлено его обоснование.
Для улучшения ситуации полезнопредставить доказательствовыполнения (удовлетворения) для каждого требования пользователя. Простая прослеживаемость, демонстрируемая на рисунке 2.22, дает информацию только о том, что три требования к системе играют какую-то роль при доказательстве выполнения требований, но не содержит никаких сведений о том, в чем состоит это доказательство.
Расширенная прослеживаемость представляет собой способ получения доказательства выполнения требования. Обоснование выглядит как отдельный пункт, размещенный между требованием пользователя и соответствующими требованиями к системе (рисунок 2.24).
Рисунок 2.24 – Пример расширенной прослеживаемости: военное транспортное средство
224

Доказательство выполнения требования приводится не только в текстовом виде, существует такжесистема специальных обозначений, определяющая способ взаимосвязи требований ксистемеи обоснованиясиспользованиемлогическихоператоров:
–конъюнкция (&) означает, что все перечисленные требования к системе обязательно должны участвовать в доказательстве выполнения требования пользователя;
–дизъюнкция (or) означает, что любое требование к системе (одно из перечисленных) обязательно должно участвовать в доказательстве выполнения требования пользователя.
В примере с использованием дизъюнкции на рисунке 2.25 обоснование выполняется при наличии либо электронагревательной панели, либо газовой распределительной горелки, либо обоих устройств. Следует обратить внимание на два уровня в логической структуре обоснования.
Рисунок 2.25 – Пример расширенной прослеживаемости: кухонная плита
Теперь предоставлено намного больше информации о том, как должны выполняться требования пользователя. Даже тот, кто не является специалистом в данной предметной области, получает возможность более или менее верной оценки важных аспектов обоснования требований. Текст позволяет оценить валидность и полноту логической составляющей обоснования. Оператор делает структуруобоснования более точной.
Особое внимание следует обратить на то, что на рисунке 2.23 невозможно понять, что набор требований к системе представляет альтернативные варианты решений, в то время как на рисунке 2.25 этот факт четко обозначен. При невозможности обеспечения плиты электронагревательным устройством сохраняется возможность выполнения требования с помощью газовой горелки.
Валидность доказательств выполнения требований может зависеть не только от требований болеенизкогоуровня. На рисунке2.26 показан пример использования
225

«знания предметной области» для поддержки обоснования. Знание предметной области – это факт или утверждение о реальном мире, при этом отсутствуют какиелибо внутренние или внешние факторы, ограничивающие возможное решение. Изображенное внутри параллелограмма описание, отражающее знание предметной области, является важной частью доказательства выполнения требования.
Рисунок 2.26 – Роль области знаний в обосновании требований
Сбор подобных утверждений является важной задачей хотя бы потому, что реальный мир и все возможные утверждения и представления о нем постоянно изменяются. Собрав факты и представления, можно выполнить анализ происхождения, чтобы понять воздействие изменяющихся представлений на способность системы соответствовать заданным требованиям.
В качестве примера можно рассмотреть эпизод из жизни нью-йорк- ской подземки. Ряд аварий в 1970-е гг. произошёл из-за неверного представления о длине тормозногопути состава. Первоначальноэта характеристика была определена правильно, но с годами поезда становились всё более тяжелыми, тормозной путь увеличивался, таким образом, утверждение стало ошибочным. Несмотря на то что программная система, управляющая сигнализацией, изначально работала правильно, она не совершенствовалась в дальнейшем, поэтому изменение исходных утверждений через некоторое время привело к нарушению соответствия требованиям.
Документированиеи контроль утверждений подобногорода становятся возможными благодаря эффективно организованной прослеживаемости.
Другой пример информации, неотносящейся к требованиям, ноиграющей определённуюрольв доказательствахихвыполнения, можнополучитьпри рассмотрении процессов моделирования. Доказательства выполнения требований часто выводятся на основе сложных операций моделирования, полное описание которых слишком
226

громоздко, чтобы фиксироваться в рамках анализа и обеспечения расширенной прослеживаемости.
На рисунке 2.27 показан пример, взятый из проекта железной дороги. В этом примере доказательство выполнения требования зависит от результатов, получаемых из сложной математической модели расписания с использованием специализированного программного обеспечения. Набор исходных предпосылок и требования к подсистемам выделяются с помощью инструментов моделирования, а полученные таким образом результаты документируются в структуре расширенной прослеживаемости. Ссылка на операцию моделирования показана в прямоугольнике с закругленными сторонами справа вверху.
Рисунок 2.27 – Роль моделирования в обосновании требований
В рассматриваемом примере операции моделирования, требующие многократного повторения, выделяются в результате анализа влияния.
Разумеется, расширенная прослеживаемость может использоваться и в том случае, когда имеет место многоуровневая структура требований или целей. Нарисунке 2.28 показаны три уровня требований и прослеживаемость между ними.
Рисунок 2.28 – Многоуровневая структура расширенной прослеживаемости
227

Привязка требований. Часто доказательство выполнения требования является простым только в привязке к одной или нескольким подсистемам или элементам. В этом случае говорят о привязке требований или о нисходящем потоке требований.
При использовании нисходящего потока требований процесс внесения изменений можно упростить. Изменения в требованиях верхнего уровня могут автоматически «спускаться» на более низкие уровни.
Простое развитие расширенной прослеживаемости позволяет охватить и подобные случаи. К операторам and и or, используемым для характеристики обоснований, добавляется ещё один, обозначающий идентичность. На рисунке 2.29 показан пример использования всех трех операторов. Символ «=» означает идентичность.
Рисунок 2.29 – Нисходящий поток требований с использованием оператора идентичности
Метрики прослеживаемости. Поскольку концепция прослеживаемости так важна в инженерии требований, нужно знать, какие метрики могут быть использованы применительно к нисходящему потоку требований.
Если сосредоточиться на связях «удовлетворяет/удовлетворяется» и продвигаться вниз по уровням требований, то можно обнаружить три заслуживающих внимания измерения прослеживаемости:
–широту(breadth) – насколькополноданная связь охватывает текущий уровень,
атакже вышележащие и нижележащие уровни;
–глубину (depth) – на скольких уровнях по направлению вниз (или вверх) действует данная связь;
–развитость (growth) – на сколько уровней по направлению вниз распространяется данная связь.
Чтобы правильно определить, какие именно аспекты этих характеристик являются значимыми для оценки процесса инженерии требований, необходимо различать два типа метрик:
–метрики этапа – измерения, относящиеся к отдельному этапу разработки, например только к уровню требований к системе в целом;
228

– глобальные метрики – измерения, охватывающие несколько этапов разработки.
Широта непосредственно связана с охватом или покрытием, поэтому она является метрикой этапа. Покрытие или охват может использоваться для измерения прогресса процессов, формирующих прослеживаемость на одном этапе. Здесь внимание сосредоточено на единственном уровне и измеряется степень покрытия, то есть количество требований, охваченных требованиями смежного уровня, лежащего выше или ниже (или соседнего уровня, если рассматривается процесс проверки соответствия).
Глубина определяет количество уровней, на которые распространяется прослеживаемость вверх или вниз, начинаяс рассматриваемогоуровня, тоесть этоглобальная метрика. Отдельное приложение может иметь отношение к определению источников требований самого нижнего уровня. Сколько всего требований к компоненту было фактически выведено из требований заинтересованных сторон и для какого количества этих требований источники определены где-то в проектном решении?
Развитость связана с потенциальным воздействием изменений. Для скольких требований на нижних уровнях установлены связи с одним требованием самого верхнего уровня?
Рассмотрим рисунок 2.30, на котором изображены четыре различные ситуации.
а |
|
б |
|
|
|
в |
|
г |
|
|
|
Рисунок 2.30 – Развитость прослеживаемости
На рисунке 2.30,а одно требование удовлетворяется единственным требованием более низкого уровня. Здесь фактор развитости равен 1. На рисунке 2.30,б одному требованию соответствует 6. Таким образом, фактор развития равен 6. Что можно сказать о различиях между этими двумя требованиями? Возможны следующие ответы:
–вовтором случаетребованиеможетбытьнеудачносформулировано, требуется декомпозиция на несколько требований;
229