📖 テーマ設定
🔊 音声設定
1.2
1.0
1.0
▶️ 再生コントロール
🎵 BGM設定
0.3
🔔 効果音設定
0.3

画面遷移図と画面仕様書の書き方

概要

  • 日程: Day 6 / セッション 1
  • 時間: 09:30-09:55(25分)
  • 形式: 座学
  • ゴール: 画面遷移図の表記ルールと画面仕様書に書くべき項目(レイアウト・入力項目・ボタンの遷移先等)を6つ以上挙げ、良い画面遷移図の条件を自分の言葉で説明できる
  • 学習形式: 対話型解説、ケーススタディ

導入(5分)

昨日、画面一覧と機能一覧を作りました。今日はそれを「つなげて」「中身を埋めます」。

問いかけ: あなたが初めて使うWebサービスで、3クリックしても目的のページにたどり着けなかったら、どうしますか?

たいていの人は離脱します。画面遷移図はユーザを迷子にさせない地図です。

今日の流れ:

  • セッション1(このセッション): 書き方を学ぶ
  • セッション2: 自チームの画面遷移図を作る
  • セッション3: 画面仕様書を作り、外部設計書を完成させる

設計フェーズの折り返し地点です。今日終われば外部設計が完成し、明日からは内部設計に入ります。

本編(15-18分)

1. 画面遷移図の表記ルール

画面遷移図は「画面(ノード)」と「遷移(矢印)」で構成します。Mermaidのflowchartで書きます。

良い画面遷移図と分かりにくい画面遷移図

悪い例: 矢印が交差し、どこから始まるか不明

flowchart LR A["A画面"] --> B["B画面"] B --> C["C画面"] A --> C C --> A B --> A C --> B

何が悪いか:

  • 開始画面が不明
  • 全画面が相互に遷移し、ユーザの動線が見えない
  • 遷移の理由(ボタン名・操作)がない

良い例: 開始が明確で、遷移ラベル付き

