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
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
haru860
December 03, 2025
Programming
410
0
Share
モデル駆動設計をやってみよう ワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
Modeling Forum2025のワークショップの開催報告資料です。
https://umtp-japan.org/event-seminar/mf2025/76609
haru860
December 03, 2025
More Decks by haru860
See All by haru860
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
720
匠Method Agentのご紹介 / Introducing Takumi Method Agent
haru860
0
83
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
350
BPStudy#213〜ビジネスアナリシスとDDD(ドメイン駆動設計)パネルディスカッション資料 / BPStudy213-panel
haru860
0
550
見積り、計画の考え方や手法についてビープラウドの場合を紹介します/ introduce-the-concept-and-method-of-estimation-and-planning-in-the-case-of-BeProud
haru860
8
3.6k
U理論で深まる匠Method のモデリングプロセス / the modeling process of the Takumi Method deepened by theory-U
haru860
3
400
匠Methodで価値創造をファシリーテートする〜イノベーション創造プロセスのU理論をベースに
haru860
0
280
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
4
3.5k
匠MethodとRDRAとICONIXとDDDで実現する一気通貫オブジェクト指向開発
haru860
4
5.8k
Other Decks in Programming
See All in Programming
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.2k
Vibe NLP for Applied NLP
inesmontani
PRO
0
500
ハーネスエンジニアリングとは?
kinopeee
13
6.2k
CDK Deployのための ”反響定位”
watany
5
860
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
1k
GitHubCopilotCLIをはじめよう.pdf
htkym
0
280
実用!Hono RPC2026
yodaka
2
270
Don't Prompt Harder, Structure Better
kitasuke
0
790
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
890
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
Making the RBS Parser Faster
soutaro
0
540
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
180
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.9k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
Documentation Writing (for coders)
carmenintech
77
5.3k
Designing for Performance
lara
611
70k
Mind Mapping
helmedeiros
PRO
1
170
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
350
Paper Plane
katiecoart
PRO
1
49k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Transcript
モデル駆動設計をやってみよう ワークショップ開催報告 UMTP モデリングフォーラム 2025
ワークショップ開催報告 アジェンダ • 講師、日時/会場/進行/ワークショップの様子 • ワークショップの内容 • ワークショップアンケート結果 • 開催しての感想
2
ワークショップ開催報告 アジェンダ • 講師、日時/会場/進行/ワークショップの様子 • ワークショップの内容 • ワークショップアンケート • 開催しての所感
3
講師 4
日時/会場/進行 2025年11月17日(月) 13:00-17:00 会場:NEC様 本社 • ワークショップ内容説明 13:00〜13:15 • モデリング
13:15〜16:15 • 増田亨さんレビュー(3組) 16:15〜17:00 5
ワークショップの様子 6 2〜4人のテーブルに分かれてワーク& 議論
ワークショップの様子 7 2〜4人のテーブルに分かれてワーク& 議論
ワークショップ開催報告 アジェンダ • 講師、日時/会場/進行/ワークショップの様子 • ワークショップの内容 • ワークショップアンケート結果 • 開催しての所感
8
9 導入部:モデリング駆動設計とは
10 候補日 佐藤さん 鈴木さん 高橋さん 12月3日 〇 〇 × 12月7日
〇 〇 〇 12月8日 × 〇 〇 12月7日に決定! なぜ? モデリングテーマの説明:日程調整
テーマ(シンプル版) 12月7日に決定するルールを、プログラミング言語で 表現してください ① 判断の元になる情報(日程調整表)を、プログラミン グ言語でどう表現するか? ② 判定結果を、プログラミング言語でどう表現するか? ③ 判定ロジックをどう記述するか?
11
日程の決定ルールを少しずつ複雑に a. 全員参加できる候補日が複数あった場合の決定ルール (例えば、最早)を追加 b. 出欠回答に△(出席可能だができれば避けたい)を追 加し、◦△×を重みづけし参加可能人数の期待値が最 大の候補日に決定するルールを追加 c. 最大の期待値が一定以下の場合は再調整と判定する
ルールを追加 12
ワークショップ開催報告 アジェンダ • 講師、日時/会場/進行/ワークショップの様子 • ワークショップの内容 • ワークショップアンケート結果 • 開催しての所感
13
申込、出席数(アンケート回収数) • 申込者数:26 • 出席者数:23 • アンケート回収数:15 14
ワークショップアンケート 15
ワークショップアンケート 16 経験あり 経験なし
ワークショップアンケート 17 3年以上 1〜3年 1年未満 なし
ワークショップアンケート 18
ワークショップアンケート 19
ワークショップアンケート 20 非常に満足 満足 普通 不満
何を使ってモデリングしたか 21 • Java:10 • Go :5 • UML:5 •
C#:3 • Python:2 • Ruby:2 • Mermeid:2
参加者のコメント要約(プラス) 22 • 最後の増田さんの講評が非常に良かった。 • 他の人のモデリングへの意見や解釈、感覚を知れたのが収穫 • 人間が何となく見て分かる表からモデル、コードに落とし込む作業が予 想以上に大変で勉強になった •
モデル(仕様)をコードで表現するという観点を強く意識する機会となっ た • 集中して取り組む時間になった
参加者のコメント要約(伸びしろ) 23 • 増田さんならどのようなコードになるのかを見てみたかった • 増田さんの講評を受けたかった(講評の時間を長くしてほしい) • コードによるモデリング方法の具体的な説明がなく、モデル駆動設計の解像度が上がらなかった。 • コードのみでドメインのルールがわかるようにというのは全面的に同意するが、モデル駆動では
ないのでは • コードではなくても(例:クラス図)、レビューしてほしかった • チーム分けで得られるものが異なる。同じ境遇の人が多く、同じような設計になってしまった • テーブル以外のメンバーと話す機会がなかった • スタッフのおしゃべりが気になる時があった
ワークショップ開催報告 アジェンダ • 講師、日時/会場/進行/ワークショップの様子 • ワークショップの内容 • ワークショップアンケート結果 • 開催しての所感
24
開催しての感想 25 • モデリングを「頭で理解する」のと「体得」の間には崖がある • モデリングの「体得」のきっかけとしてワークショップは価値がある • モデリングを「体得」する必要があるのか
(DDDの)モデル駆動開発のポイント 26 モデル = コード モデル=コードである
モデル=コード 27
(DDDの)モデル駆動開発のポイント 28 事業、業務を表現する 事業、業務を表現する モデル = コード
モデル=コードにするテクニック(DDD) 29 モデル = コード 事業、業務を エンティティ、値オブジェクト、 ユビキタス言語(同じ言葉) で表現する 事業、業務を表現する
「モデル=コード」では無くなる時 30 手続き型で 処理を記述する 事業、業務を表現する モデル ≠ コード
モデリングを「頭で理解する」のと「体得」の間には崖がある 実践してみると・・・(今回のワークショップでのレビュー指摘事項の例) ・コードが意図を語っていない(処理は書いてある) ・重要概念がクラスではなく、プリミティブ型の変数で表現されている ・コメントで重要概念を説明しているが、コード上では表現されていない やってみると 頭で理解
モデリングのワークショップは、 体得のきっかけとして価値がある 実践 ・ワークショップで実践 ・自分で書いてみる ・実プロジェクトで実装 ・師に習う 頭で理解 体得
生成AIがモデリングをするにしても、 人が体得することは必要 生成AIがモデリング ↓ AIがつくったモデルの良し悪しを判断できない ↓ 知らぬうちに、歪んだ設計がソフトウェアに埋め込まれる(AIで動くものはつくれる) ↓ ソフトウェアの内側から劣化する。 ↓
開発生産性や品質が低下し、事業に悪影響
生成AIがモデリングをするにしても、 人が体得することは必要 生成AIがモデリング ↓ AIがつくったモデルの良し悪しを判断し、最終的に受け入れ判断 ↓ ソフトウェアの内側が、きれいに保たれる ↓ 変更容易性が高まり、開発生産性が上がり、事業に貢献
参加者の方々、会場を貸していただいたNEC様、 UMTP運営の方々、ワークショップを告知頂いた方々.. ありがとうございました! 35