概要
今回はエンタープライズモデリングのためのゴール分析手法として第15回でも紹介したi*(iスター)フレームワークの書き方の留意点について考える[1][2]。i*の意味はdistributed intentionalityということで複数の意図が分散しているという意味だ。i*フレームワークでは、社会的アクタ、ソフトゴール、タスク、資源から組織を構成すると考える。社会的アクタは相互に依存しあいながら、提供される資源を用いてタスクを遂行することによりソフトゴールを実現する。
i*フレームワークの図をパワーポイントで書く
i*フレームワークには、SD(Strategic Dependency)図とSR(Strategic Rational)図がある。これらの図では、アクタは円、タスクは六角形、資源は矩形、ゴールは楕円で書くので、パワーポイントの基本図形がそのまま使える。ソフトゴールは雲形なので、私はクリップアートの雲形を使っている。この雲形は次のようにすればパワーポイントのスライドに挿入できる。
プルダウンメニューの挿入から図を選択する。つぎにクリップアートを選択して「雲」で検索すると、影つきの雲が出てくるので、これを選択してから影付スタイルのポップアップメニューで「影なし」を指定する。
このアイコンだと、基本図形と同じようにマウスで選択してキーボードから文字を直接、雲の中に文字を記入できるから、便利である。
さて、i*フレームワークでやっかいなのは依存関係が独特な記法になっている点だ。どういうことかというと、アクタやデペンダムとの依存関係を表す線の中央に矢印が配置されているためだ。この依存関係を次のようにして2つの線に分解すると比較的簡単にきれいに書くことができる。図1に従って説明しよう。

図1 i*の依存関係を書く
たとえばまず矢印を配置する受益者(デペンダ)からソフトゴールへの中間点を決め、受益者からこの中間点まで矢線を引く。次に受益者からソフトゴールへの中間点から、ソフトゴールまで残りの線を引く。そして受益者からソフトゴールへの依存関係を選択し、提供者側の依存関係としてコピーするといい。ここで作成した2つの線を組み合わせた依存関係をグループ化しておくと、まとめてコピーできるので便利だ。
簡単なSD図の作成手順
以下では図2に従ってSD図の簡単な作成手順を紹介する。SD図を記述するときには、まずアクタを列挙する。ここではラジオのパーソナリティによる楽曲のリクエスト番組を考えよう。

図2 SD図の作成手順
アクタは番組の視聴者とパーソナリティだ。アクタを列挙したらアクタ間で、どんな依存対象があるかを考えよう。ここでは「曲を聴きたい」「曲名」「曲をリクエストして欲しい」「曲を流す」などを思いついたとしよう。
この後は視聴者とパーソナリティの間でこれらの依存対象ごとに依存関係の方向を決定すればよい。
UMLとi*フレームワーク
ソフトゴールは出てこないがUMLのユースケース図やシーケンス図をi*フレームワークのタスクや資源を用いて書くことができる。 以下では次のような商品販売シナリオについて考えよう。
例 商品販売における受付係の仕事に関するシナリオ
- 注文主が出庫を依頼する
- 在庫を確認する
- 在庫不足なら不足品を発注係に発注する
- 在庫があれば倉庫係りに出庫を指示する
- 倉庫係が出荷を確認する
- 在庫を更新する
- 注文主に納品書を提示する
まずアクタを調べると、注文主、倉庫係、発注係が見つかる。また受付係の仕事についてのシナリオなので、受付係もアクタになる。
つぎにアクタ間の関係を調べよう。このとき表1のように整理しておくと漏れがない。ここで文2と文6を次のように考える。すなわち「在庫を確認する」では受付係が最初に倉庫係から在庫情報を調べておき、出荷するごとに受付係の手元にある在庫情報を更新していくことにする。したがって文6は受付係の内部のタスクとなり、倉庫係との依存関係は生じないと考える。このため表1では文6に対する記述はない。
受益者 |
提供者 |
依頼対象 |
依頼種別 |
文番号 |
|---|---|---|---|---|
注文主 |
受付係 |
出庫依頼 |
タスク |
1 |
受付係 |
倉庫係 |
在庫 |
資源 |
2 |
受付係 |
発注係 |
不足発注書 |
資源 |
3 |
倉庫係 |
受付係 |
出庫指示 |
タスク |
4 |
受付係 |
倉庫係 |
出荷確認書 |
資源 |
5 |
注文主 |
受付係 |
納品書 |
資源 |
7 |
ユースケース図とSD図
図3に例で示したシナリオに対するユースケース図とSD図を対応付けて示した。

