Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
モデル駆動設計への道
Search
増田 亨
PRO
December 08, 2021
Technology
6
7.1k
モデル駆動設計への道
・XXコードとの格闘の日々
・混沌からの脱出を目指して
・ICONIXとの出会い
・よい設計・よいモデルをもとめて
・モデル駆動設計
・コードで実践
増田 亨
PRO
December 08, 2021
Tweet
Share
More Decks by 増田 亨
See All by 増田 亨
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
550
技術書を効果的に内面化する実践技法
masuda220
PRO
32
10k
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
20
12k
ソフトウェア設計とAI技術の活用
masuda220
PRO
31
8.2k
AI時代の『ドメイン駆動設計をはじめよう』
masuda220
PRO
42
20k
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
27
7.4k
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
28
8.6k
ビジネスモデリング道場 目的と背景
masuda220
PRO
12
2k
ソフトウェアエンジニアの成長
masuda220
PRO
14
2.7k
Other Decks in Technology
See All in Technology
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
240
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
200
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
230
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
2
590
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
120
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
1
140
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
700
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
370
『OCI で学ぶクラウドネイティブ 実践 × 理論ガイド』 書籍概要
oracle4engineer
PRO
3
170
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
3.2k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
130
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Practical Orchestrator
shlominoach
190
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
We Have a Design System, Now What?
morganepeng
53
7.8k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Transcript
モデル駆動設計への道 2021年12月8日 有限会社システム設計 増田 亨 現場から学ぶモデル駆動設計 #6 ユースケース駆動開発をやってみた
XXコードとの格闘の日々 バグだらけ・性能障害・セキュリティ事故多発の 大炎上プロダクトの火消し役の依頼 おおいなる混沌からの脱出の手がかりを求めて…
ちゃんと設計しよう! しかし… • 大量のドキュメントを作るほど予算の余裕も時間の余裕もない • 設計できる貴重な人材は火消しに忙殺されている • 設計できる人材を育てる余裕はない • 設計できる人材を外に求めても簡単には採用できない
ICONIXとの出会い 必要最小限のステップで、実用的な設計を、視覚的にできる
ICONIXでやってみた 必要最小限のステップで、実用的な設計を、視覚的にできる そもそも ユースケース をどうやって 見つけるの? ロジック(代替コース/ コントロール)って何? 概念モデルが そのまま
クラスになるの?
よい設計・よいモデルを求めて モデルベース要件定義 ドメインモデル イミュータブルデータモデル 契約による設計 本も書いてみた システム間連携
モデル駆動設計 現在の取り組み
取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース
(業務バリエーション) 業務フロー ビジネスルールの言語化 システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 ドメインモデルの設計と実装 事実の記録(不変) 状態の表現(可変) データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス 収益構造 事業方針 アプリケーションの設計と実装 要件のモデル(RDRA) 事業活動の 仕組と決め事 クラスで表現 区分 計算式 条件 判定表 分類 提示 予定 実行 申込 手配 約束 金額 数量 区分 範囲 集合 判定表 文脈 方針 日付 一覧 履歴 契約 計画 約束 結果 事業活動のモデル(ビジネスコンテキスト)
JIG-ERD コードで 実践