📄
概念 📚 beginner-stepup

画面ワイヤーフレームと画面遷移図(Month 2 Week 6)

ユーザーストーリーを「動く画面の絵」に落とすためのワイヤーフレーム作成・画面遷移図の描き方・適切な詳細度の選び方

Week 5 で洗い出したユーザーストーリーを、Week 6 では 画面の絵 に落とします。いきなり React コードを書き始めるのではなく、紙 or Figma で画面ワイヤーを描くフェーズです。


ワイヤーフレームとは

「画面に何を載せるか」「何をどこに置くか」を低解像度で表現したものです。色・フォント・画像・アニメーションは考えません。

忠実度使うタイミング
Low-Fi(ワイヤー)ノートに手書き・四角形と線だけWeek 6(本カリキュラムのここ)
Mid-Fi(モックアップ)Figma で配置・色の下地のみ実装後のデザイン調整
High-Fi(プロトタイプ)Figma でインタラクション付き本番公開前の UX 検証

Week 6 では Low-Fi で十分 です。目的はコードを書き始める前に「画面数」「画面遷移」「必要な入力フィールド」を確定させることで、後から戻り手戻りを減らすためです。


手書きから始める

Figma を開く前に、A4 用紙 1 枚に 1 画面 を鉛筆で書きます。10 分で 5 画面書けます。

書く内容

  • 画面タイトル(例: 「投稿一覧」)
  • 主要な要素(見出し・リスト・ボタン・入力欄)の位置
  • ボタンを押したときの遷移先(矢印で隣の紙へ)

書かない内容

  • 色・フォント
  • 完璧なレイアウト
  • ヘッダー・フッターの細かい内容(テンプレ化するので省略)

Why: 手書きは 30 秒で書き直せます。Figma で書くと「綺麗に作ろう」という引力で時間を吸われます。


Figma への転記(任意)

手書きで画面が固まったら、共有用に Figma に転記します。Figma は無料プランで十分使えます。

基本の使い方

  1. https://www.figma.com/ でアカウント作成
  2. 「Untitled」ファイルを開く
  3. 左上の Frame (F キー) で画面枠を作成(1440 × 900 がデフォ)
  4. Rectangle (R キー) で四角、Text (T キー) で文字を置く
  5. 画面を複製(Cmd/Ctrl + D)して次画面のベースにする

画面遷移図

各画面をフレームで並べ、Prototype タブでボタンから次画面へ矢印を引きます。本カリキュラムではここまで作りこまなくて OK です。


画面遷移図(Mermaid で書く)

Figma を使わず、コードで画面遷移を表現する方法もあります。Markdown に貼れるので PR レビューしやすい利点があります。

```mermaid
flowchart LR
  Login[ログイン画面] -->|成功| Feed[投稿一覧]
  Feed --> Detail[投稿詳細]
  Feed --> New[投稿作成]
  New -->|投稿| Feed
  Detail --> Profile[ユーザープロフィール]
```

GitHub の Markdown プレビューは Mermaid を自動レンダリングします。


画面 1 枚を設計するときに考えること

各画面について、以下 5 点を紙に書きます。

  1. 目的: この画面でユーザーが達成したいことを 1 文で
  2. 入口: どの画面からこの画面に来るか(1 つ以上)
  3. 出口: この画面から行ける画面(0 個以上)
  4. 必要なデータ: API からどのレスポンスを受ける必要があるか
  5. エラー時の挙動: API が 4xx/5xx を返したら何を見せるか

5 番を忘れると、実装後に必ず詰まります。Week 6 で言語化しておくと Month 3 の実装が速くなります。


よくある画面テンプレート

SNS clone や木下さんの自前アプリで頻出する画面パターンです。

一覧画面(フィード型)

┌────────────────────┐
│ [ヘッダー]           │
├────────────────────┤
│ ┌──────────────┐  │
│ │ 投稿カード 1  │  │
│ └──────────────┘  │
│ ┌──────────────┐  │
│ │ 投稿カード 2  │  │
│ └──────────────┘  │
│ ...                │
│ [もっと見る]         │
└────────────────────┘

詳細画面

┌────────────────────┐
│ [← 戻る]  [編集]    │
├────────────────────┤
│ 投稿タイトル/本文    │
│                    │
│ 投稿者・日時         │
├────────────────────┤
│ コメント 1           │
│ コメント 2           │
│ [コメント入力欄]      │
└────────────────────┘

フォーム画面

┌────────────────────┐
│ 新規投稿             │
├────────────────────┤
│ タイトル: [        ] │
│ 本文: ┌──────────┐ │
│       │          │ │
│       └──────────┘ │
│                    │
│      [キャンセル] [保存] │
└────────────────────┘

