ユース ケース と は。 ユースケース図とユースケース記述の作成

【新人教育 資料】第5章 UMLまでの道 〜ユースケース図の説明&書いてみよう編〜

ユース ケース と は

UML 2章 ユースケース図• 4 2. 1 ユースケース図とは ユースケース図は、システムに対する要件を特定するために使用する図です。 システムがどんな機能を持つのか、操作した場合にどのように反応するのか、システムの外部からみた振る舞いをわかりやすい図で表します。 ユースケース図は、通常システム開発初期の要件定義の段階で使用します。 2 ユースケース図のコンポーネント ユースケース図は、以下の3つのものでシステムの振る舞いを表現します。 アクター• ユースケース 対象とは、ユースケース図で表現したいシステムを指します。 アクターとは、対象の外部の存在で、対象に対して何かの処理を行うもののことを言います。 システムを操作するユーザや対象のシステムにデータを送信する他のシステムなどは、アクターと呼ばれます。 アクターが対象を操作したときに、対象がどのように振舞うのか、その振る舞いを「ユースケース」といいます。 「宿泊予約システム」を例に説明します。 宿泊予約システムは、以下のようなシステムです。 「宿泊予約システム」とは、顧客がWebを通して宿泊の予約を行うことができるシステムです。 顧客は、宿泊予約システムを通して「宿泊予約」「宿泊予約の変更」「宿泊予約の取り消し」 「予約状況の確認」などの作業を行うことができます。 また、宿の管理者も「宿泊予約システム」を利用し、現在の予約状況を確認することができます。 さらに、宿泊予約システムでは、予約情報を随時、業務分析システムに送信します。 上のような宿泊予約システムの場合、「対象」「アクター」「ユースケース」は何になるでしょうか。 まず、「対象」は「宿泊予約システム」です。 それでは「アクター」が何になるのでしょうか。 対象である宿泊予約システムを操作するのは、予約を行う「顧客」と予約状況を確認する「管理者」です。 よって、「顧客」「管理者」はアクターになります。 さらに、「宿泊予約システム」と情報のやり取りをする「業務分析システム」も、「対象に対して操作を行う外部の存在」ですので、アクターになります。 最後に、ユースケースを洗い出して見ましょう。 「宿泊予約システム」は、以下の機能を持つシステムです。 宿泊予約をする• 宿泊予約を変更する• 宿泊予約を取り消す• 予約状況を確認する• 予約情報を取得する これらの機能が「ユースケース」です。 まとめると、以下のようになります。 対象 宿泊予約システム アクター 顧客・管理者・業務分析システム ユースケース 宿泊予約をする 宿泊予約を変更する 宿泊予約を取り消す 予約状況を確認する 予約情報を取得する.

次の

良いユースケースを書くための発想法

ユース ケース と は

