概要
前回はi*(iスター)フレームワークをプレゼンツールで描く簡単な方法を紹介した[1]。i*フレームワークはアクタ間の依存関係をソフトゴール、ゴール、タスク、資源という4種類の対象を用いて分析する手法だ[2][3]。このように構成要素は単純だが、実際に図を描いてみると分かると思うが、なれないと案外戸惑うことも多いものである。そこで、今回はi*フレームワークの図式を作成する上で、困惑したり間違え易いポイントについて整理しよう。
これらのポイントは、みなさんがi*フレームワークという車に乗ってゴール指向という路をドライブするときに、おそらく繰り返し出会うことになる危険な曲がり角の一部になるだろう。
i*フレームワークの誤り易いポイント
私のこれまでの経験から、i*フレームワークの誤り易いポイントを整理すると、次の5点になる(表1)。
- アクタの漏れ、重複
- 依存関係の記述ミス、ループ
- デペンダムの抜け、記述ミス、重複
- デペンダム名の記述ミス、曖昧さ
- デペンダム関係の記述ミス
以下ではこれらを順番に説明しよう。
アクタについての誤り
・アクタ境界に対するアクタが抜けている
具体例を図1(1)に示す。
この例では、点線で示したアクタ境界の上にアクタを示す円が抜けているので、追加する必要がある。
・どのアクタとも関係しないアクタがある
具体例を図1(2)に示す。
この例では、Cで示したアクタが他のアクタと依存関係を持たないので、このアクタCを削除するか、他のアクタとの依存関係をを追加する必要がある。
図1 アクタについての誤り
依存関係の誤り
・境界を持つアクタに依存関係を付けている
具体例を図2(1)に示す。
この例では、アクタ境界をもつマーケティングサービス会社を示すアクタに製造会社からの依存関係が接続しているので、ソフトゴール「顧客情報を収集したい」からの依存関係をアクタ境界の中にあるタスク「顧客情報を収集する」に接続するように変更する必要がある。
・ソフトゴールの依存関係がループしている
具体例を図2(2)に示す。
この例では、製造会社と販売会社という2つのアクタ間で同じソフトゴール「販売情報を収集したい」からの依存関係がループしているのでどちらかの依存関係を削除するか、ソフトゴールを2つに分割してループしないように変更する必要がある。
図2 依存関係の誤り
デペンダムの誤り
・アクタ内部のデペンダムが抜けている
具体例を図3(1)に示す。
この例では、アクタAからのソフトゴールXがアクタBのアクタ境界に接続しているので、アクタB内のデペンダムを追加して、それにソフトゴールXからの依存関係を接続するように変更する必要がある。
・デペンダムがアクタの内部にある
具体例を図3(2)に示す。
この例では、アクタBのアクタ境界の中にソフトゴールXが含まれてしまっているので、XをBのアクタ境界の外側に出すように変更する必要がある。
図3 デペンダムの誤り
・受益者のデペンダムと同じタスクを提供者が持っている
具体例を図4(1)に示す。
この例では、アクタAとアクタBが同じタスクTを持っているので、どちらかのタスク名を変更する必要がある。またソフトゴールもタスクと同じ名前を付け易いので注意する必要がある。タスクやソフトゴールがそれぞれのアクタに対してどのような意図や効果を持つのかをきちんと考察すべきである。そうしないとゴールやゴール間の依存関係を分析する意味がない。
・アクタ間のデペンダムが抜けている
具体例を図4(2)に示す。
この例では、アクタAとBのアクタ境界の中にあるタスク間が直接依存関係で接続されてしまっているので、SとTを関係付けるソフトゴールを追加すべきである。このような図を描いてしまう理由はアクタ間の意図や役割の分析が不十分だからである。
図4 デペンダムの誤り(続き)
デペンダムに対する命名誤り
・ソフトゴールにタスクの名前を付けている
具体例を図5(1)に示す。
この例では、「購入機能」という本来タスクに付けるべき名前をソフトゴール名としているので、ソフトゴールにふさわしい名前に変更すべきである。
・ゴールにソフトゴールの名前を付けている
具体例を図5(2)に示す。
この例では、「~したい」という本来ソフトゴールに付けるべき名前をゴール名としているので、ゴールにふさわしい名前に変更すべきである。
・名詞がゴール名になっている
具体例を図5(3)に示す。
この例では、「満足度」という名詞をソフトゴール名としているので、ソフトゴールにふさわしい名前、たとえば「満足度を向上したい」などに変更すべきである。
・資源名としてゴールやタスクの名前が付けられている
具体例を図5(4)に示す。
この例では、タスクを表現すると思われる「顧客サービス」を資源名としているので、資源にふさわしい名前に変更するか、資源ではなくタスクを表す図形に変更すべきである。
図5 デペンダムに対する命名の誤り
・デペンダム名が曖昧であると依存関係の方向が決まらない
具体例を図6に示す。
この例では、マーケティング情報という用語の持つ意味が曖昧なため、依存関係の方向付けも曖昧になっている。つまりマーケティングは市場開拓から販売に至る一連の活動であり、活動内容ごとにマーケティング情報の依存関係が反転する。たとえば顧客の嗜好情報である場合とコピーライティングやDMの場合では矢の向きが逆になるだろう。
図6 デペンダム名の曖昧さ
- 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:保証ケース作成支援ツールの概要