Home
Get Started
実践ガイド
外部仕様設計
バッチ処理仕様設計
UAC 仕様設計
データ仕様設計
インフラ設計
移行計画
テスト方針・計画
開発プロセス・規約
帳票個別仕様
各帳票の出力仕様、レイアウト、データ項目、処理フローを明確に定義します。
🎯 概要
- 目的: 各帳票の出力仕様を明確に定義し、レイアウト、出力項目、データ取得ロジック、生成処理フローを標準化することで、帳票機能の品質を担保し、実装・保守を効率化する
- スコープ: PDF・Excel・CSV等の出力形式別の仕様、テンプレート管理、データ項目定義、ソート順、処理フローをカバーする。帳票デザインの詳細なビジュアル調整は対象外
- 推奨する実施タイミング: 画面設計や外部インターフェース設計と並行して、帳票の出力要件が明確になった段階で実施する
- 関連するステークホルダー: UIデザイナー、アプリケーション開発者、業務担当者、テスト担当者
📥 重要な前提知識・インプット
- 前提知識: 帳票レイアウトの基本知識、PDF・Excel・CSVの各フォーマット特性、帳票生成ライブラリの理解、データ取得・変換処理の基礎
- インプット: 業務要件定義書、画面設計書、データベース設計書、帳票レイアウト案(ワイヤーフレームやデザインカンプ)、出力項目一覧、既存帳票仕様(リプレース案件の場合)
📄 成果物の定義
- ドキュメントテンプレート: 📄
[テンプレ]帳票個別仕様
- 必須要素: 帳票一覧表、各帳票の個別仕様書(出力形式、レイアウト図またはテンプレートファイル、出力項目定義、ソート順、処理フロー図、形式別固有仕様)
✅ 品質基準・レビュー観点
✅ 品質チェックリスト:
| チェック項目 | チェック内容 |
|---|---|
| 出力項目の網羅性 | 業務要件で必要な全ての項目が定義されているか |
| レイアウトの実現可能性 | 各フォーマットの制約内でレイアウトが実現可能か |
| データ取得方法の明確性 | 各項目のデータ取得元とロジックが明確か |
| テンプレートの整備 | PDF・Excelテンプレートが適切に管理されているか |
| パフォーマンス考慮 | 大量データ出力時の処理方法が定義されているか |
👁️🗨️ レビュー観点:
- 業務要件との整合性: 業務担当者が求める出力内容・形式が満たされているか
- ユーザビリティ: 出力された帳票が見やすく、利用しやすいレイアウトか
- データ整合性: 出力項目間の整合性(例: 合計値の計算)が保たれているか
- 保守性: テンプレートやレイアウト変更時の影響範囲が限定的か
- パフォーマンス: 想定データ量での生成時間が許容範囲内か
🧪成果物のサンプル
# REP-001: ユーザー一覧帳票
## 概要
システムに登録されているユーザーの一覧を出力する帳票。検索条件に基づいてフィルタリングされたユーザー情報を各形式で出力する。
## 出力形式対応
- **PDF**: A4縦、複数ページ対応
- **Excel**: 1シート、データ部は行追加可能
- **CSV**: ヘッダー付き
## レイアウト・テンプレート
- **PDFテンプレート**: [Figma - ユーザー一覧帳票PDF](FigmaデザインのURLを挿入)
- **Excelテンプレート**: `templates/REP001_user_list_template.xlsx`
- **CSVフォーマット**: 下記「出力項目」参照
## 出力項目
| 項目No | 項目名 | データ型 | 桁数 | 備考 |
|-------|-------|---------|------|------|
| 1 | ユーザーID | 文字列 | 10 | - |
| 2 | ユーザー名 | 文字列 | 50 | - |
| 3 | メールアドレス | 文字列 | 255 | - |
| 4 | 権限 | 文字列 | 20 | 管理者/一般ユーザー |
| 5 | ステータス | 文字列 | 10 | 有効/無効 |
| 6 | 登録日 | 日時 | - | YYYY/MM/DD HH:MM |
| 7 | 最終ログイン日時 | 日時 | - | YYYY/MM/DD HH:MM |
## ソート順
1. ユーザーID 昇順
## 処理フロー
```mermaid
sequenceDiagram
participant U as ユーザー
participant S as 画面
participant A as API
participant D as データベース
participant R as 帳票生成処理
U->>S: 帳票出力ボタン押下
U->>S: 出力形式選択(PDF/Excel/CSV)
S->>A: 帳票データ取得API呼び出し
A->>D: ユーザーデータ検索
D->>A: データ返却
A->>R: 帳票生成依頼
R->>R: テンプレート読込
R->>R: データ埋め込み
R->>R: ファイル生成
R->>A: 帳票ファイル返却
A->>S: ファイルダウンロードURL返却
S->>U: ファイルダウンロード
```
## PDF固有仕様
| 項目 | 仕様 |
|---|---|
| 用紙サイズ | A4縦 |
| ヘッダー | 「ユーザー一覧」、出力日時、ページ番号 |
| フッター | システム名、出力者名 |
| 1ページあたり行数 | 最大30行 |
| 改ページ | 30行ごとに自動改ページ |
## Excel固有仕様
| 項目 | 仕様 |
|---|---|
| シート名 | 「ユーザー一覧」 |
| ヘッダー行 | 1行目:タイトル、2行目:出力日時、4行目:項目名 |
| データ開始行 | 5行目 |
| セルスタイル | ヘッダー:背景色グレー、太字 |
| 列幅 | 自動調整 |
## CSV固有仕様
| 項目 | 仕様 |
|---|---|
| ヘッダー行 | あり(1行目) |
| データ開始行 | 2行目 |
| 特殊文字対応 | カンマ、改行を含む場合はダブルクォートで囲む |
---
# REP-002: 月次売上集計帳票
## 概要
月ごとの売上を集計し、部門別・商品別の内訳を出力する帳票。月次バッチ処理で自動生成され、管理者に配信される。
## 出力形式対応
- **PDF**: A4横、複数ページ対応
- **Excel**: 複数シート(サマリー、詳細)
## レイアウト・テンプレート
- **PDFテンプレート**: [Figma - 月次売上集計帳票PDF](https://www.notion.so/Figma%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AEURL%E3%82%92%E6%8C%BF%E5%85%A5)
- **Excelテンプレート**: `templates/REP002_monthly_sales_template.xlsx`
## 出力項目(サマリー)
| 項目No | 項目名 | データ型 | 桁数 | 備考 |
|---:|---|---|---:|---|
| 1 | 対象年月 | 文字列 | 7 | YYYY/MM形式 |
| 2 | 総売上金額 | 数値 | - | 円、カンマ区切り |
| 3 | 前月比 | 数値 | - | %、小数点以下1桁 |
| 4 | 前年同月比 | 数値 | - | %、小数点以下1桁 |
| 5 | 取引件数 | 数値 | - | 件 |
## 出力項目(部門別詳細)
| 項目No | 項目名 | データ型 | 桁数 | 備考 |
|---:|---|---|---:|---|
| 1 | 部門コード | 文字列 | 10 | - |
| 2 | 部門名 | 文字列 | 50 | - |
| 3 | 売上金額 | 数値 | - | 円、カンマ区切り |
| 4 | 構成比 | 数値 | - | %、小数点以下1桁 |
| 5 | 取引件数 | 数値 | - | 件 |
## 処理フロー
```mermaid
flowchart TD
A[月次バッチ起動] --> B[対象年月取得]
B --> C[売上データ集計]
C --> D[部門別集計]
D --> E[商品別集計]
E --> F[前月・前年データ取得]
F --> G[比較計算]
G --> H{出力形式選択}
H -->|PDF| I[PDFテンプレート読込]
H -->|Excel| J[Excelテンプレート読込]
I --> K[データ埋め込み]
J --> K
K --> L[ファイル生成]
L --> M[ファイルサーバー保存]
M --> N[管理者へメール通知]
N --> O[処理完了]
```
## PDF固有仕様
| 項目 | 仕様 |
|---|---|
| 用紙サイズ | A4横 |
| ページ構成 | 1ページ目:サマリー、2ページ目以降:部門別・商品別詳細 |
| グラフ | 売上推移グラフ、部門別円グラフを含む |
| ヘッダー | 「月次売上集計表」、対象年月、出力日時 |
## Excel固有仕様
| 項目 | 仕様 |
|---|---|
| シート構成 | シート1:サマリー、シート2:部門別、シート3:商品別 |
| グラフ | サマリーシートに売上推移グラフを埋め込み |
| 数式 | 構成比は数式で算出 |
| 条件付き書式 | 前月比・前年同月比がマイナスの場合は赤字表示 |
---
# REP-003: 取引履歴帳票
## 概要
指定期間の取引履歴をCSV形式で出力する帳票。データ分析や他システム連携に使用される。
## 出力形式対応
- **CSV**: ヘッダー付き
## 出力項目
| 項目No | 項目名 | データ型 | 桁数 | 備考 |
|---:|---|---|---:|---|
| 1 | 取引ID | 文字列 | 20 | - |
| 2 | 取引日時 | 日時 | - | YYYY/MM/DD HH:MM:SS |
| 3 | 顧客ID | 文字列 | 10 | - |
| 4 | 顧客名 | 文字列 | 100 | - |
| 5 | 商品コード | 文字列 | 15 | - |
| 6 | 商品名 | 文字列 | 100 | - |
| 7 | 数量 | 数値 | - | - |
| 8 | 単価 | 数値 | - | 円 |
| 9 | 金額 | 数値 | - | 円 |
| 10 | 支払方法 | 文字列 | 20 | 現金/クレジット/その他 |
| 11 | ステータス | 文字列 | 20 | 完了/キャンセル/返品 |
## ソート順
1. 取引日時 昇順
2. 取引ID 昇順
## 処理フロー
```mermaid
sequenceDiagram
participant U as ユーザー
participant S as 画面
participant A as API
participant D as データベース
participant F as ファイル生成
U ->> S: 期間指定
U ->> S: CSV出力ボタン押下
S ->> A: 取引履歴取得API呼び出し
A ->> D: 取引データ検索
D ->> A: データ返却(最大10万件)
alt データ件数 > 10万件
A ->> S: 警告メッセージ返却
S ->> U: 「期間を短縮してください」表示
else データ件数 ≤ 10万件
A ->> F: CSV生成依頼
F ->> F: CSV形式変換
F ->> A: CSVファイル返却
A ->> S: ダウンロードURL返却
S ->> U: ファイルダウンロード
end
```
## CSV固有仕様
| 項目 | 仕様 |
|---|---|
| 最大出力件数 | 100,000件 |
| 件数超過時の対応 | エラーメッセージ表示、期間短縮を促す |
| 特殊文字エスケープ | カンマ、ダブルクォート、改行を含む場合は適切にエスケープ |
---
## 帳票仕様記載のガイドライン
各帳票の個別仕様を記載する際は、以下のテンプレートを使用する:
### 帳票仕様テンプレート
```markdown
# REP-XXX: [帳票名]
## 概要
[帳票の目的と用途を簡潔に記述]
## 出力形式対応
- **PDF**: [用紙サイズ、ページ構成]
- **Excel**: [シート構成]
- **CSV**: [特記事項]
## レイアウト・テンプレート
- **PDFテンプレート**: [Figmaリンク]
- **Excelテンプレート**: [ファイルパス]
- **CSVフォーマット**: [参照先]
## 出力項目
| 項目No | 項目名 | データ型 | 桁数 | 備考 |
|-------|-------|---------|------|------|
| [記載] | [記載] | [記載] | [記載] | [記載] |
## ソート順
[ソート条件を記載]
## 処理フロー
[Mermaidフロー図またはシーケンス図で記載]
## PDF固有仕様(該当する場合)
| 項目 | 仕様 |
|-----|------|
| [記載] | [記載] |
## Excel固有仕様(該当する場合)
| 項目 | 仕様 |
|-----|------|
| [記載] | [記載] |
## CSV固有仕様(該当する場合)
| 項目 | 仕様 |
|-----|------|
| [記載] | [記載] |
```
---
## 備考
- 帳票テンプレートファイル(PDF用Figmaデザイン、Excel用テンプレート)は別途管理し、本仕様書にはリンク・パスを記載する
- テンプレート変更時は最新版に更新し、バージョン管理を行う
- 新規帳票追加時は帳票一覧にも追記する 🔄 設計の進め方・プロセス
🏗️ プロセス1: 帳票一覧の作成と優先順位付け
設計対象:
システムで必要な全ての帳票を洗い出し、帳票ID、帳票名、用途、出力形式、優先度を一覧化する。
具体例:
- どのような帳票が必要か(ユーザー一覧、売上集計、取引履歴など)
- 各帳票の出力タイミング(オンデマンド / バッチ自動生成)
- 対応する出力形式(PDF / Excel / CSV)
- 実装優先度(必須 / 推奨 / オプション)
設計原則:
- 業務要件との対応: 業務フロー上で必要な帳票を漏れなく特定する
- 出力形式の適切性: 用途に応じて最適な形式を選択(閲覧用はPDF、加工用はExcel、データ連携用はCSV)
- 重複の排除: 類似した帳票は統合し、パラメータやフィルタで対応できないか検討する
- 実装コストの考慮: 優先度を明確にし、MVP(最小実装)で必須の帳票を絞り込む
文書化の推奨表現:
- 帳票一覧表の作成: 帳票ID、帳票名、出力形式、用途、優先度、備考を一覧表で整理する
- 出力タイミングの明記: オンデマンド出力かバッチ自動生成かを区別する
- 関連画面・機能の記載: どの画面・機能から帳票出力が呼び出されるかを明記する
🏗️ プロセス2: レイアウト設計とテンプレート作成
設計対象:
各帳票のレイアウトを設計し、PDF用のデザインカンプやExcel用のテンプレートファイルを作成する。
具体例:
- PDF: Figmaやデザインツールでレイアウトを作成し、ヘッダー・フッター・本文の配置を決定
- Excel: テンプレートファイル(.xlsx)を作成し、シート構成・セルスタイル・数式を定義
- CSV: ヘッダー行の項目名と順序を定義
設計原則:
- 視認性の確保: 情報が読みやすく、重要な項目が目立つレイアウトにする
- フォーマット制約の理解: 各形式の制約(PDFの改ページ、Excelの列幅、CSVの特殊文字エスケープ)を考慮する
- テンプレートの再利用性: 共通ヘッダー・フッターは部品化し、複数帳票で再利用できるようにする
- バージョン管理: テンプレートファイルはGitやファイルサーバーで適切に管理し、変更履歴を残す
文書化の推奨表現:
- レイアウト図の添付: PDFレイアウトはFigmaリンクやスクリーンショットで示す
- テンプレートファイルのパス: Excelテンプレートの保存先パスを明記する
- ページ構成の説明: ヘッダー・フッター・本文・グラフの配置ルールを記述する
🏗️ プロセス3: 出力項目とデータ取得の定義
設計対象:
帳票に出力する項目を定義し、各項目のデータ取得元・変換ロジック・ソート順を明確にする。
具体例:
- 出力項目一覧(項目No、項目名、データ型、桁数、備考)を表形式で整理
- 各項目のデータ取得元(テーブル名・カラム名)を特定
- データ変換ロジック(日時フォーマット、金額カンマ区切り、ステータス名称変換など)を定義
- ソート順・集計条件を明記
設計原則:
- データ整合性の確保: データベース設計書と照合し、取得可能な項目のみを定義する
- 変換ロジックの明確化: フォーマット変換や計算ロジックを曖昧にせず、具体例を示す
- パフォーマンス考慮: 大量データ出力時のデータ取得方法(ページング、インデックス利用)を検討する
文書化の推奨表現:
- 出力項目一覧表: 項目No、項目名、データ型、桁数、データ取得元、変換ロジック、備考を記載
- SQLクエリのサンプル: 複雑なデータ取得の場合はSQLクエリ例を提示する
- ソート順の明記: 優先度付きでソート条件を記述する
🏗️ プロセス4: 処理フローの設計
設計対象:
帳票生成の処理フローを設計し、画面操作からファイル生成・ダウンロードまでの一連の流れを定義する。
具体例:
- ユーザーが帳票出力ボタンを押下 → API呼び出し → データ取得 → テンプレート読込 → データ埋め込み → ファイル生成 → ダウンロードURL返却
- バッチ自動生成の場合: スケジュール起動 → データ集計 → ファイル生成 → ファイルサーバー保存 → メール通知
設計原則:
- 非同期処理の検討: 生成に時間がかかる帳票は非同期処理とし、完了通知を行う
- エラーハンドリング: データ取得エラー、テンプレート読込失敗、ファイル生成失敗時の対応を定義
- リトライ・タイムアウト: 外部システム連携がある場合はリトライ・タイムアウト設定を検討
文書化の推奨表現:
- フロー図の作成: Mermaidでシーケンス図またはフローチャートを作成し、処理の流れを可視化する
- エラー分岐の明記: 正常系だけでなく異常系の処理フローも記載する
- タイミング図の提示: バッチ処理の場合は実行タイミング・頻度を明記する
🏗️ プロセス5: 形式別固有仕様の定義
設計対象:
PDF・Excel・CSV各形式固有の仕様(用紙サイズ、シート構成、エスケープルールなど)を定義する。
具体例:
- PDF: 用紙サイズ(A4縦/横)、ヘッダー・フッター内容、1ページあたり行数、改ページルール、グラフ・画像の配置
- Excel: シート構成、ヘッダー行・データ開始行、セルスタイル、列幅、数式、条件付き書式、グラフ
- CSV: ヘッダー行の有無、最大出力件数、特殊文字エスケープルール、文字コード
設計原則:
- フォーマット標準の遵守: 各形式の標準仕様(RFC4180など)に準拠する
- 互換性の確保: Excel形式は主要なバージョンで開けることを確認する
- データ量制限の明記: CSV出力の最大件数など、制限事項を明確にする
文書化の推奨表現:
- 形式別仕様表: PDF固有仕様、Excel固有仕様、CSV固有仕様を表形式で整理する
- サンプルファイルの提示: 実際の出力イメージをサンプルファイルで示す
- 制限事項の記載: 各形式の技術的制約や運用上の制限を明記する
🚨 よくある失敗と予防策
🚧 実例収集後、追記予定
📚 参考資料・関連リンク
- 参考文献: 『PDFリファレンス』、RFC4180(CSVフォーマット標準)、Excel互換性ガイドライン
- 関連する他のガイド: 画面設計ガイド、データベース設計ガイド、API設計ガイド、バッチ処理設計ガイド
- ツール・テンプレート: Figma(PDFレイアウト設計)、Excel(テンプレート作成)、Mermaid(処理フロー図)、帳票生成ライブラリ(Apache POI、iText、jsPDFなど)
テンプレートサイト: 📄テンプレート集