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
6.8k
モデル駆動設計への道
・XXコードとの格闘の日々
・混沌からの脱出を目指して
・ICONIXとの出会い
・よい設計・よいモデルをもとめて
・モデル駆動設計
・コードで実践
増田 亨
PRO
December 08, 2021
Tweet
Share
More Decks by 増田 亨
See All by 増田 亨
AI時代の『ドメイン駆動設計をはじめよう』
masuda220
PRO
33
15k
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
25
6.6k
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
27
7.8k
ビジネスモデリング道場 目的と背景
masuda220
PRO
12
1.8k
ソフトウェアエンジニアの成長
masuda220
PRO
14
2.5k
分散型アーキテクチャとドメイン駆動設計
masuda220
PRO
9
3.8k
ソフトウェア開発の複雑さに立ち向かう
masuda220
PRO
13
16k
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
9
1.2k
現場で役立つモデリング 超入門
masuda220
PRO
17
4.5k
Other Decks in Technology
See All in Technology
ビジネス職が分析も担う事業部制組織でのデータ活用の仕組みづくり / Enabling Data Analytics in Business-Led Divisional Organizations
zaimy
1
220
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
970
20250705 Headlamp: 專注可擴展性的 Kubernetes 用戶界面
pichuang
0
290
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
54
21k
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
390
いつの間にか入れ替わってる!?新しいAWS Security Hubとは?
cmusudakeisuke
0
140
SREのためのeBPF活用ステップアップガイド
egmc
1
200
shake-upを科学する
rsakata
7
790
オフィスビルを監視しよう:フィジカル×デジタルにまたがるSLI/SLO設計と運用の難しさ / Monitoring Office Buildings: The Challenge of Physical-Digital SLI/SLO Design & Operation
bitkey
1
120
PO初心者が考えた ”POらしさ”
nb_rady
0
220
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
3
190
United™️ Airlines®️ Customer®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedguide
0
420
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Rails Girls Zürich Keynote
gr2m
95
14k
Code Review Best Practice
trishagee
69
19k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Unsuck your backbone
ammeep
671
58k
Navigating Team Friction
lara
187
15k
Thoughts on Productivity
jonyablonski
69
4.7k
Making Projects Easy
brettharned
116
6.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Embracing the Ebb and Flow
colly
86
4.7k
Transcript
モデル駆動設計への道 2021年12月8日 有限会社システム設計 増田 亨 現場から学ぶモデル駆動設計 #6 ユースケース駆動開発をやってみた
XXコードとの格闘の日々 バグだらけ・性能障害・セキュリティ事故多発の 大炎上プロダクトの火消し役の依頼 おおいなる混沌からの脱出の手がかりを求めて…
ちゃんと設計しよう! しかし… • 大量のドキュメントを作るほど予算の余裕も時間の余裕もない • 設計できる貴重な人材は火消しに忙殺されている • 設計できる人材を育てる余裕はない • 設計できる人材を外に求めても簡単には採用できない
ICONIXとの出会い 必要最小限のステップで、実用的な設計を、視覚的にできる
ICONIXでやってみた 必要最小限のステップで、実用的な設計を、視覚的にできる そもそも ユースケース をどうやって 見つけるの? ロジック(代替コース/ コントロール)って何? 概念モデルが そのまま
クラスになるの?
よい設計・よいモデルを求めて モデルベース要件定義 ドメインモデル イミュータブルデータモデル 契約による設計 本も書いてみた システム間連携
モデル駆動設計 現在の取り組み
取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース
(業務バリエーション) 業務フロー ビジネスルールの言語化 システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 ドメインモデルの設計と実装 事実の記録(不変) 状態の表現(可変) データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス 収益構造 事業方針 アプリケーションの設計と実装 要件のモデル(RDRA) 事業活動の 仕組と決め事 クラスで表現 区分 計算式 条件 判定表 分類 提示 予定 実行 申込 手配 約束 金額 数量 区分 範囲 集合 判定表 文脈 方針 日付 一覧 履歴 契約 計画 約束 結果 事業活動のモデル(ビジネスコンテキスト)
JIG-ERD コードで 実践