Week 6 のアウトプット

  • ☐ 手書きワイヤーが MVP の全画面分ある(通常 3〜6 枚)
  • ☐ 画面遷移図が 1 枚にまとまっている(Mermaid or Figma)
  • ☐ 各画面について「目的・入口・出口・必要データ・エラー時挙動」が書けている
  • ☐ デザイナ不在のプロジェクトでもレビュー可能な粒度(手書きレベルで OK)

よくある失敗

  • 細部に時間をかけすぎる: Week 6 の目的は「どんな画面が必要か」を確定させること。色・フォント・完璧な配置は Week 9 以降の実装で整えます
  • 画面数が多すぎる: MVP に 10 画面以上あるなら、Week 5 の MoSCoW に戻って削ります
  • 一覧と検索を混ぜる: 検索は専用画面ではなく、一覧画面の上部に検索バーを置く方がシンプル。Nice-to-have にする検討も

参考

生きているコード

本ドキュメントで扱ったパターンの完全な動作コードは、メンター側リポジトリの参照ブランチで確認できます。

  • 対応 Week: W6
  • 参照ブランチ:
  • W6: reference/week-6
  • 対応 checklist 項目: (直接対応なし)

ブランチの作り方・見方は b00-curriculum-map を参照してください。

  1. 1. 📄環境構築の段階的導入(macOS / Windows)
  2. 2. 📄SNSアプリの最終インフラ構成図
  3. 3. 📄SNSクローンの全体設計(Month 1 ゴール)
  4. 4. 📄カリキュラム全体マップ(Week × 教材 × 参照ブランチ × 要求チェックリスト)
  5. 5. 📄このカリキュラムの使い方(SQL・Python・Dify経験者向け)
  6. 6. 📄シェル・ターミナル基礎
  7. 7. 📄Windows で完全にゼロから始める開発環境構築(Week 1)
  8. 8. 📄Git基礎
  9. 9. 📄GitHubワークフロー
  10. 10. 📄パッケージ管理(pnpm workspace)
  11. 11. 📄Webアプリアーキテクチャ全体像
  12. 12. 📄要求ヒアリングとユーザーストーリー(Month 2 Week 5)
  13. 13. 📄画面ワイヤーフレームと画面遷移図(Month 2 Week 6)
  14. 14. 📄HTTP・REST API基礎
  15. 15. 📄ER 図の描き方(Month 2 Week 7)
  16. 16. 📄認証・認可のパターン
  17. 17. 📄REST API 仕様書の書き方(Month 2 Week 7)
  18. 18. 📄HTML/CSS基礎とレイアウト
  19. 19. 📄JavaScript基礎(Pythonとの対比)
  20. 20. 📄TypeScript基礎(型システムとPythonとの対比)
  21. 21. 📄Reactコンポーネント設計の基礎
  22. 22. 📄状態管理の概念
  23. 23. 📄フォーム検証(React Hook Form + Zod)(Month 3 Week 11)
  24. 24. 📄バックエンドAPI設計(Hono)
  25. 25. 📄ルーティング(React Router v7)
  26. 26. 📄Hono のエラーハンドリング(Month 4 Week 13)
  27. 27. 📄データベース設計・SQL→Drizzle ORM対応
  28. 28. 📄マイグレーションの考え方
  29. 29. 📄AWSインフラ基礎
  30. 30. 📄AWS Budget Alert の設定(Month 5 Week 17)
  31. 31. 📄環境変数管理
  32. 32. 📄Bastion EC2 と SSH ProxyJump(Month 5 Week 18)
  33. 33. 📄CI/CD基礎
  34. 34. 📄ECR への Docker イメージ push と App EC2 デプロイ(Month 5 Week 19)
  35. 35. 📄テスト設計の基本
  36. 36. 📄CloudFront + S3 + ALB で公開する(Month 5 Week 20)
  37. 37. 📄CLAUDE.md・プロジェクト設定
  38. 38. 📄PR レビュー 5 観点ルーブリック(全 Week 共通)
  39. 39. 📄タスク分解・仕様の書き方
  40. 40. 📄Playwright で E2E テスト(Month 6 Week 22)
  41. 41. 📄生成コードのレビュー・デバッグの勘所
  42. 42. 📄Trivy で脆弱性スキャン(Month 6 Week 23)
  43. 43. 📄CloudWatch Logs の読み方と運用(Month 6 Week 23)
  44. 44. 📄PDF ポートフォリオの自動生成(Month 6 Week 24)