電通総研では、SysMLに準拠したモデリングツールとして、ダッソー・システムズ社製のCATIA Magicを取り扱っています。
本テーマでは、要求分析・機能分解のフェーズで、システムに対する要求変更や機能不具合が発生した際に、CATIA Magicで効率的に要求の影響範囲を確認する方法について御紹介します。
システムに対して要求変更や機能不具合が発生した際には、要求の影響範囲を確認する必要があります。具体的には、システムを構成するどの機能や部品を修正する必要があるのか、誰が関係者となるのか、といった要求と繋がる関連情報への影響範囲を確認します。ですが、実際にはこの確認作業に多大な時間を要していることが多いかと思います。(図1)

この問題の主な原因としては、要求とそれらの関連情報とのリレーションが事前に整理されていないことが挙げられます。多くの情報が整理されていないことで、確認作業が非効率となり、結果として多大な作業時間を要すこととなります。そして、それは時に確認漏れや情報共有の不備といった手戻りの原因に繋がります。
解決策として、多くの関連情報を一覧にまとめる必要があります。
例えば、1つの要求とそれに紐づく複数の関連情報をツリー形式で一覧表示して階層関係を整理することができれば、簡易的にリレーションを追うことができ、要求の影響範囲を階層毎に確認することができます。このような方法はCATIA MagicのRelationMap機能を用いることで可能となります。
または、要求と関連情報とのリレーションをマトリックス形式で整理することができれば、複数の要求に直接紐づくリレーションを一覧で確認することができます。このような方法はCATIA MagicのMatrix機能を用いることで可能となります。
以降より、この2つの機能の詳細とそれぞれのいくつかの強みについて御紹介します。
CATIA MagicのRelationMap機能を用いることで、要求をトップに、紐づく機能や部品などをツリー形式で一覧表示して階層関係を整理することができます。
RelationMapは、CATIA Magic上で作成されているリレーションを用いて、階層関係を整理することができるダイアグラムです。モデル要素に紐づくリレーションを辿ることで、直接または間接的に紐づくモデル要素を検索し、下階層に表示していきます。具体的には、検索条件(図2赤枠)で条件を指定することで、CATIA Magic上のモデル要素を自由に検索し、一つのモデル要素をトップとした様々な階層関係を描くことができます。
 また、RelationMap上に表示されているリレーションは種類ごとに色分けすることができます。
Legend機能により各リレーションを色分けすることで、複雑な階層関係の中でも特定のリレーション関係のみを即座に追うことができます。
ダイアグラム上のモデル要素が1つのRelationMapで整理されているのであれば、そのRelationMapで整理した階層関係をダイアグラム上に反映することができます。
Legend機能により、ダイアグラム上のモデル要素の内、RelationMapで整理されているモデル要素をハイライトし、RelationMapの階層毎にモデル要素を色分けすることができます。図3の例では、内部ブロック図に対して、1つの要求をトップとしたRelationMapの階層関係を反映し、その要求に紐づくPartとPortをそれぞれハイライトしています。
1つのRelationMapで整理した階層関係は複数のダイアグラム上に反映することが可能です。これにより、要求の影響範囲をシステムの複数の側面から確認することができます。
RelationMapを介すことで、間接的に離れて関連する情報のダイアグラムでも早急に開くことができます。CATIA Magicでは、モデル要素から、そのモデル要素に関するダイアグラムを簡単に開くことができます。そのため例えば、要求に間接的に紐づく機能に関する状態機械図を確認したい場合でも、RelationMapを介すことで、要求図からスムーズに状態機械図を開くことができます。(図4)
CATIA MagicのMatrix機能を用いることで、複数の要求に直接紐づくリレーションをマトリックス形式で整理することができます。具体的には、データ範囲とモデル要素の種類、リレーションの種類を検索条件(図5赤枠)で指定することで、該当する全てのモデル要素をマトリックス表の縦横軸に、全てのリレーション関係をセルに矢印で表現することができます。条件は複数指定することができ、リレーションが複数種類ある場合は種類ごとに色分けすることができます。
縦横軸のモデル要素はコンテイメントツリーの階層構造で表示されます。その階層の展開/折り畳みは自由に行うことができ、それに応じてマトリックス表を自動で拡大/縮小することができます。また検索条件の"Show Element"機能により、リレーション関係がセルに表現されているモデル要素のみに表示を絞ることができます。(図6)このように必要な情報に絞って、マトリックス表の表示セルを即座に切り替えることが可能です。
マトリックス上でリレーションを作成することも可能です。簡易的なセルのクリック操作で、対応する縦軸と横軸のモデル要素間に、検索条件で指定した種類のリレーションを作成することができます。(図7)指定したリレーションの種類が複数ある場合は、セルクリック時に作成するリレーションを選択することができます。そのため、多数のモデル要素で構成されている大きな階層構造を効率的に構築することが可能です。
本テーマでは、効率的に要求の影響範囲を確認する方法として、CATIA Magicの代表的な機能であるRelationMap機能とMatrix機能をそれぞれ御紹介しました。
それぞれの機能の利用ケースをまとめると以下となります。
今回は要求を例としましたが、それぞれの機能は他のモデル要素に対しても用いることができ、様々なケースで活用することができます。
他にも、CATIA Magicは様々な機能を豊富に有しています。今後も引き続き機能紹介を掲載していきますので、ぜひご覧下さい。
本記事は役に立ちましたか?コメント・問合せも承ります。