(前NTTデータ フェロー システム科学研究所長)山本 修一郎
連載123回でBoadman[2-6]によるシステミグラムとUMLのドメインクラス図を比較した。システミグラムではソフトシステム方法論のシステムモデル図に基づいて、システムと問題の構造を分かりやすく表現することができる。このため、システミグラムには、
(1)自然言語で記述された要求リストの名詞と動詞に基づいてわかりやすく図式化できるだけでなく、
(2)ドメインクラス図では欠落してしまう人間による業務や、安全性など品質特性の情報を表現できる
という特徴がある。
今回は、システミグラムを用いた安全分析について考察する。具体的には、システムの安全と危険などをシステミグラムで表現する方法を考えよう。また、システミグラムで分析した結果に基づいて、対象システムに対する安全性ケースを作成する方法についても紹介しよう。
システミグラムの概要[2-6]
まず、システミグラムの概要をまとめておこう。システミグラムには、ノードと、ノード関係がある。
システミグラムのノードには、表1に示すように、人工物(artifact、成果物)、環境、エージェント(Agent、Actor、主体)、重要要因(Critical actor)、重要特性などがある。
表1 システミグラムのノード分類(クリックで拡大)
システミグラムのノード関係には、表2に示す関係などがある。
表2 システミグラムのノード関係(クリックで拡大)
基本的な関係は、「<名詞句1>が<名詞句2>を<動詞>する」というものである。なお、表2で、「ノード」「ノード要素」「上位概念」「下位概念」としている部分は、主体、人工物、活動、環境などである。また、「特性」は、安全性などの性質である。
システミグラムのノードとノード関係の例を図1と図2に示す。
図1の鉄道会社員と運転士の関係は階層関係である。運転士と列車運行の関係は責任関係である。列車運行と安全の関係は特性関係である。運転士と列車、運転士と現場、列車運行と列車の関係は、操作関係である。
図2の安全対策と安全原則の関係は集約関係である。
図1 ノード関係の例(クリックで拡大)
図2 集約ノード関係の例(クリックで拡大)
図3 列車運行のシステミグラム(クリックで拡大)
システミグラムに基づく安全分析手順
上述したシステミグラムに基づいて、安全分析を実施する手順を整理すると次のようになるだろう。
◆基本定義
まず、安全分析の対象となる活動システムを日本語単文で記述することにより、基本定義を作成する。
◆システミグラムで概念モデルを記述
基本定義の記述に基づいて、システミグラムを作成する。
◆システミグラムの危険分析
システム安全上の危険が発生すると判断したノードについて、ノードの内部に、特性ノードとして「危険」を追加する。また、各ノードの危険の間の因果関係を分析する。
◆安全対策案を具体化
危険ノードごとに、必要な安全対策をノードとして定義するとともに、危険ノードとその安全対策の関係を「回避」とする。また、作成した安全対策を包含する集約ノードを作成する。さらに、「危険」ノードを含むノードNについて、安全対策によってNの危険を回避でき、Nの安全性を達成できることから、Nの内部にノード「安全」を追加する。
◆安全対策案の実行確認
危険を内部特性としてもつすべてのノードNについて、Nの内部ノードに安全があることを確認する。これによって、対象システムのすべての危険が回避できることを説明できる。
具体例
次のような列車運行システムの基本定義に基づいて、システミグラムを作成することにより、上述した安全分析手順を実施してみよう。
◆列車運行システムの基本定義
・運行手順が列車運行を規定する
・運転士が列車運行を担当する
・運転士が組織文化に順応する
・列車運行は現場を運行する
・列車運行は自然現象の中を運行する
・運転士が組織文化に順応する
◆基本定義に対するシステミグラム
基本定義に対するシステミグラムは図3に示すようになる。
続きは本誌でご覧頂けます。→本誌を購入する
ご購入のお申込みは電話(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:保証ケース作成支援ツールの概要