ソフトウェアの開発・運用・保守

モジュールの設計

設計の原則

①モジュール性

システムの要素を機能や振る舞いの単位に分離するという原則

モジュールの分離の度合いを図る目安

モジュール結合度

モジュール同士の関係の強さを表します。

内部結合

他のモジュールの内容を直接参照する

共通結合

共通領域に定義したデータを参照する

外部結合

外部宣言しているデータを共有する

制御結合

制御パラメタを引数として渡し、モジュールの実行順序を制御する

スタンプ結合

データ構造を引数として受け渡す

データ結合

データ項目だけを引数として受け渡す

モジュール強度

一つのモジュール内の機能同士の関連の強さを表します。

暗号的強度

内部の機能同士に関連がない

論理的強度

関連した複数の機能を持ち、その中からどれか一つ選択するようなモジュール

時間的強度

機能が時間順に実行されるモジュール

手順的強度

機能が順番に実行されるモジュール

連続的強度

内部の機能同士がデータを共有するモジュール

情報的強度

データを共有する機能を一つにまとめたモジュール

機能的強度

一つの機能だけからなるモジュール

暗記の仕方

・モジュール結合度
昨日(機能)の常連(情 連)って()ジロリアン(時 論 暗)?

・モジュール強度
結合です(デ ス制御が()できない(共 内

②インターフェース

ソフトウェアユニットが提供するサービスと、それをどのように要求するできるかを定義する

③隠蔽

将来変更される可能性のある設計上の都合を、外見からは見えなくする

– データ表現を隠蔽したモジュールは情報的強度を持つ

– アルゴリズムを隠蔽したモジュールは機能的強度を持つ

④インクリメント開発

ソフトウェアユニット間の依存性に着目

⑤抽象化

詳細を省くことによって他の詳細に焦点を当 てるモデルや表現方法

⑥一般化

ソフトウェアユニットを活用しやすくなるような 設計を目指す

– 再利用を念頭にする

• 各ユニットを多くの状況で繰り返し利用する – 内容依存のある情報をパラメータ化する
– 事前条件を無くす
– 事後条件を簡素化する

ソフトウェア開発おすすめ本

created by Rinker
¥3,520
(2020/09/19 20:10:58時点 楽天市場調べ-詳細)