画面 個別仕様

Home

📕Arrow icon of a page linkサンエムシステム 上流工程標準(Preview版)

⚖️Arrow icon of a page linkサンエムシステム上流工程 標準規格

📘Arrow icon of a page link要件定義 実践ガイド

📘Arrow icon of a page link基本設計 実践ガイド

📄Arrow icon of a page linkテンプレート集

Get Started

📄Arrow icon of a page link基本設計工程のルール

📄Arrow icon of a page link基本設計書の構成を決める

🚧Arrow icon of a page link基本設計のプロセスモデル

実践ガイド

文書情報
システム方式設計
外部仕様設計
運用設計
インフラ設計
移行計画
テスト方針・計画
開発プロセス・規約
レビュー・承認

画面 個別仕様

各画面のUI/UX設計から入力項目、バリデーション、画面遷移、エラーハンドリング仕様を定義します。

🎯 概要


  • 目的: 各画面の詳細な仕様を明確にし、UI/UX設計、入力項目、バリデーション、画面遷移、エラーハンドリングを定義することで、フロントエンド開発チームが一貫性のある実装を実現する
  • スコープ: 画面ごとのレイアウト、入力項目定義、処理フロー、バリデーション仕様、画面遷移、エラーメッセージをカバーする。デザインの詳細はFigma等で管理し、本仕様書では機能仕様に焦点を当てる
  • 推奨する実施タイミング: 画面設計全体方針が決定した後、各画面の実装前に実施する
  • 関連するステークホルダー: UI/UXデザイナー、フロントエンド開発者、バックエンド開発者、プロジェクトマネージャー

📥 重要な前提知識・インプット


  • 前提知識: 画面設計の基本原則、ユーザビリティガイドライン、アクセシビリティ要件、入力バリデーションの手法
  • インプット: 画面一覧・画面遷移図、UI/UXデザイン(Figma等)、業務フロー、API仕様、データ項目定義

📄 成果物の定義


  • ドキュメントテンプレート: 📄Arrow icon of a page link[テンプレ]画面 個別仕様書
  • 必須要素: 画面ID、画面名、概要、画面レイアウト(Figmaリンク)、画面項目定義、処理フロー、画面遷移、バリデーション仕様、エラーハンドリング
✅ 品質基準・レビュー観点

品質チェックリスト:

チェック項目 チェック内容
項目定義の完全性 全ての入力項目に対して、ID・名称・種別・必須/任意・バリデーション・初期値が明記されているか
バリデーション仕様の明確性 各項目のバリデーションルールとエラーメッセージが具体的に定義されているか
画面遷移の網羅性 全ての操作(ボタン・リンク)に対する遷移先と条件が明記されているか
エラーハンドリングの完全性 想定されるエラーケースとそれぞれのメッセージ・対処方法が定義されているか
デザインとの整合性 Figmaデザインと仕様書の記載内容に齟齬がないか

👁️‍🗨️ レビュー観点:

  • ユーザビリティ: 操作フローが直感的で、ユーザーが迷わず操作できる設計になっているか
  • アクセシビリティ: キーボード操作、スクリーンリーダー対応など、アクセシビリティ要件が考慮されているか
  • 一貫性: 他の画面と項目名、用語、操作方法、エラーメッセージの表現が統一されているか
  • 実装可能性: 定義された仕様がフロントエンド・バックエンド技術で実装可能か
  • API仕様との整合性: 画面で扱うデータ項目がAPI仕様と整合しているか
🧪成果物のサンプル
# SCR-001: ログイン画面

## 概要
システムへのログイン処理を行う画面。メールアドレスとパスワードによる認証を実施する。

## 画面レイアウト
**[Figmaリンク]**: [ログイン画面デザイン](FigmaデザインのURLを挿入)

## 画面項目
| 項目ID | 項目名 | 入力種別 | 必須 | 最大文字数 | バリデーション | 備考 |
|-------|-------|---------|-----|----------|--------------|------|
| F001 | メールアドレス | テキスト入力 || 255 | メール形式チェック | - |
| F002 | パスワード | パスワード入力 || 128 | 8文字以上 | マスク表示 |
| F003 | ログインボタン | ボタン | - | - | - | Primary |
| F004 | パスワードを忘れた | リンク | - | - | - | - |

