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

僕がユースケース駆動開発をする理由/my-usecase-driven-development

hiro@miraito
December 08, 2021

 僕がユースケース駆動開発をする理由/my-usecase-driven-development

ユースケース駆動開発をなぜやるのか?
どういう利点があるのか。

イベント「ユースケース駆動開発をやってみた」の
登壇資料です。
https://modeling-how-to-learn.connpass.com/event/229330/

hiro@miraito

December 08, 2021
Tweet

More Decks by hiro@miraito

Other Decks in Programming

Transcript

  1. 僕がユースケース駆動開発をする理由 自己紹介 林 宏勝 Twitter : @hirodragon112 株式会社ミライトデザイン CEO OOP/DDD/CQRS/ICONIX/Agile/

    PHP/RDRA/らへんが好き 上流から下流まで色々やります。 Object-Oriented Conference2021 主催 勉強会 : ペチオブ Youtube : https://www.youtube.com/c/MiraitoDesignInc
  2. 僕がユースケース駆動開発をする理由 何を作ればよいのか どう作ればよいのか 何をしたい? どう使う? 誰が使う? 何を実現したい? 言語仕様 アーキテクチャ システム設計

    データベース設計 予算 期間 チーム管理 資産管理 ドキュメント リリース CI/CD セキュリティ 運用方法 メンテナンス 老朽化 監視 他にも… テスト戦略 システム開発の難しさ
  3. 僕がユースケース駆動開発をする理由 ドメインロジック ドメイン ドメインロジック ドメインロジック ドメイン ドメインロジック - 入力(ユーザー操作やバッチ、APIコールなど) をきっかけに動作する

    - 独立した演算群(ドメインロジック)とその他ア プリケーションロジック(永続化など)を適切な 順番で呼び出し処理を行う - 結果を出力として返却する よくあるシステムの内部 入力 永続化 出力 必要な順序で演算組み合わせる 参照 外部 連携
  4. 僕がユースケース駆動開発をする理由 ドメインロジック ドメイン ドメインロジック ドメインロジック ドメイン ドメインロジック ドメインロジック = 独立した演算

    ドメイン毎に分類された演算群 システムのコアとなるもの 関数のようなもの。 入力に対して演算結果を返す事が役割 Ex : 美容院の予約システム - 予約枠はあいているか - 予約受付時間か - 施術時間の合計は何分か - ポイントが何ポイントたまるか etc よくあるシステムの内部 ドメインオブジェクト
  5. 僕がユースケース駆動開発をする理由 ドメインロジック ドメイン ドメインロジック ドメインロジック ドメイン ドメインロジック システムに必要な各要素を - 必要な処理を

    - 適切な順番で 呼び出す。 いわば司会進行票 よくあるシステムの内部 入力 永続化 出力 必要な順序で演算組み合わせる 参照 外部 連携
  6. 僕がユースケース駆動開発をする理由 RDRA - 物事の関係性に着目した要件定義時のモデリング手法 - 要求 - 業務 - BUC(ビジネスユースケース)を関連付け

    - システム境界を認識しアクターを整理できる ユースケースから大本の要求にまで関連をたどる事ができる 神崎善司 著