古典的な構造化設計と、現代の主流であるオブジェクト指向設計の違いを学びます。
設計って、コードを書き始める前にやることだよね?
そう。
設計手法には大きく構造化設計 (古典) とオブジェクト指向設計 (現代主流) があるの。
構造化設計は処理 (機能) を主役に、機能をモジュールに分解する手法。
「データフロー図」「機能分割」が特徴。
1970年代の主流ね。
オブジェクト指向設計はどう違うんですかぁ?
データと処理を一体化したオブジェクトを主役にしてシステムを表現するのよ。
クラス図やシーケンス図でモデル化して、現実世界の概念を素直に表せるの。
設計品質を測る指標として凝集度 (モジュール内のまとまり) と結合度 (モジュール間の依存) も重要よ。
「凝集度高く、結合度弱く」が理想的な設計。
オブジェクト指向設計の指針として「SOLID原則」も知っておくといいわ。
SRP (単一責任) やOCP (開放閉鎖) などの5つの原則ね。
確認クイズ
ソフトウェア設計で「モジュール内部の機能のまとまり度合い」を表す指標はどれか。
- 結合度
- 凝集度
- 抽象度
- モジュール度
こたえを見る
正解: 2. 凝集度
凝集度はモジュール内部の機能がどれだけ強く関連しているかを表します。凝集度は高い (1つの目的に絞られている) ほど良い設計です。結合度はモジュール間の依存度で、低い方が良い設計です。