Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ユースケースシナリオのススメ

男爵
March 26, 2021

 ユースケースシナリオのススメ

PHPerKaigi2021の登壇資料です。
補足資料はこちら https://dnskimox.hateblo.jp/entry/2020/12/19/184101

男爵

March 26, 2021
Tweet

More Decks by 男爵

Other Decks in Programming

Transcript

  1. 2. シナリオテンプレートに従う ユースケース名:XXXをXXXする 事前条件 - XXXであること 主成功シナリオ 1. アクターは〜する 2.

    システムは〜する 3. アクターは〜する 4. システムは〜する 拡張 2a. XXXがXXXの場合: システムは〜する アクターは〜する 1に戻る 事後条件 - XXXであること 晴れの日のシナリオ 雨の日のシナリオ
  2. 2. シナリオテンプレートに従う ユースケース名:ショッピングカートに商品を追加する 事前条件 - 対象の商品が公開中であること 主成功シナリオ 1. 買い物客は商品と購入数を選択する 2.

    システムは商品の在庫状況を確認する 3. システムはショッピングカートにカート品目を追加する 4. システムは「ショッピングカート」画面に遷移する 5. 買い物客はショッピングカートの中身を確認する 拡張 2a. 商品の在庫が購入数未満だった場合: システムは「在庫が足りません」というエラーを表示する ユースケースを終了する 事後条件 - カート品目が一件増えていること - 対象の商品の在庫はまだ減っていないこと
  3. CRCカードで用意するもの 1. 情報カード 2. 鉛筆 3. 消しゴム Amazon | コレクト

    情報カード 5×3 補助 6ミリ罫 C-532 | 文房具・オフィス用品 | 文房具・オフィス用品
  4. CRCカードの手順 1. 参加者はクラスの候補をカードに記入する a. 表面にはクラスの概要や不変条件を自由に書く 2. 裏面に責務とコラボレーターを書く a. 書ききれない責務は別のクラスを作って移譲する 3.

    コンピュータになったつもりで、カードをオブジェクトに見立て てシナリオを実行してみる(ウォークスルー) a. オブジェクトは自身の責務以外のことはできない b. オブジェクトはコラボレーター以外と対話できない 4. 最後のステップに到達したら、事後条件を達成しているかど うかを確認する 5. 最後のステップまで到達できなかったり、事後条件を達成で きなかった場合、1に戻って考え直す
  5. 参考文献 ▸ 『オブジェクトデザイン』 ▸ 『UMLモデリングのエッセンス 第3版』 ▸ 『ユースケース実践ガイド』 ▸ 『ユースケース駆動開発実践ガイド』

    ▸ 『オブジェクト指向入門 第2版 方法論・実践』 ▸ ユースケース - Wikipedia ▸ イヴァー・ヤコブソン - Wikipedia ▸ CRCカードでチームが協働して設計する ▸ 「形式的」とは何だろう