flowchart TD Start(["開始"]) --> Top["S-001
トップ画面"] Top --|ログインボタン|--> Login["S-002
ログイン画面"] Login --|認証成功|--> Home["S-003
マイページ"] Login --|認証失敗|--> Login Home --|予約するボタン|--> Form["S-101
予約フォーム"] Form --|確認ボタン|--> Confirm["S-102
予約確認"] Confirm -- "戻るボタン" --> Form Confirm -- "確定ボタン" --> Done["S-103
予約完了"] Done -- "マイページへ" --> Home

良いところ:

  • 開始ノードが明示
  • 各遷移に「ボタン名・操作名」がラベル
  • 失敗時の戻り先が描かれている
  • 画面IDと画面名がノードに入っている

ここがポイント

  • 全画面が必ず遷移図に登場する(画面一覧との一致)
  • 行き止まり画面(戻れない画面)がない
  • 到達不能画面(誰からも遷移されない画面)がない
  • ペルソナのゴール(CJM To-Be版の終点)に到達できる

2. 画面仕様書に書くべき項目

画面仕様書は「1画面につき1ページ」で書きます。最低限の項目はこの7つ。

項目 内容
1. 画面ID・画面名 一覧と一致
2. 画面の目的 この画面で何を達成するか(1文)
3. レイアウト 画面イメージ(ワイヤーフレーム、簡易図でOK)
4. 入力項目 項目名・型・必須/任意・バリデーション
5. ボタン・リンク ボタン名・動作・遷移先画面ID
6. 表示項目 この画面で表示する情報の一覧
7. エラー時挙動 入力エラー・通信エラー時の挙動

コード例: 「予約フォーム画面」の画面仕様書

画面ID: S-101
画面名: 予約フォーム画面
目的: ユーザが希望日時・人数を入力して予約申込ができる

レイアウト:
+--------------------------------+
| ヘッダー(ログイン状態)        |
+--------------------------------+
| タイトル: 予約申込              |
|                                |
| 来店日 [____] (必須)            |
| 時間   [____] (必須・15分単位)  |
| 人数   [__] (必須・1〜10)       |
| 要望   [_______________] (任意) |
|                                |
|        [戻る]  [確認へ進む]     |
+--------------------------------+

入力項目:
- 来店日: date型、今日以降、必須
- 時間: time型、営業時間内、必須
- 人数: number型、1-10、必須
- 要望: text型、200文字以内、任意

ボタン:
- [戻る]: マイページ画面(S-003)へ遷移
- [確認へ進む]: 入力チェック後、予約確認画面(S-102)へ遷移

表示項目:
- ログイン中のユーザ名(ヘッダー)
- 営業時間案内(注意書き)

エラー時挙動:
- 入力エラー: 該当項目下に赤字でメッセージ表示、遷移しない
- 通信エラー: 画面上部にトースト「通信に失敗しました。再試行してください」

ここがポイント

  • レイアウトは「絵心」より「位置関係」が大事。テキストアートでも可
  • 入力項目には必ず「型」と「バリデーション」を書く
  • ボタンの遷移先は必ず画面IDで明記する
  • エラー時挙動を書き忘れない(明日の内部設計の入力になる)

コラム: ユーザが迷子にならない遷移とは

良い遷移の条件は3つです。

  1. 戻り道がある: ブラウザの戻るに頼らず、画面内に明示的な戻り導線
  2. 現在地が分かる: パンくず、ステップインジケータ、タイトル
  3. 次の一手が明確: ボタンが多すぎず、主アクションが目立つ

CJM(カスタマージャーニーマップ)のTo-Be版でペルソナの感情を確認しましょう。「ここで迷う」「ここで不安」と書いた地点には、案内・確認・ヘルプを置きます。

💬 AIに聞いてみよう

  • 「以下の画面遷移図を見て、ユーザが迷子になりそうな箇所を指摘してください。[Mermaid貼付]」
  • 「Webサービスでよく見落とされる画面(404、メンテ、利用規約)を挙げて」
  • 「予約フォーム画面の画面仕様書をレビューしてください。実装者が迷う点はありますか?」

まとめ(5分)

今日学んだこと:

  • 画面遷移図は「開始ノード明示」「遷移ラベル付与」「行き止まり禁止」が基本
  • 画面仕様書は7項目(ID・目的・レイアウト・入力・ボタン・表示・エラー)が最低限
  • ペルソナの動線(CJM To-Be版)を必ず突き合わせる

次セッションで実際に作ります。

🔄 振り返りチェック

  • 良い遷移図と悪い遷移図の違いを2つ以上挙げられる
  • 画面仕様書の7項目をすべて言える
  • 「行き止まり画面」「到達不能画面」を発見する観点を持てた
  • CJM To-Be版を確認する理由を説明できる

補足資料

  • 入力: 画面一覧(Day5 Session3)、CJM To-Be版(Day3)
  • 出力: 次セッションで画面遷移図、その次で画面仕様書

学習ガイド

想定される質問と回答例

質問 ヒント
ワイヤーフレームは絵で描かないとダメ? テキストアートでも可。要は「どこに何があるか」が分かればよい
共通ヘッダー・フッターは毎画面書く? 1画面で「共通レイアウト」として定義し、各画面では参照する形でOK
モーダルダイアログは画面? 画面として扱う。画面遷移図にも入れる
スマホ対応のレイアウトはどこで考える? 画面仕様書に「PC/SP両方のレイアウト」を併記する、または別シート
画面IDが多すぎて遷移図が複雑 機能カテゴリごとに遷移図を分割する(例: 予約系、会員系、管理系)

つまずきやすいポイント

つまずきポイント ヒント
遷移ラベルなしで矢印だけ書く 必ず「何のボタンか・どの操作か」をラベルに書く
エラー時の戻り先を書き忘れる 入力エラー・通信エラー・タイムアウトの3パターンを必ず考える
画面仕様書を「あとで書く」と後回し 主要画面1つだけでも今日のうちに書く。後でなくなる時間
デザインの良し悪しを気にしてしまう 今は「機能と情報の配置」だけ。装飾はDay10のプロトタイプ以降
ペルソナを無視して画面を作る CJM To-Be版を画面に紐づけて、ペルソナの感情を確認する
読み上げを開始します...

AIに質問する