畳み込み積分(Convolution)
ユースケース
ユースケースとは、アクターがシステムを使って何ができるか、を表したものです。しかし、それをユースケースの目的だと考えてしまうと、却ってうまくいきません。
そこで、発想の転換をします。ユースケースの目的は、むしろ、システムを使って何ができないのか、を決めることにある、と考えるのです。そう考えることで、ユースケースを書く意味が見えてきます。
システムの要求仕様を決める手順を思い返してみましょう。まずは、顧客から話を聞いて、顧客が何を求めているのかを把握します(要求分析)。次に、顧客の要求の中から、実際にシステムとして作るものを決めます(要件定義)。
たいてい、開発するシステムは、顧客の要求をすべて叶えるものにはなりません。スケジュールや予算の都合だったり、別のシステムを使ったり、人間がコンピュータを使わずに行う方が良かったり、理由はさまざまですが、いずれにせよ、開発するシステムは、顧客のワークフローの一部分だけを担うものとなります。
そのため、システムの要求仕様を決める上では、どこからどこまでがシステムで扱う範囲なのか、を明確にすることが大切です。即ち、ワークフローにおけるシステムの位置付けや、システム外部との境界を決めること、これが、ユースケースの目的です。
さきほどの自動販売機の例で言えば、ユースケースは、自動販売機を使って『「商品を購入する」ことしかできない』、ということを表しています。
ユースケースを書く時は、システムの内部を詳しく分析するのではなく、システムのまわりに広がる外の世界を考える、という発想が必要です。
ユースケースは、システムと外の世界との境界を決めることが目的です。システム境界について、顧客との間に意識のずれがあると、顧客の望むものとは根本的に違った別物を作ってしまうことになります。
詳しい機能仕様書を書くのは、システム境界について、顧客ときちんと合意できてからの話になります。
http://www.aerith.net/design/use-case-j.html
タグ
最新コメント