exponenta event banner

Сделать требования полностью отслеживаемыми с помощью матрицы отслеживания

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

Матрица отслеживания отображает связи между элементами артефактов конструирования на основе модели, такими как объекты Simulink ® Requirements™, элементы модели Simulink, объекты Test™ Simulink и строки кода MATLAB ®. Можно применить фильтры и сосредоточиться только на тех элементах, которые требуется просмотреть. Матрицу можно использовать для идентификации несвязанных элементов и их внедрения в конструкцию.

Дополнительные сведения об использовании матрицы отслеживания см. в разделе Отслеживание связей требований с матрицей отслеживания.

Откройте определение требований для проекта модели круиз-контроля. Загрузить crs_req_func_spec набор требований.

slreqCCProjectStart;
slreq.load('crs_req_func_spec');

Создание матрицы отслеживания

Откройте окно Матрица отслеживания (Traceability Matrix).

slreq.generateTraceabilityMatrix;

В окне Матрица отслеживания (Traceability Matrix) щелкните Добавить (Add.). В диалоговом окне Выбор артефактов (Select Artifacts) установите для параметра Слева (Left) значение crs_req_func_spec.slreqx и установить на crs_controller.slx. Затем щелкните Создать матрицу (Generate Matrix). Создается матрица отслеживания с заданным набором требований слева и моделью Simulink вверху.

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

Чтобы определить несвязанные элементы, щелкните Подсветить отсутствующие ссылки. Несвязанные требования подсвечиваются желтым цветом в левом столбце, а несвязанные элементы модели подсвечиваются в верхней строке.

Прокрутите до System Interface > Inputs родительское требование. Щелкните Область, чтобы сфокусировать представление матрицы на этой иерархии. Потребности детей в соответствии с Inputs не имеют связей с блоками в модели Simulink. Однако созданная матрица отслеживания показывает только связи между crs_req_func_spec набор требований и crs_controller модель. crs_req_func_spec набор требований может иметь больше ссылок на другие артефакты в проекте.

Создание матрицы отслеживания с несколькими артефактами

Для одновременного просмотра связей между несколькими артефактами можно создать матрицу с несколькими артефактами. Щелкните Настроить матрицу (Configure Matrix), чтобы добавить в матрицу дополнительные артефакты. В диалоговом окне «Настройка матрицы» на панели «Доступные артефакты» выберите crs_req_func_spec.slreqx. Артефакты, имеющие связи между выбранным артефактом, подсвечиваются на панели Доступные артефакты. В этом случае каждый артефакт содержит связи между crs_req_func_spec набор требований, за исключением crs_req_func_spec.slreqx сам. Перетащите все выделенные артефакты в верхний список артефактов. Значок развертывания () в предварительном просмотре матрицы указывает на наличие связей между элементами в этих артефактах.

Щелкните Обновить матрицу (Update Matrix), чтобы добавить артефакты в матрицу отслеживания. Начиная с крайнего левого столбца в верхней строке выберите каждый артефакт и нажмите кнопку Свернуть все. Синие линии в матрице указывают, где заканчивается один артефакт, а начинается другой.

Выберите Inputs родительское требование и нажмите Область, чтобы сосредоточиться на Inputs требования к детям. Щелкните Подсветить отсутствующие связи (Highlight Missing Links). Теперь вы можете увидеть, что некоторые из детей требования Inputs ссылка на элементы в crs_plant модель.

Связь несвязана Inputs в элементы модели

crs_controller и crs_plant модели содержат элементы модели, связанные с Inputs требования к детям, однако не все Inputs дочерние требования связаны. Связать все Inputs дочерние требования к элементам модели для полной прослеживаемости. Сначала щелкните Настроить матрицу (Configure Matrix) и удалите все артефакты из матрицы отслеживания, кроме crs_req_func_spec слева, и crs_controller и crs_plant щелкните правой кнопкой мыши артефакты и выберите Удалить артефакты. Щелкните Обновить матрицу (Update Matrix). В обновленной матрице выберите Inputs родительское требование и нажмите Область, чтобы сосредоточиться на Inputs требования к детям.

Некоторые дочерние требования связаны с элементами в crs_plant. Связать оставшиеся несвязанные Inputs дочерние требования к элементам модели в crs_controller. Выберите ячейку, соответствующую crs_controller и нажмите Scope.

Чтобы сосредоточиться на несвязанных требованиях, примените фильтр «Отсутствующие связи». На панели «Фильтр» в разделе «Слева» в разделе «Связь» выберите «Отсутствующие связи». Фильтр пропускает строки со связанными элементами. Это можно проверить, щелкнув Подсветить отсутствующие ссылки.