ユースケーステストとシナリオテストの違いを意識していますか? ユースケーステストとシナリオテストは、ブラックボックステストに分類されるテスト設計技法ですが、両者が区別されずに扱われることも多く、テストに長年携わっていてもよく分かっていないエンジニアは少なくありません。 ユースケーステストとシナリオテストの違い、およびユースケースの記述方法を解説します。 一方シナリオそのものは、アクターとテスト対象との間の一連の手順を表したものですが、非公式な(文書化されない、管理されない、レビューされないような)扱われ方をされる傾向が高く、またやみくもにテストの観点を入れることで発散や偏りを生じさせてしまう傾向も高いです。 ユースケースは、シナリオそのものよりも公式的に扱いやすくし、ステークホルダーの要求を引き出すことや確認することができるツールです。 ユースケースドキュメントやユースケース図などの形式で表現できます。 ユースケースの観点で列挙されたシナリオに対するカバレッジを求めることができます。 また、 やみくもにテストケースが発散してしまうことを防ぐことができ、逆にユースケースの観点における、シナリオの列挙漏れなどの欠陥を検出することも期待できます。 トレーサビリティが確保されれば、要求の重要度に基づいたテストの優先度付けを行うこともできて、ユースケース図を用いてアクターやユースケース同士の関係を俯瞰することができます。 シナリオテストは、シナリオをベースにテスト設計する技法です。 ユースケーステストも一部にシナリオを使っているため、「ユースケーステストはシナリオテストと同じ」と思われがちですが、ユースケーステストには、シナリオテストにはないトレーサビリティや網羅性の利点があります。 一方、シナリオテストにはユースケーステストにはない利点があり、ユースケースの制約によってユースケースには含まれないようなシナリオをベースに自由度の高いテスト設計ができます。 ユースケースの記述例を解説 ユースケースの記述には、決まった形式はなく、一般的に使われているような記述例を紹介します。 ユースケースは、ステークホルダーの要求を確認するためのツールでもあるため、専門知識がなくても読み取れるような言葉で記載します。 また、あまりに 詳細に書くとかえって要求分析の邪魔になってしまうため、流れが明確に分かる程度で記載するようにします。 商品を買い物カートへ入れる際の動作をもとにした、ユースケースをご紹介します。 1 a サイズを変更する 3. 2 a ステップ2へ戻る 例外フロー ステップ アクション 4. 1 b 在庫がなくなる 4. 2 b カートへ入れるボタンをクリックする 4. 3 b 在庫がなくカートへ入れられなかったことをユーザーへ通知する 4. 4 b 通知の確認ボタンをクリックする 4. 5 b 売り切れの画面を表示する 補足 買い物カートに入れると在庫数量が減少する ユースケース名 ユースケースの内容が一目で分かる名前を記載します。 ユースケース図でも表示するため、「... する」のように簡潔に書くようにします。 ID ユースケースを一意に決められるIDを記載します。 組織やプロジェクト等の規則に従い管理できるIDにします。 目的 ユースケースを実行する目的を記載します。 したい」、「... するため」のように書くのが一般的です。 アクター ユースケースのテスト対象と相互作用するユーザーやシステムを記載します。 事前条件 ユースケースを実行する前に満たしておくべき条件を記載します。 事後条件 ユースケースを実行した後に満たすべき条件を記載します。 基本フロー ユースケースの目的を達成するために、最も頻繁に実行されるシナリオのステップを列挙するように記載します。 アクターが複数ある場合は、アクターを主語として明示し、アクターのアクションを記載します。 基本フローは、主要フローやメインストリーム(JSTQBの定義による)などとも呼ばれます。 代替フロー 基本フロー以外の事後条件を満たすことができる、シナリオのステップを列挙するように記載します。 基本フローから分岐する場合は、分岐が分かるようにステップ番号などを書きます。 例外フロー 事後条件を満たすことができないシナリオのステップを列挙するように記載します。 この記載方法の例では例外フローを区別して記載しましたが、区別せずに代替フローに含める記載方法もあります。 補足 フローに書ききれない詳細や非機能仕様など、テスト実行時の補足になる内容を記載します。 以上がユースケースの記述方法の例です。 おわりに• ユースケースとは、要求やシナリオの集合を扱いやすくしたツール• ユースケーステストとは、ユースケースをテストベースとしたテスト設計技法• ユースケーステストとシナリオテストには、網羅性などの違いがある• ユースケースの記述方法の例示 ここまで、ユースケースとシナリオテストの違い、およびユースケースの記述方法について解説してきました。 シナリオを利用しながら要求や仕様を満たしていることを網羅的にテストしたい場合はユースケーステストが、経験やリスクなどからピンポイントのシナリオを作成してテストしたい場合にはシナリオテストがおすすめです。

次の

ユースケース記述(ゆーすけーすきじゅつ)

ユース ケース と は

