詳細設計書(イベント仕様書)に書く内容は?

other

今回は、開発現場で詳細設計書(イベント仕様書)を作成する中で悩んだ点を、メモとしてまとめました。この記事を読むことで、初心者でも詳細設計書(イベント仕様書)に書く内容と書き方がわかるようになると思います!

基本設計書に書く内容は?

この記事では、基本設計書(画面仕様書)の書き方について簡単に説明してみました。
開発現場によって書き方は違うと思うので、「へぇ、こんなこと書くんだな〜」くらいの感覚で参考にしてもらえたら嬉しいです。

※この後に説明する詳細設計書の書き方についても参考にしていただけたら嬉しいです

詳細設計書に書く内容は?

詳細設計書にはシート別に下記の内容を記載していきます。

シート名内容
1. 改訂履歴改訂日、改訂者、改訂内容など。履歴として必ず記載します。
2. イベント仕様書UI上の操作とそれに対するシステムの動作詳細
3. SQL仕様使用するSQL文、パラメータ、対象テーブルなど

開発現場によって異なるとは思いますが、基本はExcelで作成することが多いかと思います。この記事では基本となる、改訂履歴〜SQL仕様について説明したいと思います。

改訂履歴

No改訂日作成者改訂内容
12025/07/31平野【顧客管理画面】
新規作成

改訂履歴シートには誰が・いつ・どんな変更を加えたかを記録します。

イベント仕様書

画像取得元:kintone 総務・人事チームでの利用イメージ

※イベント仕様書の説明のため使わせていただいています

今回は社員情報が一覧で確認できる画面の詳細設計書を作るとしたら…ということで説明していきたいと思います。

この画面で考えられるイベントをまずは整理してみましょう!

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

とさまざまなイベントが考えられます。

初期表示のイベントを詳細設計書に書き出すと…

初期表示

こんな感じではないでしょうか。ちょっとざっと書いて抜けていますが…(2)の一覧データを取得した後に「ページ送り」ボタンの制御(※)がいるかと思います。

取得したデータが50件以上ならページ送りボタン「<」「>」を表示、取得したデータが50件未満ならページ送りボタンを非表示

左にイベント名中央に処理右に備考といった感じで今の開発現場では、詳細設計書を書いていっています。

詳細設計書で意識しないといけないと感じたことは、基本設計書に書いた内容と整合性を保てているかという点や、画面間の繋がりで引渡パラメータが設計書ごとに一致しているかといった点です。

例えば、基本設計書の画面仕様には「入社年月日」と記載されていたのに、詳細設計書では「入社年月」と表記してしまうと、表記の揺れが発生し、関係者間での混乱を招く可能性があります。また、日付の表示フォーマットについても、「yyyy-MM-dd」なのか「yyyy/MM/dd」なのかなど、基本設計書で定められたルールに従って記述することが重要です。基本設計書を「正」として、詳細設計書は書き進めましょう!

また、画面間のつながりに関しては、引渡パラメータの名称や型、データの有無などが設計書間で食い違っていないかを確認することが重要です。例えば、一覧画面から詳細画面へ遷移する際に、社員IDを引き渡す仕様であれば、詳細画面側でもその社員IDを受け取って処理する設計になっている必要があります。どの画面からどのパラメータが渡され、どのように使用されるのかを正確に把握・記述することで、実装やテストの段階でもスムーズに進めることができます。

次にSQL仕様の書き方を説明します!

SQL仕様

画面で仕様するSQLは「SQL仕様」シートに記載

SQL仕様には、その画面で使用するSQLの操作とSQL文を論理名で記載します。

仮に社員情報一覧の初期表示は(社員マスタ、部門マスタ)を結合して値を取得する事にします。

社員マスタ
論理名物理名
社員IDSHAIN_IDVARCHAR2(10)
氏名SHAIN_NMVARCHAR2(100)
入社年月日NYUSHA_DTDATE
メールアドレスMAIL_ADDRVARCHAR2(255)
部門IDBUMON_IDVARCHAR2(10)
部門マスタ
論理名物理名
部門IDBUMON_IDVARCHAR2(10)
部門名BUMON_NMVARCHAR2(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仕様に書き出すと…

SQL仕様

こんな感じになります。条件は記載していませんが、WHERE句の内容を記載します。

例えば、初期表示の条件で入社年月日が「20260401」の社員情報を取得しなければいけないとします。

その場合は条件に「社員マスタ].[入社年月日] >= ‘20260401‘」を追加します。

SQL仕様を書くにあたって悩んだ点は、結合条件だったり、画面に表示しない項目であっても他の画面や処理にパラメータとして渡す必要がある場合があるため、それらも取得しておかなければならない、ということでした。

また、削除フラグがあるテーブルの結合では、削除されていないレコードのみを取得する条件を忘れずに付与しなければならない点など、考えることが多かったです。

まとめ

ざっと書きましたが、詳細設計書は基本設計書と整合性がとれているか、ということや他の画面との繋がりを意識して書いていくことが重要だと思います。ぜひ、詳細設計書を書く際は、性能面も意識して他の画面の担当者とも話し合いながら書いていくようにしてみてください!

コメント

タイトルとURLをコピーしました