- 期間: 4日間(1日6時間 × 4日 = 24時間)
- 対象者: 情報工学を学んでいる学生
- 前提知識: プログラミング基礎(JavaScript推奨)、データベース基礎
- 学習形式: AI協働型(生成AIを学習パートナーとして対話しながら進める)
情報アーキテクチャ -情報の設計と実装- スケジュール
到達目標
| No. | 到達目標 | 評価基準 |
|---|---|---|
| 1 | 情報アーキテクチャについて説明できる | IAの定義、UXとの関係、情報の価値・可視性・多義性を説明できる |
| 2 | ペルソナの視点で情報を整理・分類できる | ペルソナを定義し、LATCH法・カードソーティングで情報を整理分類できる |
| 3 | 情報アーキテクチャを企画・設計・開発に適用できる | 情報定義書から情報モデルと状態遷移を定義できる |
| 4 | 情報の設計とシステムの設計を分離して開発を進められる | 情報モデルの状態遷移から機能とプレゼンテーションを抽出できる |
| 5 | プレゼンテーションと機能を分離して開発を進められる | RESTful API等を用いてUIとロジックを分離した実装ができる |
| 6 | 設計思想・アーキテクチャを理解し選択できる | DOA/MDA/SOA/ROA/OOAD、MVC/MVVM/DDDの違いを説明できる |
Day 1(1日目)情報アーキテクチャと情報の整理・分類
本日のゴール:情報アーキテクチャの定義を説明でき、自分のチームの開発テーマについてペルソナと情報定義書を作成できる
対応する到達目標:No.1, No.2
本日の成果物:開発テーマ、情報定義書(初版)、ペルソナのプロフィール、整理分類済み情報定義書
セッション01 [9:00-9:30] 座学
セッション名:オリエンテーション・なぜIAを学ぶのか
ゴール:研修全体の目的と進め方を説明でき、AIとの対話による学び方を実演できる
対応する学習内容:1-1. 講義の説明
ポイント:なぜ情報アーキテクチャを学ぶ必要があるのかを、ハードウェアからソフトウェア・サービスへの産業構造の変化と関連づけて理解する
学習形式:対話型解説(AIに自己紹介してもらいながら進行)
セッション02 [9:30-10:00] 実習
セッション名:チーム編成と開発テーマ決定
ゴール:3〜4名のチームを作り、情報処理を伴う開発テーマを1つ決定できる
対応する学習内容:1-1. チーム分け・開発テーマの決定
ポイント:「家計簿」「レシピ類推」「オークション」など、情報処理を伴うテーマであれば何でも良い。AIにテーマのブレストを手伝ってもらう
学習形式:ハンズオン実習(AIブレストあり)
休憩 [10:00-10:10]
セッション03 [10:10-10:40] 座学
セッション名:情報アーキテクチャとは
ゴール:IAの定義(誰に価値を提供するかを決定しソフトウェアの構造に落とし込む手法)を自分の言葉で説明できる
対応する学習内容:1-2. IAの位置づけ・情報とは・IAの定義
ポイント:「データ」と「情報」の違い、「誰に価値を提供するか」を最重要視する考え方を押さえる
学習形式:対話型解説
セッション04 [10:40-11:25] 実習
セッション名:情報定義書の作成(最初の成功体験)
ゴール:開発テーマで登場する情報を15個以上洗い出して情報定義書(初版)を作成できる
対応する学習内容:1-2. (演習)情報定義書の作成
ポイント:ブレストでとにかく出す → 似たものを束ねる → 清書、という流れを体験する。AIにブレストパートナーになってもらう
学習形式:ハンズオン実習(AIブレストあり)
休憩 [11:25-11:35]
セッション05 [11:35-12:00] 座学
セッション名:情報の特性(価値・可視性・多義性)
ゴール:情報の3つの特性(価値・可視性・多義性)を具体例で説明できる
対応する学習内容:1-2. 情報が持つ特性、SECIモデル、こうもり問題の導入
ポイント:「価値は誰のもの?」「見える情報と見えない情報」「同じ情報が違う意味を持つ多義性」の3つの観点を理解する
学習形式:対話型解説
昼休み [12:00-13:00]
セッション06 [13:00-13:45] 演習
セッション名:こうもり問題とペルソナの定義
ゴール:こうもり問題を三段論法で説明でき、自分のチームの開発テーマに対するペルソナを1人定義できる
対応する学習内容:1-2. こうもり問題、ペルソナの定義
ポイント:こうもりが「獣」にも「鳥」にもなる多義性が、ペルソナによって解決されることを体験する
学習形式:AIディスカッション + ペルソナ定義実習
セッション07 [13:45-14:15] 座学
セッション名:情報の整理と分類・LATCH法
ゴール:「整理」と「分類」の違いを説明でき、LATCH法の5つの観点を列挙できる
対応する学習内容:1-3. 整理と分類の違い、LATCH法、カードソーティング
ポイント:「整理=捨てる」「分類=カテゴリ分け」の違い。LATCH(Location/Alphabet/Time/Category/Hierarchy)の5つの分類軸
学習形式:対話型解説
休憩 [14:15-14:25]
セッション08 [14:25-15:25] 実習
セッション名:カードソーティングによる情報定義書の整理・分類
ゴール:午前に作成した情報定義書を、ペルソナの視点でカードソーティングして整理分類できる
対応する学習内容:1-3. (演習)情報定義書の整理・分類
ポイント:「機能」ではなく「情報」を整理すること。PDCAを意識して回す。ペルソナにとっての価値で見直す
学習形式:ハンズオン実習(カードソーティング、AIサポートあり)
休憩 [15:25-15:35]
セッション09 [15:35-16:00] 振り返り
セッション名:Day 1 振り返りと成果物確認
ゴール:Day 1で学んだIAの定義・ペルソナ・情報整理分類の3点を、チームメンバーに口頭で説明できる
対応する学習内容:Day 1全体の振り返り
ポイント:成果物(開発テーマ、情報定義書、ペルソナ、整理分類済み情報定義書)が揃っているか確認
学習形式:振り返り対話(AIに質問させて答える形式)
Day 2(2日目)情報モデル・開発モデル・ユーザインタフェース
本日のゴール:情報定義書から情報モデルを抽出し、状態遷移から機能とプレゼンテーションを定義できる
対応する到達目標:No.3, No.4
本日の成果物:情報モデル一覧、情報モデルの状態遷移図、機能一覧、プレゼンテーション一覧、非機能要件一覧書、UIモックアップ
セッション01 [9:00-9:30] 座学
セッション名:Day 2 イントロ・モデルとは
ゴール:「モデル」「モデリング」を身近な例で説明できる
対応する学習内容:2-1. モデルとは、モデリング、なぜモデリングするのか
ポイント:分類・名前付け・パターン・単純化の4つの行為がモデリング。情報を普遍的に・コンピュータで扱えるようにするための行為
学習形式:対話型解説
セッション02 [9:30-10:00] 実習
セッション名:身近なモデリング体験
ゴール:身の回りの物(コンビニ、図書館、電車など)から情報モデルを1つ作成できる
対応する学習内容:2-1. モデリング体験
ポイント:「属性」「関係」「制約」の3つの観点で取り出す練習をする
学習形式:ハンズオン実習(AIペアプログラミング的)
休憩 [10:00-10:10]
セッション03 [10:10-10:40] 座学
セッション名:情報モデルと状態遷移
ゴール:情報モデルの定義(属性・関係・制約)と、状態遷移を定義する意義を説明できる
対応する学習内容:2-1. 情報モデルとは、状態遷移
ポイント:状態遷移を定義することで、必要な機能(CRUD)とプレゼンテーションが抽出できる
学習形式:対話型解説
セッション04 [10:40-11:25] 実習
セッション名:情報モデルの抽出と状態遷移定義
ゴール:Day 1で作った情報定義書から、自チームの情報モデルを3つ以上抽出し、状態遷移図をdraw.io等で作成できる
対応する学習内容:2-1. (演習)情報モデルの抽出と状態遷移の定義
ポイント:CRUD(Create/Read/Update/Delete)を網羅した状態遷移を作る。お客様視点でレビューして再定義する
学習形式:ハンズオン実習(draw.io、AIサポートあり)
休憩 [11:25-11:35]
セッション05 [11:35-12:00] 実習
セッション名:機能とプレゼンテーションの抽出
ゴール:状態遷移図から「機能一覧」「プレゼンテーション一覧」を作成できる
対応する学習内容:2-1. 機能とプレゼンテーションの抽出
ポイント:新規入力・1件表示・一覧表示・更新・削除の5機能と、それぞれの画面(プレゼンテーション)をペアで考える
学習形式:ハンズオン実習
昼休み [12:00-13:00]
セッション06 [13:00-13:30] 座学
セッション名:開発モデルと工程
ゴール:ウォーターフォール・アジャイル等の開発モデルと、要件→仕様→設計→実装→テストの工程を説明できる
対応する学習内容:2-2. 開発、開発モデル、開発の工程
ポイント:機能要件と非機能要件の違い。なぜ複数の開発モデルがあるのか
学習形式:対話型解説
セッション07 [13:30-14:10] 実習
セッション名:非機能要件の定義
ゴール:自チームの開発テーマに対する非機能要件を10項目以上書き出せる
対応する学習内容:2-2. (演習)非機能要件の定義
ポイント:性能・可用性・運用性・保守性などの観点。AIに「他にどんな非機能要件がある?」と聞きながら洗い出す
学習形式:ハンズオン実習(AIブレストあり)
休憩 [14:10-14:20]
セッション08 [14:20-14:50] 座学
セッション名:ユーザインタフェースとは
ゴール:UIの定義、CUI/CLI/GUIの違い、クライアントサーバ型とWebの基本を説明できる
対応する学習内容:2-3. UIとは、UIの種類、クライアントサーバ型、購買行動
ポイント:UIは「利用者とコンピュータの入出力仕様」。AIDMA/AISAS/AISCEASなど購買行動モデルもUI設計の指針
学習形式:対話型解説
セッション09 [14:50-15:35] 実習
セッション名:モックアップツールで試作品作成
ゴール:自チームの主要画面(3画面以上)のワイヤーフレームをモックアップツール(Figma/draw.io等)で作成できる
対応する学習内容:2-3. (演習)モックアップツールで試作品作成
ポイント:保守期間(1年/5年/10年以上)を意識した設計。プレゼンテーション一覧と対応させる
学習形式:ハンズオン実習(AIサポートあり)
休憩 [15:35-15:45]
セッション10 [15:45-16:00] 振り返り
セッション名:Day 2 まとめ
ゴール:「情報モデル → 状態遷移 → 機能・プレゼンテーション」の流れを口頭で説明できる
対応する学習内容:Day 2全体の振り返り
ポイント:情報の設計とシステムの設計を分離する考え方が定着しているかを確認
学習形式:振り返り対話
Day 3(3日目)設計・永続化・通信・実行方式・開発手法
本日のゴール:DOA/MDA/SOA/ROA/OOAD等の設計アプローチとMVC/MVVM/DDDの違いを説明でき、適切な永続化・通信方式を選択できる
対応する到達目標:No.5, No.6
本日の成果物:設計アプローチ比較表、ACIDとRDB正規化の考察メモ、API設計メモ、開発手法の選択理由メモ
セッション01 [9:00-9:30] 座学
セッション名:Day 3 イントロ・設計とは
ゴール:「設計」とは何か、なぜ設計思想(アーキテクチャ)が複数あるのかを説明できる
対応する学習内容:3-1. 設計の導入
ポイント:設計=つくり方の決定。Day 2までの「何を作るか」から「どう作るか」へフェーズが変わる
学習形式:対話型解説
セッション02 [9:30-10:00] ディスカッション
セッション名:UNIX哲学から学ぶ設計
ゴール:UNIX哲学の主要な原則(小さく作る・1つのことを上手にやる等)を3つ以上挙げられる
対応する学習内容:3-1. UNIX哲学
ポイント:「KISS」「DRY」「YAGNI」など、現代まで通じる設計原則の原型がUNIX哲学にある
学習形式:AIディスカッション
休憩 [10:00-10:10]
セッション03 [10:10-10:40] 座学
セッション名:設計アプローチ(DOA/MDA/SOA/ROA/OOAD)
ゴール:5つの設計アプローチをそれぞれ1文で説明できる
対応する学習内容:3-1. 設計アプローチ
ポイント:POA(プロセス中心)→ DOA(データ中心)→ SOA(サービス指向)→ ROA(リソース指向)への歴史的変遷
学習形式:対話型解説
セッション04 [10:40-11:25] 実習
セッション名:多層アーキテクチャとMVC/MVVM/DDD
ゴール:MVC・MVVM・DDDの違いを図で説明でき、自チームの開発に最適なものを1つ選択できる
対応する学習内容:3-1. 多層アーキテクチャ、MVC、MVVM、DDD
ポイント:3層アーキテクチャ(データ層・プレゼンテーション層・ロジック層)が基盤。DDDのドメイン・ユビキタス言語の考え方
学習形式:ハンズオン実習(AI比較分析あり)
休憩 [11:25-11:35]
セッション05 [11:35-12:00] 演習
セッション名:「アーキテクチャ」「設計」「駆動」「アプローチ」「パターン」の違い考察
ゴール:5つの言葉の違いを情報アーキテクチャの手法(カテゴリ分け)で整理して説明できる
対応する学習内容:3-1. (演習)用語の違い考察
ポイント:類似語の違いを自分の言葉で説明できることが、概念理解の証明になる
学習形式:AIディスカッション
昼休み [12:00-13:00]
セッション06 [13:00-13:30] 座学
セッション名:永続化とACID
ゴール:ACIDの4要素と、ファイル・RDB・KVSの使い分けを説明できる
対応する学習内容:3-2. ACID、永続化の方法
ポイント:Atomicity/Consistency/Isolation/Durabilityの4要素。インピーダンス・ミスマッチとO/Rマッピングの役割
学習形式:対話型解説
セッション07 [13:30-14:00] 演習
セッション名:RDB正規化とIAの違い考察
ゴール:RDBの正規化と情報アーキテクチャの整理分類の違いを表で整理できる
対応する学習内容:3-2. (演習)RDB正規化とIAの違い
ポイント:「データの重複排除(正規化)」と「ペルソナへの価値提供(IA)」の目的の違い
学習形式:AIディスカッション
休憩 [14:00-14:10]
セッション08 [14:10-14:40] 座学
セッション名:UIと機能の通信(REST/JSON)
ゴール:RPC・SOAP・RESTの違いを説明でき、REST APIのリクエスト/レスポンスをJSONで表現できる
対応する学習内容:3-3. RPC、CORBA、HTTP、Webサービス
ポイント:状態を持たない(ステートレス)・リソース指向のRESTがなぜ主流になったか
学習形式:対話型解説
セッション09 [14:40-15:10] 実習
セッション名:実行方式とクラウド(手を動かす)
ゴール:ネイティブ・Web・モバイル・クラウド(SaaS/PaaS/IaaS)の違いを自分の言葉で説明し、簡単なHTTPリクエストを実行できる
対応する学習内容:3-4. 実行方式
ポイント:自分の開発テーマがどの実行方式に最適か検討する。curlやブラウザのDevToolsでHTTPを体験
学習形式:ハンズオン実習
休憩 [15:10-15:20]
セッション10 [15:20-15:50] 座学+ディスカッション
セッション名:開発手法とバージョン管理
ゴール:ウォーターフォール/アジャイル(XP、Scrum)の違いと、Gitの基本フローを説明できる
対応する学習内容:3-5. 開発手法、バージョン管理、(演習)なぜ開発手法が複数あるか
ポイント:プロジェクトの性質(規模・不確実性・チーム構成)によって最適な手法は変わる
学習形式:AIディスカッション
セッション11 [15:50-16:00] 振り返り
セッション名:Day 3 まとめ
ゴール:自チームの開発で採用する設計アプローチ・永続化方式・通信方式・開発手法を選択し、その理由を説明できる
対応する学習内容:Day 3全体の振り返り
ポイント:明日の実装に必要な意思決定が出揃っているか確認
学習形式:振り返り対話
Day 4(4日目)実装・確認テスト・成果発表
本日のゴール:情報の設計とシステムの設計を分離した実装を完成させ、研修で学んだ知識を確認テストで定着させ、成果を発表できる
対応する到達目標:No.5, No.6(および全体の総合演習)
本日の成果物:動作する実装(API + UI)、成果発表資料、確認テスト結果、復習メモ
セッション01 [9:00-9:30] 座学
セッション名:Day 4 イントロ・実装方針
ゴール:実装の進め方(成果物をもとにAPIとUIを分離して作る)を説明でき、推奨ツール(apiary/Monaca/GitHub)の役割を理解できる
対応する学習内容:4-1. 実装の進め方、推奨ツール
ポイント:「プレゼンテーションと機能を分離する」がDay 4最大のテーマ。APIとUIを別々に進める
学習形式:対話型解説
セッション02 [9:30-10:00] 実習
セッション名:apiaryでAPIモック作成
ゴール:自チームの主要な情報モデルに対するREST APIのモック(GET/POST/PUT/DELETE)を1つ作成し、curl等で呼び出せる
対応する学習内容:4-1. 実装例1:apiaryでRESTful APIを作成
ポイント:実装の前にAPI仕様を固めることで、UI開発と並行作業が可能になる
学習形式:ハンズオン実習(AIペアプログラミング)
休憩 [10:00-10:10]
セッション03 [10:10-11:25] 実習
セッション名:開発テーマに沿った実装①(コア機能・API側)
ゴール:自チームの開発テーマで、主要な情報モデル(2つ以上)のAPIを実装し、データのCRUDが動作する
対応する学習内容:4-1. (演習)開発テーマに沿った実装(API側)
ポイント:情報の設計(情報モデル・状態遷移)とシステムの設計(API実装)を分離する
学習形式:ハンズオン実習(AIペアプログラミング、チーム協働)
休憩 [11:25-11:35]
セッション04 [11:35-12:00] 実習
セッション名:開発テーマに沿った実装②(UI/UX結合)
ゴール:Day 2で作ったモックアップを元に、UIからAPIを呼び出す部分(fetch等)を実装できる
対応する学習内容:4-1. (演習)開発テーマに沿った実装(UI側)
ポイント:プレゼンテーション(UI)と機能(API)を分離した実装の利点を体感する
学習形式:ハンズオン実習(AIペアプログラミング)
昼休み [12:00-13:00]
セッション05 [13:00-13:30] 実習
セッション名:実装の仕上げ
ゴール:APIとUIを統合し、エンドツーエンドで1つのユースケースが動作する
対応する学習内容:4-1. 実装の仕上げ
ポイント:完璧を目指さない。「動くデモができる」レベルでOK。AIにバグ修正を相談する
学習形式:ハンズオン実習
セッション06 [13:30-14:00] 実習
セッション名:成果発表資料作成
ゴール:チームの役割分担・構成・デモ・KPTを盛り込んだ発表資料(スライド3〜5枚)を作成できる
対応する学習内容:4-2. 成果発表資料作成
ポイント:「何を作ったか」より「IAをどう適用したか」を中心に語る
学習形式:ハンズオン実習(AIサポートあり)
休憩 [14:00-14:10]
セッション07 [14:10-14:40] テスト
セッション名:確認テスト実施
ゴール:研修全体(到達目標No.1〜6)の知識を確認テスト(20問程度)で計測する
対応する学習内容:Day 1〜Day 3 の全範囲
ポイント:暗記ではなく、自分の言葉で説明できるか・適切な判断ができるかを問う
学習形式:個人テスト(AIに採点と解説をしてもらう)
セッション08 [14:40-15:00] 復習
セッション名:不正解項目の復習
ゴール:確認テストで誤答した項目について、AIと対話して正しく説明できるようになる
対応する学習内容:不正解項目に応じた復習
ポイント:間違えた問題を中心に、なぜそう考えたかを言語化してAIにフィードバックを受ける
学習形式:AI個別チューター
休憩 [15:00-15:10]
セッション09 [15:10-16:00] 発表
セッション名:成果発表と研修総括
ゴール:チームごとに5分間で成果を発表し、他チームの発表を聞いて学びを共有できる
対応する学習内容:4-3. 成果発表
ポイント:提出物(ソースコード+発表資料)を確定する。研修全体のKPTで終わる
学習形式:発表+全体振り返り
チェック項目(最終確認)
- 全日程のスケジュールが出力されている(Day 1〜4)
- 各セッションに「ゴール」が明記されている
- 座学セッションは30分以内になっている
- 座学の後に実習セッションが配置されている
- 初日午前に「動かしてみる」系の実習がある(Day1 Session04 情報定義書の作成)
- 各日の終わりに成果物が明記されている
- すべての到達目標(No.1〜6)がいずれかの日に対応づけられている
- すべての学習内容(1-1〜4-3)がいずれかのセッションでカバーされている
- 最終日に「確認テスト実施」のセッションが含まれている(Day4 Session07)
- 最終日に「不正解項目の復習」のセッションが含まれている(Day4 Session08)