NTTデータ
技術開発本部
副本部長
山本修一郎
概要
チェックランドのソフトシステム方法論(SSM)が最近再び注目されてきている。そこで今回から数回に分けてSSMの現代的な意義について要求工学の視点から考察していく。今回はその第1回としてウィルソンの「システム仕様の分析学」(1990,日本語訳は1996)[1]第2章システム言語に基づいて、SSMの基礎となる人間活動システムの「基本定義」や「概念モデル」について紹介する。
システムの分類
図1 システムの分類
まずSSMが分析の対象とするシステムをみておこう。システムは図1に示すように自然システム、人工システム、社会システム、そして人間活動システムの4つに分類されている[1]。自然システムは物理的なシステムであり、人間の意思決定によって制御できる範囲を超えているとされる。人工システムには、飛行機や自動車などの乗り物や建築物、設備などの物理的な実体を伴うシステムと、法令や制度、数学のような物理的な実体を持たない抽象的なシステムに分けられる。社会システムは人間の集まりから構成される。社会システムには、企業や行政機関などの何らかの目的を持つ組織体システムと、家族や地域集団のような特定の目的を持たない共同体システムに分けられる。SSMでは人間活動システムを分析対象とする。人間活動システムの構成要素は人間活動であり、人間活動間の論理的な関係を明らかにする。このような人間活動は「動詞」と「動詞間の依存関係」に着目して自然言語でモデル化される。人間活動システムは人間の活動に関するシステムであるから、人間の集まりとしての社会システムの上でどのような人間活動が展開されるのかを論理的に記述することが重要になる。またSSMでは人間活動システムを対象とするのであるから、法制度のように物理的な実体を伴わない人間活動も含めた幅広い応用領域を持つこともわかるだろう。
ここで、注意すべき点は、人間活動システムを人工システムと混同しないことだ。たとえば新幹線は人工システムだ。人工システムには物理的な実体としての客観的な定義が存在するだろう。ところが新幹線を交通機関としてみれば、高速で移動する、安全で快適な旅行を楽しむというような人間活動を実現するための手段という「見方」ができる。SSMでは、後者のような同じ行為でも見方によって異なる価値観を持つ人間活動システムを分析するのだということをまず理解しておく必要がある。SSMでは現実世界の事象の観察に対する意味づけとしての見方を「世界観」という。世界観は分析者が現実世界の状況を理解するときのフィルタであるといえる。Wはドイツ語のWeltanschauungの略だ。
基本定義
人間活動システムを明らかにするためには、まずシステムが「何であるか」を定義する必要がある。人間活動システムで最も基本的な概念は「変換過程」(transformation process)である[1]。変換過程では、システムへの入力をシステムからの出力に変換するための活動の集まりが必要になる。
変換過程が「何であるか」をSSMでは基本定義(Root Definition)を用いて記述する。そのためには、まずシステムの入力は何で、出力は何かを知ることが必要になる。たとえば、システムにより問題を解決するのだとすると、入力は「問題が解決されていない状況」であり、出力は「変換過程により、問題が解決された状況」になる。またシステムにより顧客のニーズを満足させたいのだとすると、入力は「満たすべき顧客のニーズ」であり、出力は「変換過程により満足された顧客のニーズ」となる。
このようなシステム入出力と変換過程の考え方を用いると、次のような2つの基本定義の構造が得られる。
【構造1】
「Xを行うことで入力Aを出力Zに変換する」
【構造2】
「出力Zを達成するために、活動Aを用いてXを行う」
また基本定義ではできるだけ簡潔な表現でシステムが何であるかを定義するだけでなく、システムに対する世界観を適切に表現する必要がある。そうでないと、システムの記述があまりにも一般的になりすぎてしまったり、矛盾する世界観を含んだりすることになる。
【例】変換
図2 変換の例
前回までの連載で紹介したゴールグラフの作成手法[2][3][4]を例にして、変換過程を示すと図2のようになる。入力は「法制度の分析にゴール分析を利用する」というニーズである。出力は「ゴール分析を用いた法制度の分析手法を開発することにより、ゴール分析の法制度での利用を推進する」ことにより、ニーズを満足することである。
【例】基本定義
法令に対して実験を用いて工学的に有効性が確認されたゴール分析手法を開発するシステム。
この基本定義では2番目の構造を用いている。この例におけるもう一つのポイントは、手法の開発にSSMを用いることができるということだ。
- 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:保証ケース作成支援ツールの概要