Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) ...
Search
haru860
December 03, 2025
Programming
0
0
モデル駆動設計をやってみよう ワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
Modeling Forum2025のワークショップの開催報告資料です。
https://umtp-japan.org/event-seminar/mf2025/76609
haru860
December 03, 2025
Tweet
Share
More Decks by haru860
See All by haru860
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
220
BPStudy#213〜ビジネスアナリシスとDDD(ドメイン駆動設計)パネルディスカッション資料 / BPStudy213-panel
haru860
0
520
見積り、計画の考え方や手法についてビープラウドの場合を紹介します/ introduce-the-concept-and-method-of-estimation-and-planning-in-the-case-of-BeProud
haru860
8
3.4k
U理論で深まる匠Method のモデリングプロセス / the modeling process of the Takumi Method deepened by theory-U
haru860
3
350
匠Methodで価値創造をファシリーテートする〜イノベーション創造プロセスのU理論をベースに
haru860
0
250
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
4
3k
匠MethodとRDRAとICONIXとDDDで実現する一気通貫オブジェクト指向開発
haru860
4
5.6k
私の積読解消法
haru860
0
230
将棋を上達しようとおもった2つのショックと上達の取り組み
haru860
0
200
Other Decks in Programming
See All in Programming
CSC305 Lecture 15
javiergs
PRO
0
230
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
130
AWS CDKの推しポイントN選
akihisaikeda
1
230
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
160
CSC509 Lecture 14
javiergs
PRO
0
210
Micro Frontendsで築いた 共通基盤と運用の試行錯誤 / Building a Shared Platform with Micro Frontends: Operational Learnings
kyntk
1
1.9k
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
24
20k
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
270
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.9k
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
330
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
840
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
180
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Navigating Team Friction
lara
191
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Balancing Empowerment & Direction
lara
5
780
Building an army of robots
kneath
306
46k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
What's in a price? How to price your products and services
michaelherold
246
12k
RailsConf 2023
tenderlove
30
1.3k
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