読み方 : こうぞうかせっけい

構造化設計【structured design】

概要

構造化設計とは、ソフトウェアを「モジュール」と呼ばれる機能単位に分割し、モジュール間の関係を整理することでシステム全体の構造を設計する手法。1970年代にラリー・コンスタンティン(Larry L. Constantine)氏やエドワード・ヨードン(Edward N. Yourdon)氏らによって体系化された。
構造化設計のイメージ画像

構造化設計の中心的な概念は「凝集度」(cohesion)と「結合度」(coupling)の2つである。凝集度モジュール内部の要素がどれだけ密接に関連しているかを示す指標で、高いほど良いとされる。一つのモジュールが単一の明確な機能だけを担っている状態が凝集度の高い設計で、無関係な処理が同一モジュールに混在している状態は凝集度が低いとみなされる。結合度モジュール間の依存関係の強さを示す指標で、低いほど良いとされる。モジュール同士が互いの内部構造に深く依存していると、一方を変更した際に他方にも影響が波及しやすくなるためである。

システム全体の構造は「構造化チャート」(structure chart)と呼ばれる図で表現される。この図では上位モジュールが下位モジュールを呼び出す階層関係を図示し、モジュール間でやり取りされるデータと制御信号を矢印で示す。この図によってシステム全体のモジュール構成と呼び出し関係を俯瞰できる。

構造化設計は「構造化分析」(structured analysis)と組み合わせて使われることが多い。これはデータフロー図DFDData Flow Diagram)を使って要件を分析する手法で、DFDで描いたデータの流れをモジュール構造に変換するための「STS分割」や「TR分割」などの手法が提唱されている。オブジェクト指向設計が普及した現在では主流の地位を譲っているが、手続き型言語を使ったシステムや組み込み開発などでは引き続き用いられている。

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