## 処理フロー
```mermaid
sequenceDiagram
    participant U as ユーザー
    participant S as 画面
    participant A as 認証API
    participant D as データベース

    U->>S: メールアドレス・パスワード入力
    U->>S: ログインボタン押下
    S->>S: 入力バリデーション
    alt バリデーションNG
        S->>U: エラーメッセージ表示
    else バリデーションOK
        S->>A: 認証リクエスト
        A->>D: ユーザー情報照会
        D->>A: ユーザー情報返却
        alt 認証失敗
            A->>S: 認証エラー
            S->>U: エラーメッセージ表示
        else 認証成功
            A->>S: トークン発行
            S->>U: ダッシュボードへ遷移
        end
    end
```

## 画面遷移
- **ログイン成功時**: SCR-002(ダッシュボード)へ遷移
- **パスワードを忘れた**: パスワードリセット画面へ遷移

## エラーハンドリング
| エラー種別 | 表示メッセージ | 対処方法 |
|-----------|--------------|---------|
| 入力形式エラー | 「メールアドレスの形式が正しくありません」 | 再入力を促す |
| 認証エラー | 「メールアドレスまたはパスワードが正しくありません」 | 再入力を促す |
| アカウントロック | 「アカウントがロックされています。管理者にお問い合わせください」 | 管理者連絡先を表示 |

---

# SCR-003: ユーザー一覧画面

## 概要
登録されているユーザーの一覧を表示し、検索・絞り込み・編集・削除を行う管理画面。

## 画面レイアウト
**[Figmaリンク]**: [ユーザー一覧画面デザイン](FigmaデザインのURLを挿入)

## 検索条件項目
| 項目ID | 項目名 | 入力種別 | 必須 | 備考 |
|-------|-------|---------|-----|------|
| S001 | ユーザー名 | テキスト入力 | - | 部分一致検索 |
| S002 | メールアドレス | テキスト入力 | - | 部分一致検索 |
| S003 | ステータス | ドロップダウン | - | 全て/有効/無効 |
| S004 | 登録日From | 日付選択 | - | - |
| S005 | 登録日To | 日付選択 | - | - |
| S006 | 検索ボタン | ボタン | - | Primary |
| S007 | クリアボタン | ボタン | - | Secondary |

## 一覧表示項目
|ID | 列名 | データ型 | ソート | 備考 |
|-----|------|---------|-------|------|
| C001 | ユーザーID | 文字列 || リンク(詳細画面へ) |
| C002 | ユーザー名 | 文字列 || - |
| C003 | メールアドレス | 文字列 || - |
| C004 | ステータス | 文字列 || 有効/無効をバッジ表示 |
| C005 | 登録日 | 日時 || YYYY/MM/DD HH:MM |
| C006 | 操作 | - | - | 編集/削除ボタン |

## 処理フロー(検索)
```mermaid
sequenceDiagram
    participant U as ユーザー
    participant S as 画面
    participant A as API
    participant D as データベース

    U->>S: 検索条件入力
    U->>S: 検索ボタン押下
    S->>A: ユーザー一覧取得API呼び出し
    A->>D: ユーザーデータ検索
    D->>A: 検索結果返却
    A->>S: ユーザー一覧データ返却
    S->>U: 一覧表示
```

## 操作仕様
| 操作 | 動作 |
|-----|------|
| 新規登録ボタン | SCR-004(ユーザー登録画面)へ遷移 |
| ユーザーID列クリック | SCR-006(ユーザー詳細画面)へ遷移 |
| 編集ボタン | SCR-005(ユーザー編集画面)へ遷移 |
| 削除ボタン | 確認ダイアログ表示後、削除処理実行 |
| ソートアイコン | 昇順/降順でソート |

## ページネーション
- 1ページあたりの表示件数: 20件(変更可能:10/20/50/100件)
- 総件数、現在ページ数を表示
- 前へ/次へ/先頭/最後のページへ移動可能

---

# SCR-004: ユーザー登録画面

## 概要
新規ユーザーを登録する画面。必須情報を入力し、システムにユーザーを追加する。

## 画面レイアウト
**[Figmaリンク]**: [ユーザー登録画面デザイン](FigmaデザインのURLを挿入)

