(前NTTデータ フェロー システム科学研究所長)山本 修一郎
本稿では、ブルームフィールドが示した保証ケースに関する7個の議論分解パターンについて紹介する[1]。議論分解パターンを再利用することにより、保証ケースを効率的に作成することが期待できる。
議論分解パターン
議論分解パターンでは、表1に示したように、①解決したい保証ケース作成上の問題、②議論分解パターンが適用される典型的な議論状況、③議論上の問題に対する議論分解パターンによる解決方法、④議論分解パターンの利点と欠点からなる特徴、⑤議論分解パターンを活用して保証ケースを作成するときの留意点や適用事例を記述する。
これらの項目はソフトウェア開発のためのパターン体系を記述するための項目を参考にした[2]。
議論分解パターンを用いて、保証ケースを作成する上での分解問題の種類と、それに適用できる保証ケースの種類を対応付けることができるので、保証ケースの分解方針と解決策の再利用が期待できる。
表1 議論分解パターンの構成要素
基本パターン
表2では、ブルームフィールドが示した保証ケースに関する7個の分解パターン[1]をまとめている。
以下では、これらの議論分解パターンについて解説する。
表2 議論分解のパターン
アーキテクチャ分解パターン
【分解問題】
複雑なシステムに対して保証ケースを作成する必要がある。
【分解状況】
アーキテクチャ分解を適用する場合の前提となる状況は、アーキテクチャが明確化されていることである。
【解決策】コンポーネントをシステム構成に従って複数の下位コンポーネントに分解
対象システムが2つのサブシステムAとBで構成されるとき、図1に示すように、分解することができる。図1では、分解の根拠となるアーキテクチャを示すために、前提として「システム構成の定義」を記述している。またサブシステム間に相互作用がある場合、この相互作用についての主張も記述する。
図1 アーキテクチャ分解の例(クリックで拡大)
【特性】
(利点)システムのアーキテクチャに従って、保証ケースを自然に作成できる。このため、システムのアーキテクチャと保証ケースとの対応関係の一貫性を確認しやすい。
(欠点)システムのアーキテクチャが定義されていなければ、アーキテクチャ分解パターンを適用できない。
【留意点】
(1)コンポーネント間の相互作用を明らかにする必要がある。
(2)アーキテクチャが満たすべき性質を主張として明確に定義する必要がある。
(3)分解根拠を示す前提ノードを上位の主張ノードに接続するか、戦略ノードに接続するかを決める必要がある。
機能分解パターン
【分解問題】
システムの機能に対して保証ケースを作成する必要がある。
【分解状況】
機能分解を適用する場合の前提となる状況は、システムの機能が明確になっていることである。
【解決策】主張を機能構成に従って分解
対象システムが複数の機能で構成されるとき、機能ごとに下位の主張を作成することにより上位の主張を分解できる。
たとえば、図2に示すように、検索システムが提供する機能に従って分解することができる。図2では、分解の根拠となる機能構成を示すために、前提として「検索システムの機能定義」を記述している。この検索システムの機能には、キーワード入力機能、データ管理機能、キーワード検索機能、検索結果出力機能があることが分かる。
図2 機能分解パターンの例(クリックで拡大)
【特性】
(利点)システムが提供する機能に従って、保証ケースを自然に作成できる。このため、システムの機能構成と保証ケースとの対応関係の一貫性を確認しやすい。
(欠点)システムが提供する機能構成が定義されていなければ、機能分解パターンを適用できない。
【留意点】
適用する際の注意事項として、次の2点がある。
(1)機能が漏れないように、機能構成の網羅性を確認する必要がある。
(2)機能分解根拠を示す前提ノードを上位の主張ノードに接続するか、戦略ノードに接続するかを決める必要がある。
属性分解パターン
【分解問題】
システムの属性に対して保証ケースを作成する必要がある。
【分解状況】
属性分解を適用する場合の前提となる状況は、確認すべきシステム属性が明確になっていることである。
【解決策】主張を機能構成に従って分解
続きは電子書籍(Kindle)でご覧頂けます。→Amazonで購入する
ご購入のお申込みは電話(03-3507-0560)でも承っております。
- 60:要求とアーキテクチャ
- 61:要求と保守・運用
- 62:オープンソースソフトウェアと要求
- 63:要求工学のオープンな演習の試み
- 64:Web2.0と要求管理
- 65:ソフト製品開発の要求コミュニケーション
- 66:フィードバック型V字モデル
- 67:日本の要求定義の現状と要求工学への期待
- 68:活動理論と要求
- 69:ビジネスゴールと要求
- 緊急:今、なぜ第三者検証が必要か
- 71:BABOK2.0の知識構成
- 72:比較要求モデル論
- 73:第18回要求工学国際会議
- 74:クラウド時代の要求
- 75:運用要求定義
- 76:非機能要求とアーキテクチャ
- 77:バランス・スコアカードの本質
- 78:ゴール指向で考える競争戦略ストーリー
- 79:要求変化
- 80:物語指向要求記述
- 81:要求テンプレート
- 82:移行要求
- 83:要求抽出コミュニケーション
- 84:要求の構造化
- 85:アーキテクチャ設計のための要求定義
- 86:BABOKとREBOK
- 87:要求文の曖昧さの摘出法
- 88:システムとソフトウェアの保証ケースの動向
- 89:保証ケースのためのリスク分析手法
- 90:サービス保証ケース手法
- 91:保証ケースのレビュ手法
- 92:要求工学手法の再利用
- 93:SysML要求図をGSNと比較する
- 94:保証ケース作成上の落とし穴
- 95:ISO 26262に基づく安全性ケースの適用事例
- 96:大規模複雑なITシステムの要求
- 97:要求の創造
- 98:アーキテクチャと要求
- 99:保証ケース議論分解パターン
- 100:保証ケースの議論分解パターン[応用編]
- 101:要求発展型開発プロセスの事例
- 102:参照モデルに対する保証ケース
- 103:参SEMATの概要
- 104:参SEMATの活用
- 105:SEMATと保証ケース
- 106:Assure 2013の概要
- 107:要求の完全性
- 108:要求に基づくテストの十分性
- 109:システムの安全検証知識体系
- 110:機能要求の分類
- 111:IREB
- 112:IREB要求の抽出・確認・管理
- 113:IREB要求の文書化
- 114:安全要求の分析
- 115:Archimate 2.0のゴール指向要求
- 116:ゴール指向要求モデルの保証手法
- 117:要求テンプレートに基づく要求の作成手法
- 118:ビジネスゴールのテンプレート
- 119:持続可能性要求
- 120:操作性要求
- 121:安全性証跡の追跡性
- 122:要求仕様の保証性
- 123:システミグラムとドメインクラス図
- 124:機能的操作特性
- 125:セキュリティ要求管理
- 126:ソフトウェアプロダクトライン要求
- 127:システミグラムと安全分析
- 128:ITモダナイゼーションとITイノベーションにおける要求合意
- 129:ビジネスモデルに基づく要求
- 130:ビジネスゴール構造化記法
- 131:保証ケース導入上の課題
- 132:要求のまとめ方
- 133:要求整理学
- 134:要求分析手法の適切性
- 135:CROS法の適用例
- 136:保証ケース作成支援ツールの概要