前回から、架空の宅配便会社「まいにち宅配便」が開発を進めている「配達予約システム」を例にとり、UMLを用いてシステムの仕様をモデリングする方法について説明しています。今回は、システム仕様の中で重要な要素の1つである「ユースケース」の仕様をモデリングする方法について解説します。

ユースケースの検討は、システム要求から仕様化まで一貫して行います。システム要求の段階ではアクターの視点から見たユースケースの振る舞いを定義します。そのため、仕様化の段階ではシステムの視点から、「画面などユーザーインタフェースの表示(出力)」「入力チェック」「データの更新」「他システムとの連携」といったユースケースの振る舞いを定義します。

具体的には、ユースケースの振る舞いを俯瞰する図としてロバストネス図を相互作用概要図 (図1、注1)を使って作成し、仕様の詳細をドキュメントに記述します。

図1 配達予約のためのユースケースを表したロバストネス図

注1:UMLの前バージョンのUML 1.5の頃は、シーケンス図やコラボレーション図(現在のコミュニケーション図)を用いて作成することが主流だった

相互作用概要図とはUML 2.0から登場したアクティビティ図と相互作用図(コミュニケーション図やシーケンス図)が合体したような図で、順序や分岐を記述できるアクティビティ図の利点と、システム内部の振る舞いを記述できる相互作用図の利点を併せ持っています。

ユースケースの仕様は、アクターがシステムを操作する手順とシステム内部の振る舞いの両方を定義するため、相互作用概要図と相性が良いです。相互作用概要図内の相互作用図はオブジェクトの構造を把握しやすいコミュニケーション図を採用します。

ロバストネス図の作成方法

ロバストネス図の作成手順は、アクターの視点から記述する段階と、システムの視点から記述する段階の大きく2段階に分けられます。

アクターの視点からは、ユースケース記述(注2)や画面イメージを参考にアクティビティ図の要素を用いて記述します。アクターが操作する単位ごとにコミュニケーション図用の枠を配置して、アクターが操作する順に制御フローでつなげます。アクターが複数の操作を選べる場合やシステムの振る舞いに応じて結果が変わる場合には、デシジョンノードやマージノードを使って条件分岐を記述します。

注2:アクターから見たユースケースの振る舞いを記述した文章。

図2 ロバストネス図用のステレオタイプ

システムの視点からは、ビジネスルールやクラス図やステートマシン図を総合し、コミュニケーション図の要素とロバストネス図用のステレオタイプ (図2、注3)を用いて記述します。

注3:UMLを拡張して追加した要素のこと。

『出典:システム開発ジャーナル Vol.4(2008年5月発刊)
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。