NTTデータ
技術開発本部
副本部長
山本修一郎
シナリオの効果的な活用法
シナリオの効果的な活用法は、次に示すように、密接に関連するけれども異なる対象を互いに関係付けるための手段として使うことである[1]。
ソフトウェアの機能をビジネスプロセスと対応付ける
シナリオを用いてシステム機能とビジネスプロセスを対応付けることができる。シナリオというシステムに対する特定の利用事例を対象とすることで、システムの機能とビジネスプロセスを具体的に検討できるようになる。
顧客と開発者のコミュニケーションを改善する
シナリオを用いてコミュニケーションすることで顧客や利用者がシステム要求の分析者や開発者と円滑に対話できるようになる。この場合、シナリオは顧客が持つ業務知識を開発者に具体的に伝えるための効果的な手段になる。
システムの構成要素間の関係を確認する
シナリオは要求抽出や要求分析だけではなく、システム開発の下流工程でも利用できる。たとえば、設計工程や製造工程では、システムの構成要素間のインタフェースをシナリオで記述して妥当性を確認し試験することができる。
開発者の作業内容の相互関係を確認する
シナリオを用いることにより複数の開発者に仕事を分割して作業させることができるようになる。たとえば複数のサブシステムにまたがるシナリオがあるとすると(というよりもシナリオは本来そういうものだが)システム全体をサブシステムに分割する指針をこのシナリオが与えているので設計作業をサブシステムに分割できる。具体的には、シナリオの中からサブシステムごとの記述を別々に抽出して、その記述をサブシステムごとにまとめて担当者に与えることができる。このことは、製造でも試験でも同じであることが分かるだろう。
開発工程間で情報を円滑に伝達する
要求分析工程と設計工程や、要求分析工程と試験工程などで開発対象に関する知識の一貫性をシナリオで確認することができる。シナリオでシステムに関する具体的な利用イメージを記述していくことで、システムの背景や取り巻く環境の情報が理解しやすくなるので、下流工程の開発者が要望されるシステムについての正しい知識をシナリオから入手できるようになる。
静的な構造と動的な振る舞いの一貫性を確認する
システムの構成要素間の動的な振る舞いの系列をシナリオで確認することができる。利用者がシステムの環境に与える影響をシナリオで確認することもできるだろう。たとえば新システムの導入によって作業環境がどのように変化するかということも、利用者にとって理解しやすい表現で記述されたシナリオがあれば、利用者自身が判断できるようになる。
シナリオの留意点
シナリオを記述する際の詳細化の度合い(粒度)やシナリオの抽象度を決めておくことが重要である。
また、シナリオの表現法がいくつかあるので、これらの間で一貫性を維持する必要がある。またシナリオの版管理も必要である。
このように、シナリオに対して複数の異なる表現を扱う場合には、変更管理に留意する必要がある。またシナリオが表現する内容の抽象度をシナリオの変更に際して適切に維持しておくことも重要である。
次回は、パリで9月に開催された要求工学国際会議REOSについて紹介する予定である。
参考文献
- [1] Weidenhaupt, K., Pohl, K., Jarke, M.,and Haumer, P., Scenarios in systemdevelopment: Current practice, IEEESoftware, Vol.15, No.2, pp.34-45, 1998.
- [2] Alistair G. Sutcliffe, Neil A.M. Maiden,Shailey Minocha, and Darrel Manuel,Supporting Scenario-Based RequirementsEngineering, IEEE TRANS. ON SE VOL.24, NO. 12, pp.1072-1088, DECEMBER1998
- [3] 山本修一郎、UMLの基礎と応用,ビジネスコミュニケーション,http://www.bcm.co.jp/
- [4] Colette Rolland, Carine Souveyet, andCamille Ben Achour, Guiding GoalModeling Using Scenarios, IEEE TRANS.ON SE, VOL. 24, NO. 12, pp.1055-1071,DECEMBER 1998.