†プログラム設計では、前工程の内部設計で定義された機能を、プログラムで実現するための設計を行う。プログラムは、モジュール単位に分割される。これは設計やメンテナンスを行いやすくするのが目的である。条件を明確化し、同じものはまとめて記述する。条件の同じものをセグメント化する。明確な論理展開わかりやすい論理構造を目指す。†トップダウンアプローチ上部モジュールから下部モジュールに向かって開発していくと、全体像が把握しやすいというメリットがある。ボトムアップアプローチ下部モジュールから上部モジュールに向かって開発すると、既存のモジュールを再利用して開発効率を上げられるというメリットがある。†プログラムをモジュールに分割して構造化を行う技法には、次が挙げられる。プログラム設計などで使われる。データの流れを、次の3種類に分割される。それぞれをモジュールとして考える。入力データの意味を消失する点と、出力データの意味を持ち始める点を探して、制御モジュールの下に位置付ける。出力データらしく見えてきた時点を最大抽出点という。分岐モジュールの下に、トランザクションの種類ごとの複数階層を持つ構造に変換する。入力データ(トランザクション)がいくつかの種類に分類できる場合、その種類ごとに分割する。他のモジュールから共通的に使用するモジュールを洗い出そうとする考え方。エラー処理などに用いる。†ジャクソン法は、プログラムのモジュール構造を入出力データの構造に対応させて設定を行う方法である。Jacksonによって提唱された。入力データと出力データの構造の対応関係を分析し、ジャクソン木を用いて階層化する。モジュールは次の4種類で構成される。入力データを集合論によって分析し、選択・繰り返しと前処理・後処理の構造に整理する。モジュールは次の3種類で構成される。繰り返しジャクソン法と異なり、ワーニエ法は入力データ構造のみからプログラム構造を決める。データフローで明確にされた仕様を起点として、独立性の高いモジュールに分割していく手順が示されている。この設計法では、独立度を強度と結合度に分けて整理している。モジュールの独立性を評価する指針として、次の2つがある。モジュール強度ひとつのモジュール内の関連の強さを示す。モジュール結合度モジュール同士の関連の強さを示す。モジュールの独立性を高くすると、あるモジュールの修正によるほかのモジュールへの影響をす少なくすることができる。独立性を高くするには、モジュール強度を強くして、モジュール結合度を弱くする。モジュール強度は機能的強度、モジュール結合度はデータ結合が一番よい。†モジュールの強度とは、仕様(機能)とモジュールとの関係の強さを示している。モジュール強度は関連性の大きさであり、強いほどモジュールの独立性が高い。した複数の機能をひとつにまとめる。逐次的な機能をひとつにまとめる。データ構造の複数個の機能をまとめる。機能的強度すべての機能が単一機能実行のために関連する。†モジュールの結合度とは、2つのモジュール間の依存度を示している。一方を変更したときに他方に及ぶ影響の度合いでもある。結合度は小さいほどよい。結合度について望ましくないものから順に次のようになる。データをいくつかのモジュールで共有する。必要なデータのみ外部宣言して共有する。制御結合モジュール実行制御情報をパラメータとして渡す。同じ構造なら不要データも受け渡す。構造だけでなくデータ要素のみを受け渡す。プログラム(3007d)。