読み方 : プログラムせっけい

プログラム設計【program design】

概要

プログラム設計とはソフトウェアや情報システムの開発工程の一つで、実装(プログラミングなど)の直前に、各プログラムの動作や処理の流れなどを詳細に定義する工程。内部設計詳細設計の後工程にあたり、方法論の違いにより、この工程のことを「詳細設計」と呼ぶこともある。
プログラム設計のイメージ画像

具体的には、内部設計機能設計で定められたシステムの構造や仕様をプログラム単位に分割し、各プログラムの動作を定義する。処理の流れを図式化したフローチャートや、UMLアクティビティ図クラス図シーケンス図などが用いられる。データベースの構造やテストケースの定義もこの工程で行われることが多い。

設計では、機能を複数のモジュールコンポーネントに分割し、それぞれの処理内容と相互の連携方法を明確にする。各モジュールが独立して機能するよう設計することで、不具合箇所の特定が容易になり、修正の影響が全体に波及する事態を防げる。同じ処理を共通モジュールにまとめることで、コード量の削減と開発効率の向上にもつながる。

保守性再利用性も重視される要素である。変数名や関数名の付け方、モジュール間の依存関係例外処理の統一方法なども設計段階で整理される。性能要件が厳しい場合は、処理速度やメモリ使用量を考慮した構造が選択されることもある。設計が不十分なまま実装に進むと、論理的な矛盾や大規模な手戻りが発生しやすくなるため、実装前にレビューを行って要件との齟齬を確認する工程が設けられることが多い。

プログラミングそのものに近い工程であり、擬似コード自然言語でプログラムコードにほぼ相当する命令文や制御文を記述する例もある。一方、これを二度手間であるとして省略し、直接実装へ進む場合もある。開発手法によっても進め方は異なり、従来型の開発では詳細な設計書を先に作成するのが一般的であったが、短期間で改修を繰り返すアジャイル開発などの手法では必要最小限の設計にとどめながら実装と検証を繰り返すこともある。

(2026.5.17更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。