Main Content

トレーサビリティ ダイアグラムを使用したリンクの可視化

トレーサビリティ ダイアグラムを使用して、要件およびその他のモデルベース デザイン項目のトレーサビリティ構造を可視化できます。トレーサビリティ ダイアグラムは、モデルベース デザインの元となる項目 (要件など) と、それにリンクしている項目 (他の要求や Simulink® ブロックなど) との間のリンクをグラフィカルに表示します。詳細については、リンク可能な項目を参照してください。

ダイアグラムにおいて、項目は "ノード"、リンクは "エッジ" です。ダイアグラムの生成元となる項目は、"開始ノード" です。また、要件セットまたは Simulink モデルなどのアーティファクトがノードで、リンク セットがエッジとなる "アーティファクトレベルのダイアグラム" も生成できます。

トレーサビリティ ダイアグラムは、開始ノードにリンクしているすべての項目を表示します。これには、すべての上流ノードと下流ノードが含まれます。上流ノードのさらに上流にリンクがある場合、ダイアグラムはそれらのリンクされた項目も表示します。ダイアグラムは同様に、下流ノードのさらに下流のリンクされた項目も表示します。

ノードが上流または下流であるかは、ノード間で変化がどう伝播するかを示す影響方向によって決まります。"上流ノード" は、開始ノードに影響を与えます。"下流ノード" は、開始ノードの影響を受けます。影響方向は、リンク タイプによって決まります。詳細については、影響方向を参照してください。

トレーサビリティ ダイアグラムを使用して、リンクしているモデルベース デザイン項目間の要件の割り当てと変更の伝播を評価できます。詳細については、割り当てと影響の評価を参照してください。

トレーサビリティ ダイアグラムの生成

トレーサビリティ ダイアグラムは、以下のオブジェクトから作成できます。

トレーサビリティ ダイアグラムをリンクから作成する場合は、リンクのsource項目が開始ノードになります。同様に、トレーサビリティ ダイアグラムをリンク セットから作成する場合は、リンク セットArtifact が開始ノードになります。

トレーサビリティ ダイアグラムを作成するには、次を行います。

  • 要件エディターで、項目を選択して [トレーサビリティ ダイアグラム] をクリックします。

  • 要件エディターで、項目を右クリックして [トレーサビリティ ダイアグラムを表示] を選択します。

  • MATLAB® コマンド ラインで、slreq.generateTraceabilityDiagram を使用します。

ノードを右クリックして [トレーサビリティ ダイアグラムを表示] を選択することで、既存のダイアグラムのノードから新規ダイアグラムを作成できます。

トレーサビリティ ダイアグラムのタイプ

トレーサビリティ ダイアグラムを要件、参照要件、正当化、またはリンクから作成する場合、ダイアグラムは項目レベルのダイアグラムになります。ノードは、要件や Simulink ブロックなどのモデルベース デザイン項目を表します。エッジは、これらの項目間のリンクを表します。

Traceability diagram with a requirement as the starting node. A referenced requirement is upstream and two Simulink model objects and a test are downstream.

要件セットまたはリンク セットからトレーサビリティ ダイアグラムを作成する場合のダイアグラムは、アーティファクトレベルのダイアグラムになります。ノードは、要件セット、Simulink モデル、Simulink Test™ ファイルなどの、モデルベース デザイン アーティファクトを表します。エッジは、要件、Simulink ブロック、および Simulink テスト ケースの間のリンクなど、アーティファクト内の項目間のリンクを表します。

Traceability diagram with a requirement set as the starting node. A requirement set and a Simulink model are upstream. A Simulink data dictionary, model, and test file are downstream.

ダイアグラムの要素

ダイアグラムはノードとエッジで構成されています。

ノードは、モデルベース デザイン項目またはアーティファクトを表します。ダイアグラムの開始ノードは青色テキストで、光彩で囲まれています。

Starting node of a diagram

ノードの境界線の色は、ノードが属するアーティファクト、またはアーティファクト ドメイン (Requirements Toolbox™ ファイル、または Simulink モデルおよびライブラリなど) を示します。[凡例] ペインは、アーティファクト、アーティファクトの色、および各アーティファクトが属するドメインを表示します。

項目レベルのダイアグラムの警告アイコン () は、利用不可の項目を示します。読み込まれていないために項目が利用不可となっている場合は、そのノードをダブルクリックします。指定された ID が存在しないために項目が利用不可となっている場合は、リンクを関連付ける必要があります。詳細については、Resolve Linksを参照してください。

エッジは、モデルベース デザイン項目間、またはアーティファクト内の項目間のリンクを表す矢印です。項目レベルのダイアグラムでは、エッジのラベルはリンク タイプで、アーティファクトレベルのダイアグラムでは各タイプのリンク数も含まれています。

リンクに変更の問題があると、対応するエッジは赤の破線になります。変更の問題の詳細については、要件リンクの変更の追跡を参照してください。

Traceability diagram with four edges. Each edge has a dashed red line, indicating that the corresponding link has a change issue.

エッジの矢印は、リンク方向 (リンク元ノードからリンク先ノードまで) を指します。リンク方向は、必ずしも影響方向と同じであるとは限りません。詳細については、影響方向およびリンク タイプを参照してください。

影響方向

開始ノードとリンクの間のリンク タイプの関係によって、そのエッジの影響方向が決まります。詳細については、リンク タイプを参照してください。上流ノードは開始ノードに影響を与えるのに対し、下流ノードは開始ノードの影響を受けます。

次の表は、リンク タイプと影響方向の間の関係をまとめたものです。