図3 ユースケース図とSD図の関係
ユースケースのアクタとSD図のアクタを直接対応付けることができる。また受付業務のユースケースを受付係アクタに対応付けている。
ここで、ユースケースにおける線の向きとSD図における線の矢印の向きが逆転していることに注意しよう。たとえば、納品書を受け取るのは注文主だが、納品書を提供するのは受付係だ。このためSD図では納品書の提供者に対して矢が向かうのである。
シーケンス図とSR図
商品販売に対するシーケンス図の例を図4に示す。また図4に対するSR図の例を図5に示す。図4では、出庫依頼画面、出庫指示、在庫が受け付け業務に対応する。これらはSR図では図5に示したように受付係の内部のタスクとして記述する。

図5 商品販売に対するSR図の例
コラボレーション図とSD図
図6では、クライアント・サーバ・モデルに対する単純なコラボレーション図をSD図と比較している。

図6 コラボレーション図とSD図の比較
クライアントがサーバに対してリクエストすると、サーバがクライアントに対してレスポンスを返すというモデルである。
SD図では、リクエストとレスポンスをタスクで記述している。ここでSD図にソフトゴールを記述していることに注意する。
すなわち、リクエストに対しては、リクエスト量を増大させたい。レスポンスに対しては正確なレスポンスを期待している。これらのソフトゴールは非機能要求の例である。
このようにSD図では、次の3つの問いを考えることができる。
- 【問1】誰(アクタ)に依存するのか
- 【問2】何(依存対象)に依存するのか
- 【問3】なぜ、どのように(ソフトゴール)依存するのか
今回はi*フレームワークを利用する上での図の書き方のポイントとUMLの図式と対比することでSD図やSR図の役割を紹介した。
■参考文献
- [1] i*フレームワーク、http://www.bcm.co.jp/site/youkyu/youkyu15.html
- [2] i*an agent-oriented modelling frame- work, http://www.cs.toronto.edu/km/istar/
- 1:要求工学の概要
- 2:第12回要求工学国際会議 RE2004
- 3:要求仕様
- 4:要求工学プロセス
- 5:要求抽出
- 6:要求分析
- 7:要求確認
- 8:要求管理
- 9:要求追跡
- 10:要求工学の課題
- 11:ジャクソンの問題フレーム
- 12:シナリオ分析
- 13:要求工学国際会議RE2005
- 14:ゴール分析
- 15:iスター・フレームワーク
- 16:要求インタビュー
- 17:ゴール分析 応用編
- 18:ゴール分析 応用編つづき
- 19:ゴール分析の視点
- 20:ソフトシステム方法論 再考(その1)
- 21:ソフトシステム方法論 再考(その2)
- 22:ソフトシステム方法論 再考(その3)
- 23:非機能要求
- 24:信頼性要求
- 25:コミュニケーションの構造
- 26:組織とコミュニケーション
- 27:論理思考プロセスと現状分析ツリー
- 28:対立解消図と未来実現ツリー
- 29:前提条件ツリーと移行ツリー
- 30:特性要因図とゴール思考分析
- 31:i*フレームワークの書き方
- 32:i*フレームワークの危険な曲がり角
- 33:目的思考
- 34:要求工学の研究動向
- 35:アジャイル開発の要求工学
- 36:アジャイル開発の要求工学
- 37:要求レビュ
- 38:要求の曖昧さ
- 39:アクタ関係分析
- 40:要求工学の現状と課題
- 41:セキュリティ要求工学
- 42:ソフトウェア品質要求工学
- 43:イノベーションと要求工学
- 44:Wikiと要求工学
- 45:要求工学プロセスの改善
- 46:アクタ関係から見るユースケースと要求獲得
- 47:要求エンジニア
- 48:要求モデリングと誤り
- 49:要求を軸としたこれからのソフトウェア社会
- 50:ゴール指向とアスペクト指向要求工学
- 51:サービス指向要求工学
- 52:要求質問
- 53:試験工程での要求発見
- 54:要求とテスト
- 55:すりあわせの技術と価値星座
- 56:学生からの質問
- 57:SysMLの要求図
- 58:アシュアランスケースとGSN
- 59:組込み要求工学
- 60:要求とアーキテクチャ
- 61:要求と保守・運用
- 62:オープンソースソフトウェアと要求
- 63:要求工学のオープンな演習の試み
- 64:Web2.0と要求管理
- 65:ソフト製品開発の要求コミュニケーション
- 10G-EPONの概要 その4-10G-EPONの課題と今後の動向-
【新ネットワーク】 - やっぱりおかしいよね?メモリの使い方
【通信ソフトウェア開発】 - 猿でもわかる”フレッツテレビ”その2
【猿でもわかるICT】 - 10G-EPONの概要 その3-10G-EPONの特徴2-
【新ネットワーク】 - 10G-EPONの概要 その2-10G-EPONの特徴1-
【新ネットワーク】 - 開発支援ツール
【通信ソフトウェア開発】 - 猿でもわかる“フレッツテレビ”その1
【猿でもわかるICT】



