トップダウン設計=サブシステムから設計するアプローチ
トップダウン設計では、システム全体を把握した上で、システムを構成するサブシステムを設計し、次にサブシステムを構成する機能を設計し、機能を構成するモジュールを設計する。
このように、トップダウン設計はシステム全体から段階的に詳細化していくアプローチである。
トップダウン設計には設計がほぼ完了するまでプログラム開発をスタートできないというデメリットがある。
ボトムアップ設計=モジュールから設計するアプローチ
ボトムアップ設計では、最初に個々のモジュールを設計した上で、モジュールを組み合わせて実現される機能を設計する。
このように、ボトムアップ設計はモジュールから機能、機能からサブシステム、サブシステムからシステムと段階的に組み上げていくアプローチである。
ボトムアップ設計ではモジュール単位の設計が完了すればプログラム開発を開始できるが、モジュールを組み合わせててうまくいかない場合など、後に設計変更が求められるリスクがある。
システム設計の現場では、通常、状況に応じて両方のアプローチを併用する。