リンク タイプ上流関係下流影響方向
Relateリンク元次に関連リンク先リンク方向と同じ
Implementリンク先実装元リンク元リンク方向と反対
Verifyリンク先検証元リンク元リンク方向と反対
Deriveリンク元派生リンク先リンク方向と同じ
Refineリンク先次で調整済みリンク元リンク方向と反対
Confirmリンク元確認者リンク先リンク方向と同じ

たとえば、Implement タイプのリンクが 2 つのノードを接続する場合、リンク先は上流で、リンク元は下流になります。影響がリンク先からリンク元であるため、影響方向はリンク方向とは反対になります。

影響方向を使用して、変更が上流と下流にどう伝播するかを評価できます。また、影響方向を使用して要件の割り当ても評価できます。詳細については、割り当てと影響の評価を参照してください。

アーティファクトレベルのダイアグラムでは、2 つのアーティファクトの項目間のすべてのリンクが同じタイプである場合、リンク タイプによって影響方向が定義されます。2 つのアーティファクトの項目間のリンクが異なるタイプでも、すべてのタイプが同一の影響方向を定義していれば、それらは表で定義されている影響方向を使用します。たとえば、DeriveRelate のリンク タイプはどちらもリンク元を上流として定義しています。

2 つのアーティファクトの項目間のリンクが異なるタイプで、各タイプが異なる影響方向を定義していれば、リンク元を含んでいるアーティファクトは上流として定義され、リンク先を含んでいるアーティファクトは下流として定義されます。

Flow chart illustrating how link type defines impact direction

トレーサビリティ ダイアグラムの使用

ノードを選択すると、選択したノードに接続しているエッジとノードがダイアグラムで強調表示されます。

Traceability diagram with the furthest upstream node selected. The edge from that node to the starting node and the starting node are highlighted in pink.

ノードまたはエッジからアーティファクトへの移動

ノードまたはエッジをダブルクリックすると、ノードまたはエッジから対応する項目、アーティファクト、リンク、またはリンク セットに移動できます。また、ノードまたはエッジを右クリックして、[移動先] を選択できます。ノードまたはエッジが、それぞれのアーティファクトまたはドメインで開きます。

Node displaying the context menu

ダイアグラムのリフレッシュ

トレーサビリティ ダイアグラムを作成してから、任意の項目、アーティファクト、またはリンクに対してバックグラウンドで変更を加える場合、ダイアグラムをリフレッシュして、変更をダイアグラムに適用する必要があります。アンロードされた項目を読み込む場合やリンクを関連付ける場合は、ダイアグラムをリフレッシュして、警告アイコン () を解除する必要があります。詳細については、ダイアグラムの要素を参照してください。

[解析] をクリックして、ダイアグラムをリフレッシュします。

トレーサビリティ ダイアグラム ビューの変更

ツールストリップまたは [凡例] ペインと [概要] ペインを使用して、トレーサビリティ ダイアグラム ウィンドウのビューを変更できます。

Traceability Diagram window toolstrip

レイアウトとナビゲーション

既定では、ダイアグラムは垂直方向に配置されています。[水平方向] 選択することで、レイアウトを変更できます。

ダイアグラムを作成すると、作業領域に収まります。[ズームイン] をクリックするか、または Ctrl+= キーを押すことでズームインでき、[ズームアウト] をクリックするか、または Ctrl+- キーを押すことでズームアウトできます。また、スクロール ホイールを使用してズームすることもできます。[ビューに合わせる] をクリックするか、または Space キーを押すことで、ダイアグラムを再び作業領域に収めることができます。

また、ダイアグラムのマップを表示する [概要] ペインを使用して移動することもできます。マップは、現在ダイアグラムのどの領域を表示しているのかを示します。

Overview pane showing a traceability diagram with three levels. The current view is zoomed in on the lower-right portion of the diagram.

マップ内でクリックまたはドラッグすることで、他の領域に移動できます。Ctrl キーを押してスクロール ホイールを使用するか、またはスクロール ホイールをクリックしてドラッグしてダイアグラムの他の領域に移動することもできます。

影響方向でのノードのフィルター

影響方向でノードをダイアグラムからフィルターにより除外できます。開始ノードから上流のノードのみを表示するには、[上流] をクリックします。開始ノードから下流のノードのみを表示するには、[下流] をクリックします。

上流または下流のフィルターをクリアするには、[トレーサビリティをすべて表示] をクリックします。

アーティファクトまたはドメインでのノードのフィルター

[凡例] ペインを使用して、ダイアグラムのノードをアーティファクトまたはアーティファクト ドメインでフィルターできます。特定のアーティファクトからノードをフィルターにより除外するには、そのアーティファクトの選択をクリアします。ドメインからノードをフィルターにより除外するには、そのドメインの選択をクリアします。

Legend pane showing three artifact domains: Simulink models and libraries, Requirements Toolbox files, and Simulink Test files

メモ

アーティファクトレベルのダイアグラムの場合、アーティファクト ドメインでのみフィルターできます。

エッジ ラベルの非表示

既定では、リンク タイプが各エッジのラベルとしてダイアグラムで表示します。エッジまたはダイアグラムの空白部分を右クリックして、[ラベルを常にエッジに表示] をクリアすることで、エッジ ラベルを非表示にできます。選択をクリアした後は、エッジを選択またはポイントした時にのみエッジ ラベルが表示されます。

ダイアグラムのエクスポート

トレーサビリティ ダイアグラムを MATLAB digraph オブジェクトにエクスポートできます。ダイアグラムをエクスポートするには、[トレーサビリティ ダイアグラム] ウィンドウで、[エクスポート][MATLAB 変数にエクスポート] を選択します。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

参考

|

関連するトピック