## 入力項目
| 項目ID | 項目名 | 入力種別 | 必須 | 最大文字数 | バリデーション | 初期値 |
|-------|-------|---------|-----|----------|--------------|-------|
| F101 | ユーザー名 | テキスト入力 || 50 | 全角・半角英数字 | - |
| F102 | メールアドレス | テキスト入力 || 255 | メール形式、重複チェック | - |
| F103 | パスワード | パスワード入力 || 128 | 8文字以上、英数字記号含む | - |
| F104 | パスワード確認 | パスワード入力 || 128 | F103と一致 | - |
| F105 | 権限 | ドロップダウン || - | - | 一般ユーザー |
| F106 | ステータス | ラジオボタン || - | 有効/無効 | 有効 |
| F107 | 登録ボタン | ボタン | - | - | - | Primary |
| F108 | キャンセルボタン | ボタン | - | - | - | Secondary |

## 処理フロー
```mermaid
sequenceDiagram
    participant U as ユーザー
    participant S as 画面
    participant A as API
    participant D as データベース

    U->>S: ユーザー情報入力
    U->>S: 登録ボタン押下
    S->>S: 入力バリデーション
    alt バリデーションNG
        S->>U: エラーメッセージ表示
    else バリデーションOK
        S->>A: ユーザー登録API呼び出し
        A->>D: ユーザーデータ登録
        alt 登録失敗(重複等)
            D->>A: エラー
            A->>S: エラー情報返却
            S->>U: エラーメッセージ表示
        else 登録成功
            D->>A: 成功
            A->>S: 登録成功
            S->>U: 成功メッセージ表示
            S->>U: SCR-003(一覧画面)へ遷移
        end
    end
```

## バリデーション仕様
| 項目 | バリデーション内容 | エラーメッセージ |
|-----|------------------|----------------|
| ユーザー名 | 必須入力 | 「ユーザー名を入力してください」 |
| メールアドレス | 必須入力、メール形式 | 「正しいメールアドレスを入力してください」 |
| メールアドレス | 重複チェック | 「このメールアドレスは既に登録されています」 |
| パスワード | 8文字以上、英数字記号含む | 「パスワードは8文字以上で、英数字と記号を含めてください」 |
| パスワード確認 | パスワードと一致 | 「パスワードが一致しません」 |

---

# 3.2.4 画面仕様記載のガイドライン

各画面の個別仕様を記載する際は、以下のテンプレートを使用する:

# 画面仕様テンプレート

```markdown
# SCR-XXX: [画面名]

## 概要
[画面の目的と主要機能を簡潔に記述]

## 画面レイアウト
**[Figmaリンク]**: [画面デザイン](FigmaデザインのURLを挿入)

## 画面項目
| 項目ID | 項目名 | 入力種別 | 必須 | 最大文字数 | バリデーション | 備考 |
|-------|-------|---------|-----|----------|--------------|------|
| [記載] | [記載] | [記載] | [記載] | [記載] | [記載] | [記載] |

## 処理フロー
[Mermaidシーケンス図で記載]

## 画面遷移
- **[条件]**: [遷移先画面]へ遷移

## エラーハンドリング
| エラー種別 | 表示メッセージ | 対処方法 |
|-----------|--------------|---------|
| [記載] | [記載] | [記載] |
```

---

## 3.2.5 備考

- 画面デザインの詳細は全てFigmaで管理し、本仕様書にはリンクを記載する
- デザイン変更時はFigmaを更新し、本仕様書のリンク先を最新に保つ
- 画面追加時は画面一覧(3.2.2)にも追記する

---

🔄 設計の進め方・プロセス


🏗️ プロセス1: 画面一覧と画面遷移図の作成

設計対象:

システムに必要な全画面を洗い出し、画面間の遷移関係を明確にする。

具体例:

  • どのような画面が必要か(ログイン画面、ダッシュボード、一覧画面、詳細画面、登録・編集画面など)
  • 各画面にどのようにアクセスするか(メニュー、ボタン、リンク)
  • どの画面からどの画面に遷移するか
  • 認証が必要な画面とそうでない画面の区別

設計原則:

  • ユーザーの業務フローに沿った設計: ユーザーがタスクを完了するまでの流れを自然にサポートする画面構成とする
  • 画面数の適正化: 過度に細分化せず、かといって1画面に機能を詰め込みすぎない適切な粒度を保つ
  • 遷移のわかりやすさ: ユーザーが現在どこにいて、どこに行けるのかが明確にわかる導線設計とする
  • エラー時の遷移: エラー発生時やキャンセル時の遷移先も明確に定義する

