4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【チェックシート】システム開発において、基本・詳細設計書のレビューでよくある指摘観点をまとめる

Last updated at Posted at 2023-04-25

はじめに

SAP社のエンタープライズPaaS製品である、SAP Business Technology Platform(BTP) で業務アプリケーション開発をしている@fussasyです。これまで開発プロジェクトを経験する中で、チームメンバーの設計レビューをする機会が多くありました。やはり、レビューでは似たような指摘も発生してしまい、手間に感じている部分もありましたので、まとめてしまいたいと思いました。
当記事ではレビュイーが設計書レビューに向かう前の事前チェック資料、もしくはレビュアーがレビューをするための補足資料として活用していただければと思います。アプリケーション開発する際、品質の向上に繋がれば嬉しく思います。なお、この記事については随時、更新すると思います。

チェック観点

当資料は、基本設計書(外部設計書)および詳細設計書(内部設計書)の両方で利用できる、汎用的な内容を含んでおりますので、各設計書のフォーマット独自に設定された項目については対象外としています

設計書全般に関するチェック事項

機能要件について、内容を把握しレビュアに対して説明できること
非機能要件について、内容を把握しレビュアに対して説明できること
誤字・脱字について全体を見返して確認したこと
変更履歴(設計書ヘッダに記載項がある場合は併せて)に、プロジェクト管理に関する情報の記載漏れがないこと
提供されている記述ルールに従って記述していること
言い切りの形で記述していること(できないこと、しないことを明確にするため)
捉え方が異なる表現方法を使用していないこと(特に、二重否定は使用しない)
5W1Hハッキリと記述していること
設計の際、仕様が不明瞭なものについては、関係者にQAを実施し回答を刈り取っていること
設計の際、関係者にQAを実施し、回答を刈り取ったものについて、証跡を一覧として提示できること
基本設計書について、レビュアに対して要件定義書からの反映箇所を説明できること
詳細設計書について、レビュアに対して基本設計書からの反映箇所を説明できること
使用する言葉は各シートで統一していること(各種テーブル、各種メッセージ、共通モジュール、等)
ペンディングとなっている箇所を明記し一覧化していること
ペンディングとなっている箇所に日付と内容を記載していること
レビュー後に仕様変更が発生している場合、変更管理表に記載されていること
レビュー後に仕様変更が発生している場合、設計書の変更履歴へ管理番号を更新していること(ver.1.00→1.01等)
レビュー後に仕様変更が発生している場合、設計書の変更履歴へ変更内容の概要を記載していること
レビュー後に仕様変更が発生している場合、設計書の変更箇所が分かるように赤字にする、または同行の枠外に「ver.1.01 修正」等の記載をしていること

機能・非機能要件に関するチェック事項

以下、要件に関する情報を確認して明確にしており、設計書に記載されていること

背景・目的・役割・処理内容・制約(利用可能時間 等)
画面レイアウト全般(文字、文字数、文字タイプ、項目レイアウト、項目幅、テーブルレイアウト、画像、画像位置、画像幅、ヘッダ情報・フッダ情報 等)
画面遷移時の挙動(同タブ、新タブ、新ウィンドウ)
各ボタン押下時の挙動
各フレームワーク標準機能の利用有無
タブ切り替え時の挙動(タブ順)
カーソル制御の要否
機能の共通化検討
対象データと対象外データの判定条件
業務ロジックの判定条件
集計処理の挙動想定
単一値と範囲値の挙動想定
数値計算処理の挙動想定(0除算が発生しない、マイナス値の許容、オーバーフロー発生)
日付計算処理の方式(営業日・カレンダ日数・JST時刻・UTC時刻 等)
エラー・警告・情報の発生条件(オンライン処理・バッチ処理)
エラー・警告・情報の発生時の挙動(オンライン処理・バッチ処理(処理レコードスキップして続行かどうか等))
エラー・警告・情報の発生時のメッセージ内容(オンライン処理・バッチ処理)
オンライン処理の処理動作(ゼロ件、1件、複数件 等)
オンライン処理の処理件数の想定(最大・平均)
オンライン処理の処理件数の年次(月次)増加想定(最大・平均)
バッチ処理の処理動作(ゼロ件、1件、複数件 等)
バッチ処理の処理件数の想定(最大・平均)
バッチ処理の処理件数の年次(月次)増加想定(最大・平均)
バッチ処理は並列・並行のどちらを許すか
バッチ処理は同期・非同期のどちらを許すか
バッチ処理のコミット要件・ロールバック要件
バッチ処理の処理タイミング
複数バッチ処理の場合、ジョブ構成(番号・名称・実行順・実行時間想定・並列数・多重度 等)
複数バッチ処理の場合、ジョブのリカバリー方法(リランポイント・リカバリー手順 等)
データベース操作のデータ想定(ゼロ件、1件、複数件 等)
データベース操作の制約(時間帯・権限 等)
データベース操作方法(REST API 等)
データベース操作時の排他要件・排他解除要件
データベースに登録した内容の保持期間・削除条件・削除方法
データベースに登録した内容の保持に関する監査要件
ユーザーの認証・認可・権限に関すること
システムのパフォーマンス(レスポンス 等)
アップロード処理(ファイル形式、ファイルレイアウト、ヘッダ有無 等)
ダウンロード処理(ファイル形式、ファイルレイアウト、ヘッダ有無、ファイル名 等)

おわりに

基本設計書と詳細設計書で分けて書いていたんですが、似たような内容となってしまったので集約しました。受託開発だと設計書を作成する作業はどうしても多いと思うので、参考になれば嬉しいです。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?