【チュートリアル】 - 分析編

 bn_use02

 
3. モデル・図の作成
3.1 ユースケース図(use case diagram)
 
jun では、まずシステムの振る舞いから見ていくことにしよう。システムの振る舞いというのは、システムが外から見てどんなふうに動作し、反応するかということなんだ。このシステムの振る舞いを図で表したものが「ユースケース図」なんだよ。

 

 
<<ユースケース図>>
◆「ユースケース図」ってどんな図?
     
  • システムがどのように機能すべきか(ユースケース)、およびその外部環境(アクター)を表す。
  • エンドユーザの視点からシステムについて見ることができる。そのため、エンドユーザや領域の専門家とコミュニケートして、要求に対する相互の理解を保証することができる。
  • システムの外部と内部との境界をはっきりさせることができる。
◆「ユースケース図」
  wd_02
アクター
  • アクターは、システムの一部ではない。システムのユーザが果たす役割を表す。
  • システムと活発に情報交換をしたり、システムから受動的に情報を受け取ったりする。
  • 人間、ハードウェア、外部システムがアクターになりえる。
 
ユースケース
  • ユースケースは、アクターとシステムとの間の対話をモデル化する。
  • ユースケースはアクターによって開始され、システムのある機能を実行する。
  • システムのユーザがシステムを利用して遂行する単位業務のひとつを抽象化したもの。
  • ユースケースをすべて集めると、システムがどう使われるかがすべて表わされる。
  • ユースケースの視点で、分析モデル、設計モデル、実装モデル、テストモデルを関連付けて管理できる。
  • ユースケースのドキュメントとして、「概要」と「イベントフロー」がある。
  
chen ユースケース図を作成するためには、ユースケースアクターという2つのアイテムを使って、モデルを作成していくのですね?
jun そうだよ。Chen君、今回の商品注文から配送までの流れの中で、役割を持っていると思われる実体(アクター)としてはどんなものが考えられるかな?
chen まず、注文をする顧客、それからユニバーサルトレーディングで注文を受ける顧客係ですね。配送センターにも誰か担当者が必要かもしれません。
jun そうだね。では、これらのアクターの立場からシステムの機能(ユースケース)を発見して、今回のシステムに必要なアクターとユースケースの関わりについて考えていこう。ユースケースは、画面単位などの細かすぎる単位にならないように注意しよう。
 

chen
 

はい、分かりました。「顧客係」はシステムを使って注文を登録したり、注文を照会したりしますから、「注文を登録する」や「注文を照会する」というユースケースがあると思います。「顧客」は、「顧客係」に電話で注文したりお金を振り込んだりという動きをしますが、このシステムとは直接関わってこないので、アクターとして図に書いてもあまり意味がありませんね。配送センターにいる「配送事務係」は、「注文を照会する」に関わってくると思います。
jun
 
そうだね。ところで、ここまで Chen君はアクターになりえるものとして人ばかり意識しているようだけど、既存のシステムやデータベースなどの外部のシステムもアクターになるんだよ。今回のシステムでは、「注文を登録する」ときに、顧客情報や在庫情報を参照するよね。これらの情報は既存のシステムが持っているから「顧客情報管理システム」や「在庫情報管理システム」もアクターとしてあげるべきだね。
chen なるほど、そうですね。
jun では Chen君、発見したユースケースとアクターとの関係を考えて、ユースケース図を書いてみよう。ユースケースとアクターとの関係は、実線で表すんだよ。
 

19_TIT_1

 

 

図3.1.1 Chen君が作成したユースケース図(その1): 「注文管理システム」 

use1
 
chen 「顧客係」アクターは「注文を登録する」と「注文を照会する」という2つのユースケースを実行します。そして、「注文を登録する」ユースケースを実行する場合には、「顧客情報管理システム」や「在庫情報管理システム」アクターも関わってきます。また、「配送事務係」アクターは、「注文を照会する」ユースケースに関わっています。
jun よくできたね。それからこれは補足だが、ユースケースとアクターとの境界線を明示するために、ユースケース群 (ユースケースの集まり) を大きな長方形で囲むと図が見やすくなるよ。そして長方形の内側の上部には、システムの名前を明記しておくといいよ。(図3.1.2)
 

図3.1.2 Chen君が作成したユースケース図(その2): 「注文管理システム」 

use2
junmanzo
 
Prev. Next Home Top