読者です 読者をやめる 読者になる 読者になる

酔いどれエンジニアのブログ

有限会社wisdomのスタッフブログです。主にプログラミングやアプリケーション開発の話題を書いていきます。

ブログシステムを作りながらRailsを学ぶ(8) ユースケースシナリオを記述する

前回の記事でユースケースを記述しましたが、「コメントをする」というユースケースを忘れておりました。これがないとブログを題材に選んだ意味がないので、ユースケースを修正しました。

ユースケース図

前回作ったユースケース図はテストを作成したいがために作成したのですが、なぜコーディングより先にテストを作成したいかと言うと、先にテストを作成するということは、その機能の仕様を決めるということになるからです。

そして仕様を決めるということは、ゴールを決めるということになります。 ゴールが決まらないと、進む方向が分かりませんし、いつまで経っても完了(到達)しません。

テストを最初に作ると作るものがハッキリしますし、何より出来たという実感が湧くので精神的にとても良いです。

ユースケースからシナリオを作成する

さて、今回はユースケース図を元にユースケースシナリオを作成したいと思います。 ユースケースシナリオを作成することで、テストケースのパターンが明らかになります。 今回は「記事を閲覧する」ユースケースを対象に作成します。

ユースケースシナリオでは、対象となるユースケースを達成するために、ユーザーやシステム等がどういうやり取りを行うのかを記述していきます。ユースケース記述は定められたルールはありませんが、一般的なルールの内シンプルなルールで記述して行きます。

それでは記事を閲覧するために、ユーザーはまず何をするでしょうか。

ユーザーはブログシステムにアクセスする。

このレベルで記述していきます。 なお、ユースケースシナリオは「誰が何をした」という形式で記述していきます。 次に、ブログシステムにアクセスした後は誰が何をするのか、それではその次は、と記述していきます。

以下のようになりました。

1. ユーザーはブログシステムにアクセスする。
2. システムはブログの記事一覧を表示する。
3. ユーザーは見たい記事の「もっと見る」リンクを押下する。
4. システムは選択された記事の詳細を表示する。

   

ユースケースシナリオに代替フローを記述する

基本的なユースケースシナリオは記述しましたが、これで完成とはなりません。 例えばユーザーがブログを見ようとアクセスして来た時に、記事がまだ全くなかったらどうしたら良いのでしょう。 そういった例外的なシナリオを記述していません。例外的なシナリオを記述するには代替フローと呼ばれるものを記述します。

それでは「記事を閲覧する」ユースケースシナリオに代替フローを記述します。

■ 基本フロー
1. ユーザーはブログシステムにアクセスする。
2. システムはブログの記事一覧を表示する。(ex-1
3. ユーザーは見たい記事の「もっと見る」リンクを押下する。
4. システムは選択された記事の詳細を表示する。(ex-2

■ 代替フロー
ex-1) 記事が1件もなかった場合
1. システムは登録されている記事がない旨を表示する。
2. このユースケースを終了する。

ex-2) 選択された記事が削除されていた場合
1. システムは選択した記事は削除された可能性がある旨を表示する。
2. このユースケースを終了する。

   

ユースケースシナリオにシナリオに乗らない部分を追記する

ユースケースシナリオは出来ましたが、作成している途中で気づいた点があります。 それは記事が100件、1,000件と増えていった場合に、どうするかという事です。

100件ならまだ許されるかも知れませんが、1,000件を一度に一覧として表示するというわけにはいきません。というわけで常識的に考えて20件ごとにページを分けるという方法を取りたいと思います。

また一覧に表示する順番は、記事が登録された日時が新しいものから順にすることにします。

ユースケース記述には定められたルールがないのをいいことに、これらを記述しておきます。

■ 基本フロー
1. ユーザーはブログシステムにアクセスする。
2. システムはブログの記事一覧を表示する。(ex-1
3. ユーザーは見たい記事の「もっと見る」リンクを押下する。
4. システムは選択された記事の詳細を表示する。(ex-2

■ 代替フロー
ex-1) 記事が1件もなかった場合
1. システムは登録されている記事がない旨を表示する。
2. このユースケースを終了する。

ex-2) 選択された記事が削除されていた場合
1. システムは選択した記事は削除された可能性がある旨を表示する。
2. このユースケースを終了する。

■付帯事項
・一覧は登録日時順が新しいものから順に表示する。
・一覧に一度に表示する記事の数は20件。
・一覧に表示している記事より古い記事が存在する場合「古い記事」リンクが表示される。
 「古い記事」を押すと表示している記事より古い20件までの記事が表示される。
・一覧に表示している記事より新しい記事が存在する場合「新しい記事」リンクが表示される。
 「新しい記事」を押すと表示している記事より新しい20件までの記事が表示される。

以上です。 次回はテストを作成したいと思います。