段階的詳細化法

プログラミングにおいて段階的詳細化法（だんかいてきしょうさいかほう、）とは、最初にシステム全体を定式化してしまい、その後で、ブラックボックスとなっている各部品の詳細を同様の手法で段階的に詰めてゆくトップダウン開発法（top-down development）を言う。

概要 
シングルスレッド（single-thread）計算機においては、その計算の進行プロセスは一方向しかない。そのようなプロセスを生成するプログラムは、入力→内部操作→出力と、一つの入力に対して一つの出力を持つものとなり、コードとしても上から下へ読めるようなものとなる。

段階的詳細化法（stepwise refinement）とは、まず一番抽象的な一入力と一出力を持つ手続きを書き、次にまた同じく一入力と一出力を持つ手続きをもって、その一番抽象的な手続きの内部処理を詳細化したものを構成する、というプロセスを繰り返して複雑なプログラムを記述する手法である。プログラムの実装において抽象化の表現には関数が用いられる。

脚注

参考文献

関連項目 
 構造化プログラミング
 トップダウン設計とボトムアップ設計
 データ構造 - アルゴリズム

関連人物 
 ニクラウス・ヴィルト
 エドガー・ダイクストラ

ソフトウェア工学