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
4
5.1k
モデル駆動設計への道
・XXコードとの格闘の日々
・混沌からの脱出を目指して
・ICONIXとの出会い
・よい設計・よいモデルをもとめて
・モデル駆動設計
・コードで実践
増田 亨
PRO
December 08, 2021
Tweet
Share
More Decks by 増田 亨
See All by 増田 亨
開発活動の参照モデルを使ったベンチマーキングと最適化
masuda220
PRO
4
540
設計の知識と技能で駆動するソフトウェア開発
masuda220
PRO
20
18k
マネジメントの知識がドメイン駆動設計を加速する.pdf
masuda220
PRO
1
560
これだけは知っておきたいクラス設計の基礎知識
masuda220
PRO
45
28k
良い設計と悪い設計の違い
masuda220
PRO
19
20k
設計の考え方とやり方
masuda220
PRO
85
50k
設計の学び方:自分流のススメ
masuda220
PRO
15
9.8k
ドメインモデル方式のクラス設計 座談会
masuda220
PRO
5
2.5k
モデリングの費用対効果
masuda220
PRO
6
1.8k
Other Decks in Technology
See All in Technology
止まらないLinuxシステムを構築する_高信頼性クラスタ入門
koedoyoshida
3
2.3k
類似ロジック実装をiOS/Android間で合わせる道標No.1
fumiyasac0921
0
130
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
500
競技としてのKaggle、役に立つKaggle
yu4u
7
2.5k
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
520
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.8k
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
200
さらばあのボタンとは言わせない SORACOM LTE-M Button powerd by AWSをまだ使えるようにした(前編?)
miura55
0
110
Handling focus in 2024
tahia910
0
550
Azureの基本的な権限管理の勉強会
yhana
1
2.2k
【SORACOM UG 東海】あらゆるモノがつながる社会へ、IoT と SORACOM
soracom
PRO
1
160
One engineer company with Ruby on Rails
rstankov
2
460
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Happy Clients
brianwarren
92
6.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
Docker and Python
trallard
35
2.7k
The Cost Of JavaScript in 2023
addyosmani
21
3.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
Automating Front-end Workflow
addyosmani
1357
200k
Clear Off the Table
cherdarchuk
85
310k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.1k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
GraphQLとの向き合い方2022年版
quramy
33
12k
Transcript
モデル駆動設計への道 2021年12月8日 有限会社システム設計 増田 亨 現場から学ぶモデル駆動設計 #6 ユースケース駆動開発をやってみた
XXコードとの格闘の日々 バグだらけ・性能障害・セキュリティ事故多発の 大炎上プロダクトの火消し役の依頼 おおいなる混沌からの脱出の手がかりを求めて…
ちゃんと設計しよう! しかし… • 大量のドキュメントを作るほど予算の余裕も時間の余裕もない • 設計できる貴重な人材は火消しに忙殺されている • 設計できる人材を育てる余裕はない • 設計できる人材を外に求めても簡単には採用できない
ICONIXとの出会い 必要最小限のステップで、実用的な設計を、視覚的にできる
ICONIXでやってみた 必要最小限のステップで、実用的な設計を、視覚的にできる そもそも ユースケース をどうやって 見つけるの? ロジック(代替コース/ コントロール)って何? 概念モデルが そのまま
クラスになるの?
よい設計・よいモデルを求めて モデルベース要件定義 ドメインモデル イミュータブルデータモデル 契約による設計 本も書いてみた システム間連携
モデル駆動設計 現在の取り組み
取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース
(業務バリエーション) 業務フロー ビジネスルールの言語化 システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 ドメインモデルの設計と実装 事実の記録(不変) 状態の表現(可変) データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス 収益構造 事業方針 アプリケーションの設計と実装 要件のモデル(RDRA) 事業活動の 仕組と決め事 クラスで表現 区分 計算式 条件 判定表 分類 提示 予定 実行 申込 手配 約束 金額 数量 区分 範囲 集合 判定表 文脈 方針 日付 一覧 履歴 契約 計画 約束 結果 事業活動のモデル(ビジネスコンテキスト)
JIG-ERD コードで 実践