開発・Git・設計の用語一覧へ
このページの目次

設計とは?

最終更新:2026/08/18

3秒でわかる

作るものの構造と分担を、コードを書く前に決める工程。後から直すと高くつく判断を、安く試せる紙の上で先に済ませるための作業です。

もう少し詳しく

どういうものか

設計は、要件として決まった「何を作るか」を、「どう作るか」に変換する工程です。画面の構成、データの持ち方、処理をどのモジュールに分けるか、外部システムとどうつなぐかを決めます。粒度によって呼び分けがあり、システム全体の構成を決めるのがアーキテクチャ設計、機能ごとの入出力を決めるのが基本設計、クラス関数レベルまで落とすのが詳細設計です。

なぜ必要か

変更のコストは工程が進むほど跳ね上がるためです。テーブルにカラムを 1 本足す判断は、設計段階なら文書の書き換えだけで済みます。実装後なら、移行スクリプト、影響する画面、テストの修正が付いてきます。運用開始後なら、それに加えて既存データの補正が要ります。安く直せるうちに間違いを見つけるのが設計の目的です。

もうひとつは分担です。3 人で作るとき、境界が決まっていないと同じものを 2 人が別々に作ったり、どちらも作らずに落ちたりします。設計は作業を切り分けるための線引きでもあります。

具体例

設計の成果物は文章と図です。たとえば、注文機能のデータ構造を先に決めるとこうなります。

users ── 1 ─── n ── orders ── 1 ─── n ── order_items n 1 products
-- 決めた構造をそのまま定義に落とす CREATE TABLE orders ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, ordered_at DATETIME NOT NULL, status VARCHAR(20) NOT NULL, FOREIGN KEY (user_id) REFERENCES users(id) );

金額を注文明細にも持たせるかどうかは設計上の判断です。商品マスタを参照するだけにすると、値上げした瞬間に過去の注文金額まで変わります。過去の伝票は当時の値段で残すべきなので、明細に単価をコピーして持ちます。こうした判断は、実装を始めてからでは戻りにくいところです。

つまずきやすいところ

設計を完璧にしてから実装に入ろうとすると、決められない項目で止まります。実際に動かさないと分からないことは必ず残るため、リスクの高い部分だけ先に小さく試し、残りは実装しながら決める形が現実的です。

逆に、設計を飛ばして書き始めると、動くものはできてもデータの持ち方が歪んだままになります。特にテーブル設計は後から変えにくいので、ここだけは先に紙の上で確かめます。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地設計開発・Git

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

DB設計入門 ER図・正規化・インデックス

47レッスン
コース

コンピューターサイエンス上級:アルゴリズムとデータ構造

50レッスン
コース

基本情報技術者(FE)対策

79レッスン
SQL・データベースコースの全編を見る