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
pbl-pub-2026.pdf
Search
Chiemi Watanabe
August 19, 2026
40
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
pbl-pub-2026.pdf
Chiemi Watanabe
August 19, 2026
More Decks by Chiemi Watanabe
See All by Chiemi Watanabe
ろう・難聴者のコミュニケーションを円滑化する取り組み
chiemi627
0
420
Designing a Self-Regulated and Constructive Database Course for Deaf and Hard-of-Hearing Students
chiemi627
0
200
多様性の高いGatheringを実現する情報保障の試み - RSGT2023 うきうきテーブルで分かったこと -
chiemi627
0
1.1k
AgilePBL(アジャイルなプロジェクトベース学習)を通じて生き生きとした価値創造の場を作る
chiemi627
1
450
息づく学食作りで見えてきた、生き生きとした価値創造を体得する授業とは
chiemi627
4
950
探究とアジャイル
chiemi627
0
3.1k
圧倒的ニーズを持ってて技術力もあったら最強という話
chiemi627
0
160
最強データベース講義について
chiemi627
0
580
アジャイル研究始めたら教員/TA/受験生の関係がフラットになってきた話
chiemi627
0
1.5k
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
250
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Being A Developer After 40
akosma
91
590k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
210
Navigating Weather and Climate Data
rabernat
0
490
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
データベースを「共有」させて PBLをやってみた 文化祭模擬店システム開発の実践と葛藤 渡辺知恵美(筑波技術大学) PBL Pub 2026
PBL Pub 2026: データベースを共有させてPBLをやってみた 自己紹介 渡辺知恵美(ちえみ先生, @chiemi_wtnb) 筑波技術大学で情報科学コースの教員をし ています 長年学生のPBLには関わってきましたが、
実務での開発経験はありません 今日は半分は事例共有、半分は皆さんへの 相談のつもりできました 2
PBL Pub 2026: データベースを共有させてPBLをやってみた 「データベース設計論」という科目 大学の授業は、大きく 講義 / 演習 /
プロジェクト学習 に分かれます。 今日話すのは「演習」の授業を一部PBL風にしてみた話です データベース概論(2年2学期):リレーショナルデータモデルと操作言語。SQL 実践が中心 データベース設計論(3年1学期):自分の好きなデータベースを設計・実装して学 ぶ 3
PBL Pub 2026: データベースを共有させてPBLをやってみた これまでの授業設計と、その課題 やっていたこと:各自が好きな題材を選び、スキーマを設計して実装する これまで感じていたこと 対象がDBスキーマ設計+実装だけなので、自由にやれるが内容が薄い 最後にWeb+DBアプリを作る段階で時間を取られて間延びする 授業外の活動を前提にしたくないので、実装が授業内に収まらない
せっかくDBMSを扱っているのに共有していない 4
PBL Pub 2026: データベースを共有させてPBLをやってみた 話の流れ 1. 授業設計 — 後半をワークショップ化した経緯と、15回の組み方 2.
設計のすり合わせ — 4チームで1つのDBを設計するとどうなるか 3. 実装とデモ — 生成AIでモブ開発/段階的なデモ 4. 文化祭本番 — 当日に起きたこと 5. 皆さんと議論したいこと 5
PBL Pub 2026: データベースを共有させてPBLをやってみた 皆さんに聞きたいこと ① DB設計 → 共有 →
DB開発 → 実装 という順序は、PBLとしてアリか 実際の開発と異なります。実開発に寄せるべきでしょうか? 物を作る前に設計図を睨めっこして議論する時間を長く取るのはどうなの? 特定の技術トピックに絞ってPBLをやる時の勘所 ② 実践的なデータベース設計・運用を扱うPBLなら入れるべき要素 実践的というならこれもやらなきゃ こういうトピック扱ってくれないと 6
PBL Pub 2026: データベースを共有させてPBLをやってみた 方針を変えることになったきっかけ 条件 中身 コーディングが劇的に速くなった。 Coding Agents
設計+実装+実践のサイクルが授業内で数回せそうだと思った 学内共有DB 学内ネットワーク内でのローカルなDB共有が楽にできることが分かった 文化祭実行委員 2年生が文化祭実行委員の中心メンバーであることが分かった 7
PBL Pub 2026: データベースを共有させてPBLをやってみた 題材:文化祭の模擬店で使うシステム 履修者 12人 / 3人×4チーム 運用上は30人くらいでもできそう
4チームが1つの共有データベースに接続する 最終回は教室の中で文化祭の「模擬」模擬店を開催する 4チームの担当 チーム アプリ A 模擬店マップ — 場所、カテゴリ、営業状況(準備中/営業中/売り切れ) B モバイルオーダー — スマホで注文、受渡し可能で通知、支払いは店舗 C 店舗レジ — 対面販売用レジと、モバイル注文の会計確定 D 在庫管理 — 仕入数と注文数から残数を管理 8
PBL Pub 2026: データベースを共有させてPBLをやってみた 授業15回分の構成(90分x2コマ/回) 回 内容 1〜5 講義/演習:教室予約を題材に、要件定義/概念設計(ER図)/スキーマ定義/DB実装 6
アプリ設計:目的/利用の流れの設計 7 DB設計:要件定義/概念設計を、個人ベースからチームへ 8〜9 4チーム合同で設計内容のすり合わせ 10 DB作成・生成データ挿入・利用を想定したSQL実行デモ 11〜13 開発:環境構築/開発スプリント 14 ウォークスルー:注文から受け取り、売切から在庫補充まで 15 文化祭・振り返り 9
PBL Pub 2026: データベースを共有させてPBLをやってみた 前半5回:全員で同じ題材をなぞる 題材:教室の予約システム 要件定義 → ER図による概念設計 →
リレーションスキーマ設計 → DB実装 どの部屋を対象にするか/利用者は誰か は自由に設定 想定する状況が違えばスキーマも変わる、ということ体験 10
PBL Pub 2026: データベースを共有させてPBLをやってみた 要件定義/概念設計: 個人 → チーム → 4チーム全体
科目の目的上、アプリケーションの設計は最小限に 1. 第6回:アプリの要件と利用の流れを設計する 2. 第7回:個人でDB要件定義と概念設計(ER図)した後チーム内で設計 3. 第8〜9回:4チーム全体で擦り合わせ 11
PBL Pub 2026: データベースを共有させてPBLをやってみた 大いに揉めました アカウント管理 店舗単位か個人単位か 管理者アカウントをDBに入れる?店舗として入れる? 注文の扱い 複数の商品を1度に注文するには?
在庫管理の方針 在庫数を持つか、履歴から算出するか 補充や失敗などの扱いは? (教員としては)大いに揉めてもらった 12
PBL Pub 2026: データベースを共有させてPBLをやってみた 13
PBL Pub 2026: データベースを共有させてPBLをやってみた 開発:Coding Agentを生かしてDB設計にフォーカス 最初にデータベースを作ってデータを入れる 設計ドキュメントを参照させ、スモールステップでの開発ステップを相談 3人モブで順番にドライバー交代 ドライバーを中心にやること
プロンプトを作って投げる 実行結果を動かしてみる どこでSQLが使われ、その結果がどう表示されるのかを確認 14
PBL Pub 2026: データベースを共有させてPBLをやってみた Coding Agentの効果 メンバー間のコーディング能力の差が吸収された ドライバーが特定メンバーに「操作される」ことがない 開発が互いの想定や理解、学習内容をすり合わせる時間になった 学習内容の理解という意味では非常に効率的
15
PBL Pub 2026: データベースを共有させてPBLをやってみた 段階的なレビュー(結果的に) 1. 発表者デモ(第12回) 発表者のPCで動かす 2. 実機デモ(第13回)
受講者それぞれのPCやスマホで動かす 3. ウォークスルー(第14回) 実際にモバイルオーダーや店舗で商品を頼む 4. 本番(第15回)— 文化祭 16
PBL Pub 2026: データベースを共有させてPBLをやってみた デモで見つかったこと:注文IDの衝突 第13回のデモで、注文番号の衝突エラーが発覚。 原因:チームによってロックの取り方が違った チーム 採用していた方式 モバイルオーダー
排他ロック( pg_advisory_xact_lock ) 店舗レジ トランザクション(MVCC・行レベルロック) 同じ UNIQUE (shop_id, order_number) を共有していても、 採番の直列化の仕方が揃っていなければ衝突する 17
PBL Pub 2026: データベースを共有させてPBLをやってみた 文化祭を実施 2店舗(たこ焼き・クレープ)を運用 販売セッション(交代して2回実施) 1. 従業員(=他チームの学生)への操作レクチャー 2.
店舗設営/在庫補充 3. 実施 余談 商品は麻雀牌、お金は点棒でしたw お客さんは商品を受け取って"食べたら"倉庫に戻す 売り切れたら倉庫から調達 18
PBL Pub 2026: データベースを共有させてPBLをやってみた 模擬店運営で起きたこと 同じ商品の在庫数が、アプリによって食い違う 在庫数がアプリによって異なる 在庫が減るタイミングが食い違う 受付した時? 会計を確定した時?
受け渡し済みにした時? キャンセルしたのに在庫が減ってる 19
PBL Pub 2026: データベースを共有させてPBLをやってみた 在庫管理トラブルの原因 在庫の変更と売上への追加のタイミングがアプリごとに異なっていた 本番後に振り返りで共有した表 status 状態 在庫を引く
売上の掲載 1 受付済 2 調理中 引く 3 受渡済 載せる 4 キャンセル 5 提供可能 - 調理前にキャンセルされたら在庫は減らないが、その後なら在庫は減る 20
PBL Pub 2026: データベースを共有させてPBLをやってみた 学生の言葉 自分たちのチームだけが正しく動作していても、 それだけではシステム全体が正しいとはいえない。 テーブル名、カラム名、データ型、主キー、外部キーといった構造だけでなく、 「受付済は在庫を減らすのか」「どの時点で売上を確定するのか」といった データの意味と更新規則まで共通の仕様として定めなければならない
21
PBL Pub 2026: データベースを共有させてPBLをやってみた 授業設計のまとめ:導入したこと 導入したこと 補足 共有データベース チーム間の連携を"体験"させるには、これ以上ない題材 実運用の経験
文化祭を想定した実運用を行う。お祭り要素も。 段階を上げるレビュー 発表者デモ → 実機デモ → ウォークスルー → 本番 生成AI+モブ 実装を圧縮し、時間を"理解のすり合わせ"に振り替えられた 22
PBL Pub 2026: データベースを共有させてPBLをやってみた 皆さんにお聞きしたいこと ① 「データベース設計論」特有の開発プロセスについて ② 実践的なデータベース設計・運用を扱うPBLなら入れるべき要素 23
PBL Pub 2026: データベースを共有させてPBLをやってみた 問い ① データベース設計論特有の開発プロセス DB設計 → 共有
→ 実装 という順序は実践としてアリですか? 個人的にはしっくりきた DB設計のすり合わせを通して互いのアプリの内容が共有できた 「実行される問い合わせとその結果」に着目してコードの流れを理解した 科目の学習内容としても問題ない 学習目標の達成が先に来てしまい開発プロセスに歪みが出るのでは 目標が技術的な学びなら自由度の高い演習問題と変わらない? 24
PBL Pub 2026: データベースを共有させてPBLをやってみた 問い ② 実践に必要な技術要素 実践的なデータベース設計・運用を扱うPBLなら入れるべき要素は? 要件定義: ほぼ概念設計(ER図)の補足メモのような扱い
(個人的に)洗い出しとしての利用+ER図に書けない背景や理由 PBIとDBの要件定義の関係は扱えてない 物理設計: ビッグデータを扱ってなくて今回扱えず そのほか扱えなかったトピック ビュー、リカバリー、インデックス 2回目、3回目の運用サイクルが必要 25
PBL Pub 2026: データベースを共有させてPBLをやってみた この後お話ししましょう。色々教えてください 似たような技術研修を行なっている方 PBLをよくするアイデアがある方 なんか一緒にやろうという方 その他、大学でのPBL興味あるよって方 26