設計の知識と技能で駆動するソフトウェア開発
#ソフトウェア設計 #ドメイン駆動設計(DDD) #ビジネスプロセス #ビジネスルール
#共有する
https://speakerdeck.com/masuda220/software-development-driven-by-design-knowledge-and-skills
モジュールの設計スタイル
このスライドの論点(いかにしてモジュール化するか)はほぼこのページが全てのような気がする。
https://scrapbox.io/files/66d41af4d09c27001cd5d8ac.png
- 抽象データ型で事業活動の値とビジネスルールをカプセル化
- ビジネスルールに基づく計算判断を独立させ
- 宣言的な記述で認知負荷を下げ
- 値オブジェクト・エンティティ→集約でビジネスルール→ビジネスプロセス→ビジネス機能のように構成
モデル駆動設計 6つのモデル・6つの設計
IPAの超上流~による用語定義と若干の齟齬。
- 業務ロジック→ビジネスルール
- 業務機能→ビジネスプロセス
サービス>ビジネス機能は「基本設計」の段階で構造化されているものと考えられる。
全体
事業活動モデル 基本設計(システム全体を設計するアーキテクティングのイメージだろうか)
コア(中央)
業務ロジックモデル ドメイン層のクラス設計
業務機能モデル アプリケーション層のクラス設計
アダプター
記録モデル データベーススキーマ設計
連携モデル プロトコル設計(IF設計)
対話モデル インタラクション設計(UI/UX設計)