文書化の推奨表現:

  • 画面一覧表の作成: 画面ID、画面名、概要、URL、アクセス権限を一覧表にまとめる
  • 画面遷移図の作成: Mermaidやdraw.ioで画面間の遷移関係を視覚的に表現する
  • 遷移条件の明記: ボタン押下、リンクタップ、条件分岐など、遷移のトリガーを記載する
🏗️ プロセス2: 画面ごとの項目定義とバリデーション設計

設計対象:

各画面に配置する入力項目、表示項目、ボタン、リンクを定義し、入力項目に対するバリデーションルールを決定する。

具体例:

  • 入力項目(テキストボックス、ドロップダウン、ラジオボタン、チェックボックス、日付選択など)をどう配置するか
  • 各項目の必須/任意、最大文字数、入力形式(メール、電話番号、数値など)
  • バリデーションのタイミング(リアルタイム、フォーカスアウト時、送信時)
  • 初期値、プレースホルダー、ヘルプテキストの設定

設計原則:

  • 入力の最小化: ユーザーの入力負担を減らすため、必須項目は最小限にし、初期値やデフォルト値を活用する
  • 即座なフィードバック: バリデーションエラーはできるだけ早く、わかりやすく表示する
  • エラーメッセージの具体性: 「入力エラー」ではなく「メールアドレスの形式が正しくありません」など具体的に伝える
  • アクセシビリティ: ラベルとフォーム要素の関連付け、キーボード操作、スクリーンリーダー対応を考慮する

文書化の推奨表現:

  • 画面項目定義表の作成: 項目ID、項目名、入力種別、必須/任意、最大文字数、バリデーションルール、初期値を一覧化する
  • バリデーション仕様表の作成: 各項目のバリデーション内容とエラーメッセージを対応付けた表を作成する
  • デザインとの連携: Figmaなどのデザインツールと項目定義を紐付け、齟齬がないようにする
🏗️ プロセス3: 処理フローとAPI連携の設計

設計対象:

画面上での操作がどのような処理フローで実行され、どのAPIと連携するかを定義する。

具体例:

  • ボタン押下時の処理順序(バリデーション → API呼び出し → 結果表示 → 画面遷移)
  • API呼び出しのタイミングと方法(同期/非同期、リトライ処理)
  • ローディング表示のタイミングと場所
  • 成功時・失敗時の処理分岐

設計原則:

  • ユーザーへの状態表示: 処理中はローディング表示、完了時は成功メッセージ、エラー時はエラーメッセージを明確に表示する
  • 適切なエラーハンドリング: ネットワークエラー、タイムアウト、サーバーエラーなど、想定されるエラーケースを網羅する
  • 楽観的UI更新: 可能な場合は、APIレスポンスを待たずにUIを更新し、体感速度を向上させる
  • 冪等性の考慮: 二重送信を防ぐための制御(ボタンの無効化、トークンチェックなど)を実装する

文書化の推奨表現:

  • シーケンス図の作成: Mermaidでユーザー、画面、API、データベース間の処理フローを図示する
  • API呼び出し仕様の記載: 呼び出すAPI、リクエストパラメータ、レスポンス処理を明記する
  • エラーハンドリング表の作成: エラー種別ごとの表示メッセージと対処方法を一覧化する

🚨 よくある失敗と予防策 


🚧 実例収集後、追記予定

📚 参考資料・関連リンク


  • 参考文献: 『About Face - インタラクションデザインの教科書』、『Webフォームデザイン - 入力フォームの設計とユーザビリティ』、『ユーザビリティエンジニアリング原論』
  • 関連する他のガイド: 画面設計全体方針ガイド、画面一覧・画面遷移図ガイド、API設計ガイド、アクセシビリティガイドライン
  • ツール・テンプレート: Figma、draw.io、Mermaid(シーケンス図・状態遷移図)
  • デザインシステム・UI規約: 各プロジェクトで採用しているデザインシステム(Material Design、Ant Design等)のガイドラインを参照

テンプレートサイト: 📄Arrow icon of a page linkテンプレート集