基本情報技術者試験まとめ

基本情報技術者試験に出題される内容をまとめました。

ソフトウェア詳細設計

プログラム構造化設計

 プログラムをモジュールというひとまとまりの機能を持った単位に分割する事。

 モジュールに分割する事で、大勢の人で分担してプログラムを開発できるようになる。また、モジュール単位でテストができるので、問題が起きても原因を特定しやすく、修正もモジュール内だけで済む。

 

<モジュールの独立性>

 プログラムの信頼性と保守性を高めるには、1つのモジュールに入れる機能をできるだけ少なくし、各モジュールの独立性を高くする。

 モジュールの独立性は、モジュール強度とモジュール結合度で評価する。

 

モジュール強度

 1つのモジュール内の機能同士の関連の強さを示す。

暗号的強度:内部の機能同士に関連性が無い(独立性・強度1)

論理的強度:関連した複数の機能を持ち、その中からどれか1つを選択するモジュール(独立性・強度2)

時間的強度:機能が時間順に実行されるモジュール(独立性・強度3)

手順的強度:機能が順番に実行されるモジュール(独立性・強度4)

連絡的強度:内部の機能同士がデータを共有するモジュール(独立性・強度5)

情報的強度:データを共有する機能を1つにまとめたモジュール(独立性・強度6)

機能的強度:1つの機能だけから成るモジュール(独立性・強度7)

 

モジュール結合度

 モジュール同士の関係の強さを示す。

内部結合:他のモジュールの内容を直接参照する。(独立性1・結合度6)

共通結合:共通領域に定義したデータを参照する。(独立性2・結合度5)

外部結合:外部宣言しているデータを共有する。(独立性3・結合度4)

制御結合:制御パラメータを引数として渡し、モジュールの実行順序を制御する。(独立性4・結合度3)

スタンプ結合:データ構造を引数として受け渡す。(独立性5・結合度2)

データ結合:データ項目だけを引数として受け渡す。(独立性6・結合度1)