仕様と設計の違いとは?IT初心者でもわかる役割・流れ・実務での使い分けを解説
結論として、「仕様」はシステムが何をどのように動作するかを決めた内容、「設計」はその仕様を実現するための具体的な作り方を考える作業です。
IT業界では「仕様書を作ってください」「設計書を作成してください」という指示を受けることがありますが、この2つは同じ意味ではありません。違いを理解しておくことで、資料作成や打ち合わせ、開発や運用保守での認識違いを防ぐことができます。
仕様とは
仕様(Specification)とは
仕様とは、システムや機能がどのような動作をするのかを定義した内容です。
「何をどのように実現するのか」を利用者や開発者が共通認識として持つために作成します。
例えば、社員管理システムでログイン機能を作る場合の仕様は次のようになります。
- 社員番号とパスワードでログインする
- パスワードを5回間違えるとアカウントを30分ロックする
- ログイン成功後はトップ画面へ移動する
- 管理者と一般社員で表示メニューを切り替える
このように、「システムはどう動くべきか」を決めるのが仕様です。
設計とは
設計(Design)とは
設計とは、仕様を実現するためにシステムをどのような構成で作るかを決めることです。
設計では、プログラムやデータベース、画面、ネットワークなどの構成を具体的に決めます。
例えば、先ほどのログイン機能であれば次のような内容が設計になります。
- ユーザー情報を保存するデータベーステーブルを作成する
- パスワードはハッシュ化して保存する
- 認証処理を行うプログラムを作成する
- ログイン失敗回数を記録するテーブルを用意する
- エラーメッセージの表示方法を決める
つまり、「どのように作るか」を具体化するのが設計です。
仕様と設計の違いを比較
| 項目 | 仕様 | 設計 |
|---|---|---|
| 目的 | システムの動作を決める | 仕様を実現する方法を決める |
| 内容 | 画面の動き・機能・ルール | プログラム・DB・画面構成・処理方法 |
| 利用者 | 顧客・利用部門・開発者 | 設計者・開発者 |
| 成果物 | 仕様書 | 基本設計書・詳細設計書 |
| 変更時の影響 | 業務や機能に影響する | 実装方法に影響する |
開発の流れで考えると分かりやすい
システム開発では、一般的に次の順番で進みます。
- 要件を決める(何を実現するか)
- 仕様を決める(どのような機能・動作にするか)
- 設計を行う(どう作るか)
- プログラムを開発する
- テストを実施する
- 運用を開始する
仕様が決まっていない状態で設計を始めると、途中で設計の見直しが発生し、工数やコストが増える原因になります。
IT業務ではどんな場面で使われるのか
仕様と設計は開発だけでなく、社内SEやインフラエンジニア、運用保守でも日常的に使用します。
- 新しいシステムの導入
- Active Directoryの構築
- ファイルサーバーの構築
- ネットワーク設計
- クラウド環境の構築
- 社内システムの改修
例えば、共有フォルダーを部署ごとに分けるという仕様が決まれば、どのサーバーに作成するか、アクセス権をどう設定するかを決めるのが設計です。
初心者が混乱しやすいポイント
仕様書に設計内容を書いてしまう
仕様書には「何をするか」を記載し、プログラムの処理内容やデータベース構成などは設計書へ記載するのが一般的です。
設計書に業務要件を書いてしまう
「社員が勤怠を入力できる」という内容は仕様に近く、「勤怠データをattendanceテーブルへ保存する」という内容は設計になります。
実際のIT現場での利用例
ファイルサーバーを構築するケースで比較してみましょう。
| 仕様 | 設計 |
|---|---|
| 部署ごとに共有フォルダーを利用できる | Dドライブ配下に部署別フォルダーを作成する |
| 他部署は閲覧できない | NTFSアクセス権と共有アクセス権を設定する |
| 障害時もデータを保護する | 毎日22時にバックアップを取得する |
| 社外から利用できる | VPN接続時のみアクセスを許可する |
筆者が現場で経験した失敗例
ある案件で「ログイン失敗時はエラーメッセージを表示する」という仕様だけを確認し、設計を進めたことがありました。しかし後になって「失敗回数を記録し、5回でロックする必要がある」と判明し、データベース設計や認証処理を大きく変更することになりました。
仕様を十分に確認せず設計を始めると、このような手戻りが発生しやすくなります。
業務でよくあるトラブル
- 仕様変更が設計へ反映されていない
- 設計書が古いまま更新されていない
- 仕様書と設計書で内容が異なる
- 運用担当が設計書しか見ておらず仕様を理解していない
- 開発者ごとに設計内容が異なる
確認する順番
- 仕様が確定しているか確認する
- 設計書へ反映されているか確認する
- レビューを実施する
- 実装内容と設計書を照合する
- テスト結果を確認する
影響範囲を確認するポイント
| 変更内容 | 影響範囲 |
|---|---|
| 仕様変更 | 設計・開発・テスト・運用 |
| 設計変更 | 開発・テストが中心 |
| プログラム修正 | 実装・テスト |
ログや確認方法はある?
仕様や設計そのものは、イベントビューアーやコマンドで確認するものではありません。
ただし、設計どおりに動作しているかを確認する際には、イベントビューアー、PowerShell、コマンドプロンプト、アプリケーションログなどを使用して検証を行います。
初心者がやりがちなミス
- 仕様と設計を同じ意味で使う
- 仕様変更を設計書へ反映しない
- 設計書を更新せず開発を進める
- レビューを省略する
- 口頭だけで変更内容を共有する
業務で上司へ報告するポイント
- 仕様変更の有無
- 設計書への反映状況
- 影響する機能
- テスト項目の追加有無
- スケジュールへの影響
エスカレーションするタイミング
- 仕様が確定していない
- 仕様書と設計書で内容が異なる
- 設計変更で他システムへ影響する
- 納期に影響が出る可能性がある
- 顧客確認が必要な仕様変更が発生した
新人が覚えておくべきポイント
- 仕様は「システムがどう動くか」
- 設計は「どう作るか」
- 仕様が決まってから設計を行う
- 設計書は必ず最新状態に保つ
- 仕様変更時は影響範囲を確認する
関連するIT用語
- 要件
- 要件定義
- 基本設計
- 詳細設計
- システム設計
- 画面設計
- データベース設計
- テスト設計
よくある質問(FAQ)
仕様書と設計書は同じものですか?
違います。仕様書はシステムの動作やルールをまとめた文書であり、設計書はその仕様を実現するための構成や処理方法をまとめた文書です。
設計にはどのような種類がありますか?
一般的には、システム全体の構成を決める「基本設計」と、プログラムやデータベースなどの詳細な作り方を決める「詳細設計」があります。
仕様が変わると設計も変わりますか?
はい。仕様変更は設計や開発、テストに影響することが多いため、変更内容を確認し、必要に応じて設計書を更新する必要があります。
まとめ
仕様と設計は密接に関係していますが、役割は異なります。
- 仕様は「システムがどう動くか」を決めるもの
- 設計は「仕様をどう実現するか」を決めるもの
- 仕様が固まってから設計を進めることが重要
- 仕様変更時は設計書への反映を忘れない
- 資料ごとの役割を理解すると、認識違いや手戻りを防げる
社内SEや運用保守、新人エンジニアは、「仕様」と「設計」の違いを意識するだけでも、会議やレビュー、資料作成の質が向上します。実務では「これは仕様の話か、それとも設計の話か」を確認する習慣を身に付けることが、スムーズなプロジェクト進行につながります。

コメント