В этом примере показов, как найти требования, которые не прослеживаются для Модельно-ориентированного проектирования элементов, и как проследить эти требования, создав связи с матрицей трассируемости.
Матрица прослеживаемости отображает ссылки между элементами программных продуктов Модельно-ориентированное Проектирование, таких как объекты Requirements™ Simulink ®, элементы модели Simulink, объекты Simulink Test™ и линий кода MATLAB ®. Можно применять фильтры и фокусироваться только на элементах, которые вы хотите видеть. Можно использовать матрицу, чтобы идентифицировать несвязанные элементы и реализовать их в проекте.
Для получения дополнительной информации о том, как использовать матрицу трассируемости, смотрите Track Requirement Links with a Traceability Matrix.
Откройте Определение требований для проекта Cruise Control Model. Загрузите crs_req_func_spec
набор требований.
slreqCCProjectStart;
slreq.load('crs_req_func_spec');
Откройте окно Матрица Трассируемость.
slreq.generateTraceabilityMatrix;
В окне Матрица нажмите Add.В диалоговом окне Select Artifacts установите значение Left crs_req_func_spec.slreqx
и установите Верхнюю часть равным crs_controller.slx
. Затем щелкните Сгенерировать матрицу. Матрица трассируемости генерируется с заданным набором требований слева и моделью Simulink верхней части.
Чтобы идентифицировать несвязанные элементы, щелкните Подсветить отсутствующие ссылки. Незакрепленные требования выделяются желтым цветом в левом столбце, а незакрепленные элементы модели подсвечиваются в верхней строке.
Прокрутка до System Interface
> Inputs
родительское требование. Нажмите возможности, чтобы фокусировать матричное представление на этой иерархии. Требования к детям в соответствии с Inputs
не имеют ссылок на блоки в модели Simulink. Однако созданная вами матрица трассируемости показывает только ссылки между crs_req_func_spec
набор требований и crs_controller
модель. The crs_req_func_spec
набор требований может иметь больше ссылок на другие программные продукты в вашем проекте.
Чтобы просмотреть ссылки между несколькими программными продуктами одновременно, можно создать мультипрограммный продукт. Нажмите Configure Matrix, чтобы добавить дополнительные программные продукты в матрицу. В диалоговом окне Configure Matrix, на панели Available Artifacts, выберите 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
Для элементов моделиThe 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
и нажмите Возможности.
Чтобы сосредоточиться на незакрытых требованиях, примените фильтр «Отсутствующие ссылки». На панели «Фильтр» в разделе «Слева» в разделе « Ссылке» нажмите «Отсутствующие Ссылки». Фильтр пропускает строки со связанными элементами. Можно проверить это, нажав Подсветку Отсутствующие Ссылки.
Свернуть CruiseControlMode
, DriverSwRequest
и TargetSpeedThrottle
подсистемы путем выбора каждой подсистемы и нажатия кнопки Свернуть все. Создайте ссылку между Enable Switch
требование и enbl
Блок путем выбора камеры, соответствующей этим двум элементам, и нажатия кнопки Создать. В диалоговом окне «Создание ссылок» установите для параметра «Тип» значение Implements
, затем нажмите кнопку Создать, чтобы создать ссылку между этими двумя элементами.
Можно создать несколько ссылки в то время, когда вы удерживаете Ctrl, выбрать камеры, в которых вы хотите создать ссылки, и нажать Создать ссылки. Создайте ссылки между оставшимися требованиями и соответствующим элементом модели:
The Cancel Switch
требование и cncl
блок
The Set Switch
требование и set
блок
The Resume Switch
требование и resume
блок
The Increment Switch
требование и inc
блок
The Decrement Switch
требование и dec
блок
The Key Position
требование и key
блок
В диалоговом окне «Создание ссылок» установите значение «Type» равным 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
требование.
Вернитесь к матрице трассируемости. Нажмите Обновить, чтобы обновить матрицу. Выберите Inputs
родительское требование и нажатие кнопки Возможностей, чтобы сосредоточиться на Inputs
требования к детям. Выберите «Подсветить отсутствующие связи» > «Подсветить измененные связи», затем выберите «Подсветить отсутствующие связи» > «Показать только измененные связи». Отображаются ссылки, связанные с проблемами изменения, а требования, связанный элемент и ссылка выделены красным цветом.
Поскольку вы изменили только описание, это изменение не повлияло на реализацию или верификацию требования. Для устранения проблемы с изменением выберите камеру, содержащую ссылку, а затем щелкните Удалить проблему с изменениями. В разделе "Комментарий" введите "Added additional information to the requirement description.
"Затем нажмите кнопку" Удалить все ".
Можно просмотреть комментарий, выбрав ссылку в редакторе требований, на панели сведений в разделе Комментарии.
Обновите матрицу, чтобы отразить устраненные проблемы с изменениями, нажав кнопку Обновить. Выберите Inputs
требования к родителям и нажатию кнопки Возможностей. Разверните все ссылки, выбрав камеру, содержащую значок развертывания () и нажатие Развернуть все (Expand All). Сверните все иерархии, не содержащие ссылок, нажав Свернуть все. В этом представлении показаны ссылки на Inputs
требования к детям. Сгенерируйте HTML, содержащий статический снимок текущего представления матрицы трассируемости, щелкнув Экспорт > Сгенерировать HTML. Выберите место для сохранения файла и нажмите кнопку Сохранить.
Очистите открытые наборы требований и наборы ссылок и закройте окно Матрица Трассируемость. Закройте все открытые модели.
slreq.clear;
bdclose all;
slreq.generateTraceabilityMatrix
| slreq.getTraceabilityMatrixOptions