前の記事に記載した様に、少し特殊なことをすれば、現在の Papyrus 2021-06 Nightly と SysML 1.6 プラグインによるダイアグラム表示を確認することが出来ます。
そこで気になっていた SysML 1.6 での Requirement Extension を試してみました。
試した結果のダイアグラム表示は以下です:
少し気になったのは、Requirement Extension は Profile で Stereotype のため、何かしらのモデルに Stereotype を適用する形になるため、その元となるモデルをどのように作成するか、です。
最初、要求図上で作成した Requirement に Extension の Stereotype を適用してみたのですが、それこそ
<<Requirement, PerformanceRequirement>>
のように、2つの Stereotype が適用されている形となります。
下図右下の黄色にしたモデル表現の様です。
適用されている Stereotype の Requirement と Performance Requirement の両方の id と text が規定可能となっています。
これが Requirement Extension に対する正しい定義モデルなのかどうか確認出来ていませんが、実運用上ではトラブルの元にはなりそうです。なお、正しい定義モデルかどうかの確認は、
- Requirement Extension は Requirement に対してどのように仕様定義されているか
- Papyrus の Requirement Extension はその仕様定義に即した表現となっているか
- その仕様定義では異なるプロパティと区画表現にて独立化される結果となるか
が必要になりそうですね。
上記の運用上のトラブルを避けることを念頭に現在は、
- Model Explorer 上で UML for SysML 1.6 メニューから素の Class を作成
- 作成した Class に対して Requirement Extension の Stereotype を適用
としています。
ただユースケースとして、
- まずはカテゴリを気にせずに要求をリストアップ
- その後、各要求をカテゴリに分類
とした場合の使い方に対する注意が必要そうです。例えば
- 元の要求をそのままに、新たにカテゴライズした要求を作成し関係を張る
- 元の要求に新たに Stereotype を適用し、元の要求の内容をコピペ
とか考えられますが、運用としてはどちらもありそうですね。
少し検討してみたく思います。。
なお 「UML for SysML 1.6 > Class に Stereotype 適用した Requirement Extension」では、Extension で拡張された「Risk」と「Verify method」がプロパティから選択可能となっています。
ツール機能を含めた運用としては、両 Stereotype の同時適用は避けた方が良さそうです。