Свернуть CruiseControlMode, DriverSwRequest и TargetSpeedThrottle путем выбора каждой подсистемы и нажатия кнопки Свернуть все (Collapse All). Создание связи между Enable Switch требования и enbl путем выделения ячейки, соответствующей этим двум элементам, и нажатия кнопки «Создать». В диалоговом окне «Создание связей» задайте для параметра «Тип» значение Implementsзатем нажмите кнопку Создать, чтобы создать связь между двумя элементами.

Одновременно можно создать несколько связей, удерживая нажатой клавишу Ctrl, выделить ячейки, в которых требуется создать связи, и нажать кнопку «Создать связи». Создайте связи между остальными требованиями и соответствующим элементом модели:

  • Cancel Switch требования и cncl блок

  • Set Switch требования и set блок

  • Resume Switch требования и resume блок

  • Increment Switch требования и inc блок

  • Decrement Switch требования и dec блок

  • Key Position требования и key блок

В диалоговом окне «Создание связей» задайте для параметра «Тип» значение Implements для всех ссылок.

Очистите фильтр Отсутствующие связи, щелкнув Очистить фильтр в верхнем списке артефактов. Щелкните Показать все (Show All), чтобы показать все артефакты. Все Inputs дочерние требования связаны с элементами конструкции, поэтому они больше не подсвечиваются. Свернуть иерархии в crs_controller и crs_plant. Значок развертывания () указывает, что все Inputs дочерние требования связаны.

Открытые элементы в контексте артефакта

Можно открыть элементы в строках и столбцах в контексте артефакта, дважды щелкнув ячейку, соответствующую элементу. Например, двойной щелчок по ячейке, соответствующей блоку Simulink, открывает модель и подсистему Simulink, в которой находится этот блок.

Откройте окно Enable Switch в редакторе требований путем двойного щелчка по нему. Добавить дополнительный текст к требованию Описание: "The Cruise button enables the cruise control as long as all other conditions are met." Затем нажмите кнопку Сохранить.

В редакторе требований сводка требований и связанная с ней ссылка (перечисленная на панели Подробно в разделе Ссылки) выделены красным цветом, поскольку связь, связанная с этим требованием, имеет проблему изменения.

Просмотр и устранение проблем с изменениями

При изменении требования, связанного с другим элементом, требование выделяется красным цветом, указывая на наличие проблемы изменения, связанной со ссылкой. Ссылка имеет проблему изменения, поскольку вы изменили описание для Enable Switch требование.

Вернуться к матрице отслеживания. Щелкните Обновить (Update), чтобы обновить матрицу. Выберите Inputs родительское требование и нажмите Область, чтобы сосредоточиться на Inputs требования к детям. Щелкните Подсветить отсутствующие связи > Подсветить измененные связи, затем выберите Подсветить отсутствующие связи > Показать только измененные связи. Ссылки, имеющие связанные проблемы с изменениями, отображаются, а требование, связанный элемент и ссылка выделены красным цветом.

Поскольку было изменено только описание, это изменение не повлияло на внедрение или проверку требований. Удалите проблему изменения, выбрав ячейку, содержащую ссылку, а затем щелкните Очистить проблему изменения. В разделе "Комментарий" введите "Added additional information to the requirement description."Затем нажмите кнопку" Очистить все ".

Комментарий можно просмотреть, выбрав ссылку в редакторе требований на панели Подробно (Details) в разделе Комментарии (Comments).

Создание отчета из матрицы отслеживания

Обновите матрицу, чтобы отразить устраненные проблемы с изменениями, нажав кнопку Обновить. Выбрать Inputs родительское требование и щелкните Область (Scope). Разверните все связи, выбрав ячейку, содержащую значок развертывания (), и щелкнув Развернуть все (Expand All). Сверните все иерархии, не содержащие ссылок, щелкнув Свернуть все. В этом представлении отображаются ссылки на Inputs требования к детям. Создайте отчет HTML, содержащий статический снимок текущего представления матрицы отслеживания, щелкнув Экспорт > Создать отчет HTML. Выберите расположение для сохранения файла и нажмите кнопку «Сохранить».

Очистка

Очистите открытые наборы требований и наборы связей и закройте окно Матрица отслеживания (Traceability Matrix). Закройте все открытые модели.

slreq.clear;
bdclose all;

См. также

|

Связанные темы