今回は、開発現場で詳細設計書(イベント仕様書)を作成する中で悩んだ点を、メモとしてまとめました。この記事を読むことで、初心者でも詳細設計書(イベント仕様書)に書く内容と書き方がわかるようになると思います!
基本設計書に書く内容は?
この記事では、基本設計書(画面仕様書)の書き方について簡単に説明してみました。
開発現場によって書き方は違うと思うので、「へぇ、こんなこと書くんだな〜」くらいの感覚で参考にしてもらえたら嬉しいです。
※この後に説明する詳細設計書の書き方についても参考にしていただけたら嬉しいです
詳細設計書に書く内容は?
詳細設計書にはシート別に下記の内容を記載していきます。
シート名 | 内容 |
---|---|
1. 改訂履歴 | 改訂日、改訂者、改訂内容など。履歴として必ず記載します。 |
2. イベント仕様書 | UI上の操作とそれに対するシステムの動作詳細 |
3. SQL仕様 | 使用するSQL文、パラメータ、対象テーブルなど |
開発現場によって異なるとは思いますが、基本はExcelで作成することが多いかと思います。この記事では基本となる、改訂履歴〜SQL仕様について説明したいと思います。
改訂履歴
No | 改訂日 | 作成者 | 改訂内容 |
---|---|---|---|
1 | 2025/07/31 | 平野 | 【顧客管理画面】 新規作成 |
改訂履歴シートには誰が・いつ・どんな変更を加えたかを記録します。
イベント仕様書

画像取得元:kintone 総務・人事チームでの利用イメージ
※イベント仕様書の説明のため使わせていただいています
今回は社員情報が一覧で確認できる画面の詳細設計書を作るとしたら…ということで説明していきたいと思います。
この画面で考えられるイベントをまずは整理してみましょう!
イベント内容
イベント名 | トリガー(操作) | 処理内容 | 遷移先・表示内容 | 備考 |
---|---|---|---|---|
初期表示 | 社員情報一覧画面にアクセス | 一覧データを取得して初期表示 | 社員情報一覧画面が表示される | 初期ソート適用 |
並び順変更(列ヘッダクリック) | 氏名、入社年月日などの列タイトルをクリック | 昇順/降順に並び替え | 一覧の順序が変わる | 並び順アイコン表示 |
検索アイコンクリック | 検索バーに入力し、虫眼鏡アイコンをクリック | 該当するレコードのみ表示 | 一覧が絞り込まれる | キーワード検索対応 |
フィルターアイコンクリック | フィルターアイコンをクリック | 条件に合うレコードを抽出 | 一覧が絞り込まれる | 複数条件対応可能 |
グラフアイコンクリック | グラフアイコンをクリック | グラフ形式でデータを表示 | グラフ画面に遷移 | |
詳細リンククリック | 「表示する」リンクをクリック | 該当社員の詳細情報を表示 | 詳細画面に遷移 | |
編集アイコンクリック | 鉛筆アイコンをクリック | 編集フォームを表示 | 編集画面に遷移 | |
保存ボタンクリック(編集) | 編集画面で保存ボタンをクリック | データを更新し一覧に反映 | 社員情報一覧画面に戻る | 成功/失敗メッセージ表示 |
プラスアイコンクリック | プラス(+)ボタンをクリック | 新規登録フォームを表示 | 登録画面に遷移 | |
その他アイコンクリック | 「…」メニューをクリック | CSV出力などのアクション実行 | 状況に応じて処理や画面が変化 | |
ページ送りボタンクリック | 「<」「>」をクリック | 該当ページのレコードを取得して表示 | 一覧のページが切り替わる | 1ページ50件で表示 |
とさまざまなイベントが考えられます。
初期表示のイベントを詳細設計書に書き出すと…

