Можно визуализировать структуру трассируемости требований и других элементов Модельно-ориентированного проектирования при помощи Схемы Трассируемости. Схема трассируемости графически отображает ссылки между инициирующим элементом Модельно-ориентированного проектирования, такие как требование, и элементами, соединенными с ним, такими как другие требования или Simulink® блоки. Для получения дополнительной информации смотрите Связываемые Элементы.
В схеме элементами является nodes, и ссылками является edges. Элементом, от которого вы генерируете схему, является starting node. Можно также сгенерировать artifact-level diagram, где артефакты, такие как наборы требования или модели Simulink, являются узлами, и наборы ссылки являются ребрами.
Схема трассируемости отображает все элементы, соединенные со стартовым узлом, включая все восходящие узлы и нисходящие узлы. Если восходящий узел имеет далее восходящие ссылки, схема также отображает те соединенные элементы. Точно так же схема отображает далее в нисходящем направлении соединенные элементы для нисходящих узлов.
Являются ли узлы восходящими, или нисходящий определяется направлением удара, которое описывает, как изменения распространяют между узлами. upstream node влияет на стартовый узел. На downstream node влияет стартовый узел. Направление удара определяется типом ссылки. Для получения дополнительной информации смотрите Направление Удара.
Можно использовать схему трассируемости, чтобы оценить выделение требований и распространение изменения между соединенными элементами Модельно-ориентированного проектирования. Для получения дополнительной информации смотрите, Оценивают Выделение и Удар.
Можно создать схему трассируемости из этих объектов:
Если вы создаете схему трассируемости из ссылки, то ссылка source
элемент является стартовым узлом. Точно так же, если вы создаете схему трассируемости из набора ссылки, затем Артефакт набора ссылки является стартовым узлом.
Создать схему трассируемости:
В Редакторе Требований выберите элемент и нажмите Traceability Diagram.
В Редакторе Требований щелкните правой кнопкой по элементу и выберите View Traceability Diagram.
В MATLAB® командная строка, использовать slreq.generateTraceabilityDiagram
.
Можно создать новую схему из узла в существующей схеме путем щелчка правой кнопкой по узлу и выбора View Traceability Diagram.
Когда вы создаете схему трассируемости из требования, требования, на которое ссылаются, выравнивания или ссылки, схема является схемой уровня элемента. Узлы представляют элементы Модельно-ориентированного проектирования, такие как требования и блоки Simulink. Ребра представляют ссылки между теми элементами.
Когда вы создаете схему трассируемости из набора требования или набора ссылки, схема является схемой уровня артефакта. Узлы представляют артефакты Модельно-ориентированного проектирования как наборы требования, модели Simulink и файлы Simulink Test™. Ребра представляют ссылки между элементами в артефактах, таких как ссылки между требованиями, блоками Simulink и тестами Simulink.
Схемы состоят из узлов и ребер.
Узлы представляют элементы Модельно-ориентированного проектирования или артефакты. Стартовый узел схемы имеет синий текст и окружающее свечение.
Цвет рамки узла указывает на артефакт, что узел принадлежит, или область артефакта, такая как файлы Simulink Requirements™, или модели Simulink и библиотеки. Панель Legend отображает артефакты, цвета артефакта и область, которой принадлежит каждый артефакт.
Для схем уровня элемента значок предупреждения () указывает на недоступный элемент. Если элемент недоступен, потому что он не загружается, дважды кликните узел. Если элемент недоступен, потому что заданный ID не существует, то необходимо разрешить ссылку. Для получения дополнительной информации смотрите Ссылки Твердости.
Ребра являются стрелами, представляют ссылки между элементами Модельно-ориентированного проектирования или элементами в артефактах. Метка ребра является типом ссылки для схем уровня элемента, и также включает количество ссылок каждого типа для схем уровня артефакта.
Если ссылка имеет проблему изменения, соответствующее ребро является пунктирной красной линией. Для получения дополнительной информации о проблемах изменения, смотрите, Отслеживают Изменения к Ссылкам Требования.
Стрелка ребра показывает в направлении ссылки – от исходного узла до целевого узла. Направление ссылки является не обязательно тем же самым как направлением удара. Для получения дополнительной информации смотрите Типы Направления и Ссылки Удара.
Отношение типа ссылки между стартовым узлом и ссылкой определяет направление удара того ребра. Для получения дополнительной информации смотрите Типы Ссылки. Восходящие узлы влияют на стартовый узел, в то время как на нисходящие узлы влияет стартовый узел.
Эта таблица суммирует отношение между типом ссылки и направлением удара.
Соедините тип | Восходящий поток | Отношение | Нисходящий поток | Повлияйте на направление |
---|---|---|---|---|
Relate | Источник | Связанный с | Место назначения | То же самое как направление ссылки |
Implement | Место назначения | Реализованный | Источник | Противоположность направления ссылки |
Verify | Место назначения | Проверенный | Источник | Противоположность направления ссылки |
Derive | Источник | Выводит | Место назначения | То же самое как направление ссылки |
Refine | Место назначения | Усовершенствованный | Источник | Противоположность направления ссылки |
Confirm | Источник | Подтвержденный | Место назначения | То же самое как направление ссылки |
Например, ссылка с Implement
введите подключения два узла, затем место назначения является восходящим, и источник является нисходящим. Направление удара является противоположностью направления ссылки, потому что удар от места назначения к источнику.
Можно использовать направление удара, чтобы оценить, как изменения распространяют в восходящем направлении и в нисходящем направлении. Можно также использовать направление удара, чтобы оценить выделение требований. Для получения дополнительной информации смотрите, Оценивают Выделение и Удар.
В схеме уровня артефакта, если все ссылки между элементами в двух артефактах имеют тот же тип, то тип ссылки задает направление удара. Если ссылки между элементами в двух артефактах имеют различные типы, но все типы задают направление удара тот же путь, они используют направление удара, заданное в таблице. Например, оба Derive
и Relate
соединитесь типы задают источник как в восходящем направлении.
Если ссылки между элементами в двух артефактах имеют различные типы, и типы задают различные направления удара, то артефакт, содержащий источник ссылки, задан так же в восходящем направлении, и артефакт, содержащий место назначения ссылки, задан как в нисходящем направлении.
Когда вы выбираете узел, схема подсвечивает ребра и узлы, соединенные с выбранным узлом.
Можно перейти от узла или ребра к соответствующему элементу, артефакту, ссылке или набору ссылки, когда вы дважды кликаете узел или ребро. Можно также щелкнуть правой кнопкой по узлу или ребру и выбрать Navigate to. Узел или ребро открываются в его соответствующем артефакте или области.
Если вы создаете схему трассируемости и затем вносите изменение в фоновом режиме в какой-либо из элементов, артефактов или ссылок, необходимо обновить схему, чтобы применить изменения в схеме. Если вы загружаете разгруженный элемент или разрешаете ссылку, необходимо обновить схему, чтобы удалить значок предупреждения (). Для получения дополнительной информации смотрите Элементы Схемы.
Нажмите Analyze, чтобы обновить схему.
Можно изменить представление в Схеме Трассируемости при помощи панели инструментов или панелей Overview и Legend.
По умолчанию схема размечается вертикально. Можно изменить размещение путем выбора Horizontal.
Когда вы создаете схему, она соответствует к рабочей области. Можно увеличить масштаб путем нажатия на Zoom In или путем нажатия Ctrl+= или уменьшения путем нажатия на Zoom Out или нажатия Ctrl+-. Можно также использовать колесико прокрутки, чтобы масштабировать. Можно соответствовать схеме к рабочей области снова путем нажатия на Fit to View или нажатия Space.
Можно также перейти при помощи панели Overview, которая отображает карту схемы. Карта показывает, какую область схемы вы в настоящее время просматриваете.
Можно перейти к другой области путем нажатия или притягивания карты. Можно также перейти к другой области схемы путем нажатия Ctrl и использования колесика прокрутки или перетаскивания с колесиком прокрутки.
Можно отфильтровать узлы из схемы направлением удара. Чтобы только просмотреть узлы, которые являются выше стартового узла, нажмите Upstream. Чтобы только просмотреть узлы, которые являются ниже стартового узла, нажмите Downstream.
Чтобы очистить восходящий или нисходящий фильтр, нажмите Show All Traceabilities.
Можно использовать панель Legend, чтобы отфильтровать узлы из схемы областью артефакта или артефактом. Чтобы отфильтровать узлы от конкретного артефакта, очистите выбор для того артефакта. Чтобы отфильтровать все узлы от области, очистите выбор для той области.
Примечание
Для схемы уровня артефакта можно только отфильтровать областью артефакта.
По умолчанию схема отображает тип ссылки как метку для каждого ребра. Можно скрыть метки ребра путем щелчка правой кнопкой по ребру или пробелу в схеме и очистки Always show labels on edges. После того, как вы очищаете выбор, ребро помечает, только появляются, когда вы выбираете или указываете на ребро.
Можно экспортировать схему трассируемости в MATLAB digraph
объект. Чтобы экспортировать схему, в окне Traceability Diagram, выбирают Export> Export to MATLAB Variable. Можно использовать digraph
возразите функциям, чтобы работать с объектом и plot
визуализировать его.
Можно использовать этот код, чтобы создать фигуру, которая выглядит похожей на схему трассируемости. В этом коде, переменной graph_for_CancelSwitchDetection
имя экспортируемого MATLAB digraph
объект.
dg = graph_for_CancelSwitchDetection; h = plot(dg,NodeLabel=dg.Nodes.Name,EdgeLabel=dg.Edges.Labels, ... YData=cell2mat(dg.Nodes.LayerDepths), ... XData=cell2mat(dg.Nodes.IndexInCurrentLayer), ... interpreter="none",hittest="on",ArrowSize=15,MarkerSize=10); nodeList = dg.Nodes.Name; for index = 1:length(nodeList) cNode = nodeList(index); if (dg.Nodes.isStartingNode{index}) h.highlight(cNode,NodeColor="b"); end end edgeList = dg.Edges.EndNodes; for index = 1:length(edgeList) if (dg.Edges.HasChanged{index}) h.highlight(edgeList{index,1},edgeList{index,2},EdgeColor="r"); end end
digraph
| slreq.generateTraceabilityDiagram