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
7.6k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モデル駆動設計への道
・XXコードとの格闘の日々
・混沌からの脱出を目指して
・ICONIXとの出会い
・よい設計・よいモデルをもとめて
・モデル駆動設計
・コードで実践
増田 亨
PRO
December 08, 2021
More Decks by 増田 亨
See All by 増田 亨
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
SCSD:事業価値を生み出すソフトウェア開発の実践技法
masuda220
PRO
4
220
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
8
1.4k
競争優位を生み出す戦略的内製開発の実践技法
masuda220
PRO
4
720
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
30
24k
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
38
18k
ドメイン駆動設計のエッセンス
masuda220
PRO
20
8.8k
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
13
2.8k
ソフトウェア設計の実践的な考え方
masuda220
PRO
6
1.1k
Other Decks in Technology
See All in Technology
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
550
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
220
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
2.1k
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
290
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
240
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
3
430
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
250
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
140
ゼロをイチにする仕事が終わったあと
smasato
0
290
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
0
180
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
380
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
220
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.3k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
440
WENDY [Excerpt]
tessaabrams
11
38k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
240
GitHub's CSS Performance
jonrohan
1033
470k
Facilitating Awesome Meetings
lara
57
7k
RailsConf 2023
tenderlove
30
1.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Transcript
モデル駆動設計への道 2021年12月8日 有限会社システム設計 増田 亨 現場から学ぶモデル駆動設計 #6 ユースケース駆動開発をやってみた
XXコードとの格闘の日々 バグだらけ・性能障害・セキュリティ事故多発の 大炎上プロダクトの火消し役の依頼 おおいなる混沌からの脱出の手がかりを求めて…
ちゃんと設計しよう! しかし… • 大量のドキュメントを作るほど予算の余裕も時間の余裕もない • 設計できる貴重な人材は火消しに忙殺されている • 設計できる人材を育てる余裕はない • 設計できる人材を外に求めても簡単には採用できない
ICONIXとの出会い 必要最小限のステップで、実用的な設計を、視覚的にできる
ICONIXでやってみた 必要最小限のステップで、実用的な設計を、視覚的にできる そもそも ユースケース をどうやって 見つけるの? ロジック(代替コース/ コントロール)って何? 概念モデルが そのまま
クラスになるの?
よい設計・よいモデルを求めて モデルベース要件定義 ドメインモデル イミュータブルデータモデル 契約による設計 本も書いてみた システム間連携
モデル駆動設計 現在の取り組み
取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース
(業務バリエーション) 業務フロー ビジネスルールの言語化 システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 ドメインモデルの設計と実装 事実の記録(不変) 状態の表現(可変) データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス 収益構造 事業方針 アプリケーションの設計と実装 要件のモデル(RDRA) 事業活動の 仕組と決め事 クラスで表現 区分 計算式 条件 判定表 分類 提示 予定 実行 申込 手配 約束 金額 数量 区分 範囲 集合 判定表 文脈 方針 日付 一覧 履歴 契約 計画 約束 結果 事業活動のモデル(ビジネスコンテキスト)
JIG-ERD コードで 実践