こんな感じではないでしょうか。ちょっとざっと書いて抜けていますが…(2)の一覧データを取得した後に「ページ送り」ボタンの制御(※)がいるかと思います。
※取得したデータが50件以上ならページ送りボタン「<」「>」を表示、取得したデータが50件未満ならページ送りボタンを非表示
左にイベント名、中央に処理、右に備考といった感じで今の開発現場では、詳細設計書を書いていっています。
詳細設計書で意識しないといけないと感じたことは、基本設計書に書いた内容と整合性を保てているかという点や、画面間の繋がりで引渡パラメータが設計書ごとに一致しているかといった点です。
例えば、基本設計書の画面仕様には「入社年月日」と記載されていたのに、詳細設計書では「入社年月」と表記してしまうと、表記の揺れが発生し、関係者間での混乱を招く可能性があります。また、日付の表示フォーマットについても、「yyyy-MM-dd」なのか「yyyy/MM/dd」なのかなど、基本設計書で定められたルールに従って記述することが重要です。基本設計書を「正」として、詳細設計書は書き進めましょう!
また、画面間のつながりに関しては、引渡パラメータの名称や型、データの有無などが設計書間で食い違っていないかを確認することが重要です。例えば、一覧画面から詳細画面へ遷移する際に、社員IDを引き渡す仕様であれば、詳細画面側でもその社員IDを受け取って処理する設計になっている必要があります。どの画面からどのパラメータが渡され、どのように使用されるのかを正確に把握・記述することで、実装やテストの段階でもスムーズに進めることができます。
次にSQL仕様の書き方を説明します!
SQL仕様

SQL仕様には、その画面で使用するSQLの操作とSQL文を論理名で記載します。
仮に社員情報一覧の初期表示は(社員マスタ、部門マスタ)を結合して値を取得する事にします。
社員マスタ
論理名 | 物理名 | 型 |
---|---|---|
社員ID | SHAIN_ID | VARCHAR2(10) |
氏名 | SHAIN_NM | VARCHAR2(100) |
入社年月日 | NYUSHA_DT | DATE |
メールアドレス | MAIL_ADDR | VARCHAR2(255) |
部門ID | BUMON_ID | VARCHAR2(10) |
部門マスタ
論理名 | 物理名 | 型 |
---|---|---|
部門ID | BUMON_ID | VARCHAR2(10) |
部門名 | BUMON_NM | VARCHAR2(100) |
--SQL.A
SELECT
SHAIN.SHAIN_ID AS "社員ID"
, BUMON.BUMON_ID AS "部門ID"
, SHAIN.SHAIN_NM AS "氏名"
, SHAIN.NYUSHA_DT AS "入社年月日"
, SHAIN.MAIL_ADDR AS "メールアドレス"
, BUMON.BUMON_NM AS "部門名"
FROM
M_SHAIN SHAIN
LEFT JOIN
M_BUMON BUMON
ON
SHAIN.BUMON_ID = BUMON.BUMON_ID
ORDER BY
SHAIN.SHAIN_ID ASC;
これをSQL仕様に書き出すと…

こんな感じになります。条件は記載していませんが、WHERE句の内容を記載します。
例えば、初期表示の条件で入社年月日が「20260401」の社員情報を取得しなければいけないとします。
その場合は条件に「社員マスタ].[入社年月日] >= ‘20260401‘」を追加します。

SQL仕様を書くにあたって悩んだ点は、結合条件だったり、画面に表示しない項目であっても他の画面や処理にパラメータとして渡す必要がある場合があるため、それらも取得しておかなければならない、ということでした。
また、削除フラグがあるテーブルの結合では、削除されていないレコードのみを取得する条件を忘れずに付与しなければならない点など、考えることが多かったです。
まとめ
ざっと書きましたが、詳細設計書は基本設計書と整合性がとれているか、ということや他の画面との繋がりを意識して書いていくことが重要だと思います。ぜひ、詳細設計書を書く際は、性能面も意識して他の画面の担当者とも話し合いながら書いていくようにしてみてください!
コメント