原則 目標とは、意図されたソフトウェアと環境内のアクターの協力によってシステムが達成すべき目的です。[ 2 ] 目標モデリングは、プロジェクトの初期段階で特に役立ちます。プロジェクトでは、意図されたシステムがどのように組織の目標を満たすか([ 3 ] も参照)、なぜそのシステムが必要なのか、利害関係者の関心にどのように対処できるかなどを検討することができます。[ 4 ]
目標モデル:
システムとその環境との関係(つまり、システムが何をするべきかだけでなく、なぜそうするのか)を表現します。この理解によって得られる、システムが必要とされる理由をその文脈の中で理解することは、「システムは、長年確立された慣行を自動化するのではなく、ビジネスプロセスを根本的に変えるためにますます使用されるようになっている」ため、有用です。[ 5 ] [ 6 ] 要件の明確化 :目標を明確にすることで、「なぜ」「どのように」「他にどのような方法があるか」という疑問が生じます。[ 5 ] このプロセスでは、利害関係者の要件が明らかになることが多く、要件を見落としたり、必要のないものを要求したり、過剰に指定したりするリスクが軽減されます。 大きな目標を、小さく実現可能な目標に分解することを可能にする。 対立に対処する : 目標モデリングは、コスト、パフォーマンス、柔軟性、セキュリティ、その他の目標間のトレードオフを特定し、解決するのに役立ちます。利害関係者間の相反する利害を明らかにすることができます。1 つの目標を達成すると他の目標の達成を妨げる可能性があるため、対立を特定できます。[ 5 ] 要件の完全性を測定できるようにする:要件は、目標モデル内のすべての目標を満たしている場合に完全であるとみなされる。 要件と設計を結びつける:例えば、i*の「非機能要件(NFR)フレームワーク」は、目標を用いて設計プロセスを導く。
表記法 ソフトウェア開発 における目標モデルには、以下のようないくつかの表記法が用いられています。
研究者によって他の表記法が提案されているが、[ 10 ] 安全関連産業では、規制当局を満足させるための安全ケース を作成するために、目標構造表記法(GSN)やGRLが使用されることがある。 [ 11 ] [ 12 ]
i*における目標モデリングi* 目標モデリング表記法では、2 種類の図が提供されます。[ 13 ]
「戦略的依存関係」(SD)とは、ある役割が他の役割に提供してもらう必要がある具体的な目標という観点から、役割間の関係を定義するものである。 「戦略的根拠」(SR)とは、SDモデルで特定された目標を、下位目標とタスクに分析することです。 i* では、各役割(アクター、エージェント、ポジション)を、その役割が所有する目標、タスク、リソースを含む大きな円として表現します。i* における所有権とは、役割が自身の利益のため、または他の役割の利益のために、その目標の達成を望んでいることを意味します。目標には、克服すべき「障害」(否定的な目標)が伴う場合があります。非機能的な目標は、i* では「ソフト目標」としてモデル化できます。これらは、雲または凹んだ楕円として図示されます。
KAOSにおける目標モデリング KAOS目標モデリング表記法は、形式的(数学的)分析方法に基づき、目標と障害を定義する方法を提供する。[ 8 ]
UMLにおける目標モデリング UML のユースケース図は、 シンプルな目標モデリング表記法を提供します。バブルは機能目標の名前を表し、[ 14 ] ユースケース図はシンプルな機能のみの目標モデルを形成します。Cockburn が書いているように、ユースケースは動作要件のみをカバーします。[ 15 ] 役割はアクター (図上の棒人間) として示され、参加するユースケースにリンクされます。ユースケースは、望ましい動作目標を表す楕円形のバブルとして描かれます。[ 16 ]
誤用ケース を追加することで、表記法は望ましい目標と実際の脅威の両方をモデル化できます。誤用ケース表記法では、否定的(場合によっては敵対的)な利害関係者が誤用ケースの主要なアクターとして示され、これらは図の右側にグループ化される場合があります。表記法は、補助的なユースケースとして示される適切な緩和または予防目標の発見に役立ちます。これらは多くの場合、セキュリティ、安全性、または信頼性の向上を目的としており、これらは非機能目標です。非機能要件は、 誤用ケースを使用して否定的な目標を定義することで、ユースケーススタイルである程度記述できますが、このようにして発見された(肯定的な)目標は多くの場合、機能的です。たとえば、盗難がセキュリティ に対する脅威である場合、鍵を取り付けることは緩和策ですが、ドアに鍵をかけることができることは機能要件です。[ 17 ]
反論としては、ユースケースは認知科学 に由来するものではないのに対し、i*やKAOSは認知科学に由来するという点が挙げられる。実際、ユースケースに関する文献には、目標意図、目標洗練、目的手段といった概念についての議論は含まれておらず、ラスムッセンらの理論にも言及されていない。ユースケースを目標と関連付けようとする傾向があるのは、認知科学における目標洗練のセマンティクスではなく、目標の視覚的なメタファーによるものかもしれない。
参考文献 Alexander, Ian および Beus-Dukic, Ljerka。『要件の発見:製品とサービスの仕様の策定方法 』。Wiley、2009年。 アレクサンダー、イアン F. およびメイデン、ニール。『シナリオ、ストーリー、ユースケース』 。ワイリー、2004年。 コックバーン、アリスター 。『効果的なユースケースの書き方 』アディソン・ウェスリー、2001年。ファウラー、マーティン 。『UMLの要点 』第3版。アディソン・ウェスリー、2004年。ファン・ラムスウェールデ、アクセル 。『要求工学:システム目標からUMLモデル、ソフトウェア仕様まで 』ワイリー、2009年。Yu, Eric、Paolo Giorgini、Neil Maiden、John Mylopoulos (編) 『要求工学のための社会モデリング 』MIT Press、2011年。
参考文献 ↑ Alexander と Beus-Dukic、2009 年。17 ~ 18 ページ ↑ Lin Liu および Eric Yu (2003). 「社会的文脈における情報システムの設計:目標とシナリオのモデリングアプローチ」(PDF) . トロント大学。2005年 2 月 5 日のオリジナル(PDF)からアーカイブ済み。 ↑ Ellis-Braithwaite, R.; Lock, R.; Dawson, R.; Haque B. (2013). "Towards an Approach for Analysing the Strategic Alignment of Software Requirements using Quantified Goal Graphs". International Journal on Advances in Software . 6 : 119–130 . arXiv : 1307.2580 . Bibcode : 2013arXiv1307.2580E . ↑ E. Yu、「初期段階の要求工学のためのモデリングと推論支援に向けて」、1997 IEEE 1 2 3 エリック・ユーとジョン・ミロポロス。 「目標指向要求工学の理由」 。トロント大学。 ↑ K.Pohl および P. Haumer、「シナリオに関するコンテキスト情報のモデリング」、第 3 回国際要求工学ワークショップ: ソフトウェア品質の基礎 REFSQ '97 議事録、バルセロナ、カタルーニャ、スペイン、1997 年 6 月、pp. 187-204。 ↑ Yu et al, 2011. 1 2 van Lamsweerde 、2009年。↑ ファウラー、2004年、99-105ページ ↑ Rolland, Colette ; Prakash, Naveen; Benjamen, Adolphe (1999). "プロセスモデリングのマルチモデルビュー" (PDF) . Requirements Engineering . 4 (4): 169– 187. doi : 10.1007/s007660050018 . S2CID 6988662 . ↑ GSNコミュニティ基準 ↑ Feodoroff, R. (2016). 「意図的なエンタープライズアーキテクチャ」. 2016 Annual IEEE Systems Conference (SysCon) . pp. 1–8 . doi : 10.1109/SYSCON.2016.7490555 . ISBN 978-1-4673-9519-9 . S2CID 206586399 . ↑ Yu, Eric (2011年9月6日). "i*" . i*: エージェント指向および目標指向のモデリングフレームワーク . トロント大学. 2011年 12月17日 取得 . ↑ Alexander と Beus-Dukic、2009 年。121 ページ ↑ コックバーン、2001年、62ページ ↑ コックバーン、2001年、221ページ ↑ Alexander and Maiden、2004年。第7章。119-139ページ。
外部リンク i* 公式ウェブサイト(チュートリアルと参考文献付き) - 「エージェント指向および目標指向のモデリングフレームワーク」 i* wiki(ガイドラインと例付き) KAOSチュートリアル EEMLを用いた目標指向型モデリングとプロセス指向型モデリングの統合:事例研究- ジョン・クロッグスティ