システムの要求仕様を決めるのに、ユースケースを使うことがよくあります。 しかし、ユースケースは上手く書けない、何を書けば良いのか分からない、という人も、少なくありません。 たいていのユースケースは、アクターが1人2人いて、アクターが行える操作がいくつか丸で描かれて、それらが線で結ばれているだけの、とてもシンプルなものです。 しかし、シンプルすぎて、何の役に立つのか分からない、という人もいます。 役に立つユースケースを書こうとして、細かいことまで書き込みすぎてしまう人も良く見かけます。 しかし、それは誤りです。 ユースケースは何のために書くのでしょうか。 ここでは、ユースケースの目的をはっきりさせて、良いユースケースを書くための考え方を紹介します。 Design Wave Magazine 2007年5月号別冊付録「組み込みシステム開発者&LSI設計者のためのUMLガイド」という冊子(以下、UMLガイド)に、自動販売機のユースケースの例が載っていますので、紹介しましょう。 自動販売機の仕様を決めるにあたって、どのようなユースケースを書けば良いでしょうか。 UMLガイドには、間違ったユースケースの書き方として、下記の例が載っています。 この例のように、開発者は、システムの詳細な機能やモジュール構成など、細かいことまでユースケースに書き込んでしまうことが多いようです。 これからどうやってシステムを作っていけば良いかを、どうしても考えてしまうためでしょう。 しかし、仕様を決めるために書くユースケースは、アクターが本当にやりたいことを、アクターの視点から示すものでなければなりません。 自動販売機の正しいユースケースとして、UMLガイドでは下記の図が紹介されています。 正しいユースケースは、拍子抜けするほどシンプルなものになることもあります。 とはいえ、「商品を購入する」としか書かれていないこのユースケースが、正しい、と言われても、ピンとこない開発者も多いことでしょう。 このユースケースを渡されて、「ユースケースはできたから、さっそく作り始めよう」と言われても、困ってしまいます。 そもそも、こんなもので仕様が決まったと言えるのでしょうか? もちろん、このユースケースは、自動販売機の仕様をすべて表してはいません。 自動販売機を作るのであれば、これから、膨大な機能仕様を決めていかなくてはならないでしょう。 だったら、こんな絵を書いている暇があったら、最初から詳しい機能仕様書を書いていった方がマシ、と思うかもしれません。 しかし、そう思うのは、ユースケースの目的を誤解しているためです。 ユースケースとは、アクターがシステムを使って何ができるか、を表したものです。 しかし、それをユースケースの目的だと考えてしまうと、却ってうまくいきません。 そこで、発想の転換をします。 ユースケースの目的は、むしろ、システムを使って何ができないのか、を決めることにある、と考えるのです。 そう考えることで、ユースケースを書く意味が見えてきます。 システムの要求仕様を決める手順を思い返してみましょう。 まずは、顧客から話を聞いて、顧客が何を求めているのかを把握します(要求分析)。 次に、顧客の要求の中から、実際にシステムとして作るものを決めます(要件定義)。 たいてい、開発するシステムは、顧客の要求をすべて叶えるものにはなりません。 スケジュールや予算の都合だったり、別のシステムを使ったり、人間がコンピュータを使わずに行う方が良かったり、理由はさまざまですが、いずれにせよ、開発するシステムは、顧客のワークフローの一部分だけを担うものとなります。 そのため、システムの要求仕様を決める上では、どこからどこまでがシステムで扱う範囲なのか、を明確にすることが大切です。 即ち、ワークフローにおけるシステムの位置付けや、システム外部との境界を決めること、これが、ユースケースの目的です。 さきほどの自動販売機の例で言えば、ユースケースは、自動販売機を使って『「商品を購入する」ことしかできない』、ということを表しています。 このように、広く浅く考えを広げて、顧客の要求をなるべく拾い上げてから、その上で、実際に開発するシステムの範囲を限定する、というアプローチを採ると、ユースケースを書きやすくなります。 範囲を限定した結果がユースケースに示されているので、一見、無意味なほどシンプルに見えるのです。 しかし、「商品を購入する」とだけ書かれたユースケースから、背後に隠されたできないことまでを読み取るのは、確かに難しいです。 そこで、ユースケースには、要求分析で挙がったユースケースをすべて残しておき、その中で、要件定義で限定したシステムの範囲を、システム境界として示すようにすると良いでしょう。 さきほどの自動販売機の例では、下記のようなユースケースを書いておくと良いでしょう。

次の