(前NTTデータ フェロー システム科学研究所長)山本 修一郎
今回は、システム分析の図式手法について、問題状況理解の観点から、システミグラム図(Systemigram)とドメインクラス図を比較する。具体的には、構成要素と関係、適用対象などを比較する。また、これらの図式の相互変換方法や複合的な利用方法について、例題に基づいて考えてみよう。
システミグラムとは
システミグラムではソフトシステム方法論のシステムモデル図に基づいて、システムと問題の構造を分かりやすく表現することができる。最近では、複雑なシステムを分析するために、システミグラムが利用されている。
これに対して、従来からオブジェクト指向手法でもソフトウェアオブジェクトを記述するクラス図を用いて、問題領域の構造を表現するためのドメインクラス図があった。しかし、両者の関係について、これまで明確に評価した報告がなかったため、ドメインクラス図でシステミグラムと同様の表現ができるのではないかという疑問があった。このため本稿では、具体的な事例に基づいて、両者の表現能力を比較する。
システムモデル図
システミグラムの起源は、Checklandによるソフトシステム方法論(SSM)[2]で用いられたシステムモデル図にある。複雑な人間活動を分析するために考案された方法論がSSMである。人間活動システムに含まれる個々の活動は「動詞」で表現できるから、人間活動システムを定義するためには、動詞間の「結合性」も表現できる必要がある。このような活動間の関係をSSMでは概念モデルと呼ぶ。概念モデルの構成要素は、活動、活動間の論理的な依存関係、外部入出力と制御活動への出力からなる。SSMの概念モデルを記述するために用いられる図式がシステムモデル図である。
システミグラムの構成
Boadmanは、システムモデル図が自然言語表現と対応しやすいことに着目して、より明確に自然言語による文章と対応する図式として、システミグラムを提案した[1][3]。後述するが、システミグラムでは名詞句をノードとし、名詞句間の関係を示す動詞句によりノード間の関係を定義する。
システミグラムでは、以下の3つの技法がこれまでに開発されてきた[1][3]。
(1)文章構造に注目することによりシステミグラムを作成する
(2)システムグラムを用いて、エンタープライズアーキテクチャやビジネスプロセスアーキテクチャなどの目的に対するアーキテクチャ設計法を開発する
(3)アーキテクチャに基づいてソリューション実装上の考慮点を具体化するシステミグラム技法を開発する
システミグラムは現在では、エンタープライズアーキテクチャやSoS(System Of Systems)の複雑性を分析するために用いられるようになっている[4][5]。また、システミグラムを作成するツールも提供されている[6]。
ドメインクラス図
Scottらによれば、ドメインの実際の抽象物を適切に表すクラスを識別するために作成される問題空間にある、最も重要な名詞の用語集がドメインクラス図である[8]。
またドメインクラス図では、汎化は記述するけれども、操作、属性、多重度、複合集約を記述しないことを推奨している。
また、文献[8]のドメインクラス図では、関係名を記述していない。
比較
文献[8]で紹介されている「インターネットブックストア」を具体的な比較対象事例とする。「インターネットブックストア」の要求リストは、12文からなり、17個の動詞と42個の名詞が含まれている。
◆システミグラムによる記述
「インターネットブックストア」の要求リストに基づいて記述したシステミグラムを図1に示す。
図1 インターネットブックストアのシステミグラム(クリックで拡大)
表1に示すように、このシステミグラムには、名詞が30個、動詞が10個含まれている。
表1 システミグラムの名詞と動詞(クリックで拡大)
なお要求リストでは、「で」や「による」となっていたのを「使用する」としたことを注意しておく。動詞や名詞の個数が要求リストから減少しているのは、同じ表現が異なる文で用いられていたためである。また、わかりやすくするため複合名詞も名詞として扱っている。
◆ドメインクラス図による記述
文献[8]にあるインターネットブックストアに対するドメインクラス図の名詞と動詞は表2のように、それぞれ10個と0個となっている。ドメインクラス図には、クラス間の関係が記述されているが、関係名は記述されていない。この理由は、後で作成される設計レベルのクラス図にドメインクラス図との一貫性が損なわれる可能性があるためと思われる。
表2 ドメインクラス図の名詞と動詞(クリックで拡大)
続きは本誌でご覧頂けます。→本誌を購入する
ご購入のお申込みは電話(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:保証ケース作成支援ツールの概要