モジュール強度とは?
モジュール強度について簡単に解説します。
- そもそもモジュールとは?
- モジュール内の関連性の強さ
- 強度は強いほうが良い
順番に見ていきましょう。
①そもそもモジュールとは?
プログラムを機能単位に分割した部品のことをモジュールと呼びます。電卓アプリを例に挙げるなら『入力モジュール』『演算モジュール』『表示モジュール』などのように、機能ごとに独立した部品を作成し、モジュール間でデータのやり取りを行うことで、アプリケーション全体の機能を実現しています。このように通常は組み合わせて使われます。
②モジュール内の関連性の強さ
モジュール強度とは、モジュール内部の機能の関連性の強さを表す指標です。言い換えれば、モジュールがどれだけ単一の機能を実現することに特化しているかを意味します。強度が高いほど、独立性が高く、低いほど、他のモジュールに依存するため、修正や変更の影響を受けやすくなります。つまり強度は可能な限り高いほうが望ましいと言えます。
③強度は強いほうが良い
メンテナンスが容易であるという観点から、モジュールの強度は高いほうが良いと言えます。機能的にまとまっているため独立性が高く、ある1つのモジュールを修正しても、他のモジュールに予期せぬ影響を与える可能性が低くなります。そのためモジュールを独立して変更・拡張することができ、プログラムの再使用性や保守性が高まります。
モジュール強度とは?
モジュール強度の種類は以下の6つです。
- 機能的強度
- 情報的強度
- 連絡的強度
- 手順的強度
- 時間的強度
- 論理的結合
- 暗号的結合
なお上から強い順に並んでいます。
①機能的強度
機能的強度は、モジュールが単一の、明確な機能を果たすことを意味します。この種類のモジュールは、その機能に完全に集中しており、他の機能や操作から独立しています。これにより、モジュールは理解しやすく、再利用が容易になります。例えば、数値をソートする機能だけを持つモジュールは、機能的強度が高いと言えます。
②情報的強度
情報的強度は、同じデータや情報に基づく操作をまとめたモジュールです。これにより、データの整合性を保ちやすくなり、関連する操作が一箇所に集中するため、データ管理が効率的になります。例としては、顧客データベースに対するすべてのクエリ操作を一つのモジュールにまとめることが挙げられます。
③連絡的強度
連絡的強度は、複数の操作が順序良く実行されるべき時に用いられるモジュールの特性です。これは、ある操作の出力が次の操作の入力となるような場合に適しています。しかし、この種類のモジュールは、操作間の独立性が低下するため、変更が困難になる可能性があります。
④手順的強度
手順的強度は、特定のタスクを実行するための一連の手順を含むモジュールです。これは、あるプロセスやアルゴリズムが複数のステップで構成されている場合に見られます。このモジュールは、手順の順序や流れを明確にすることで、プログラムの構造を整理するのに役立ちます。
⑤時間的強度
時間的強度は、特定の時間やイベントに基づいて実行される操作をまとめたモジュールです。これは、システムの起動時や定期的なメンテナンス時に必要な操作を含むモジュールで、タイミングに依存する処理を集中管理することができます。例えば、エラーログを定期的にクリアする機能など、時間に依存するタスクがこのカテゴリに含まれます。
⑥論理的強度
論理的強度は、関連する複数の機能を一つのモジュールにまとめ、実行時に選択肢を提供することです。これにより、モジュールは柔軟性を持ちますが、複雑性が増すため、理解や保守が難しくなることがあります。例えば、異なる種類のレポートを生成する機能を持つモジュールは、論理的強度があると言えます。
⑦暗合的強度
暗号的強度は、関連性のない機能を一つのモジュールに無理やりまとめたものです。この種類のモジュールは、理解や保守が非常に困難であり、避けるべき設計とされています。例としては、印刷機能とデータベースアクセス機能を一つのモジュールにまとめた場合、暗号的強度が高いと評価されます。
モジュール強度の覚え方
情報処理技術者試験を乗り越えるための覚え方を紹介します。
- モジュール結合度の英語表記
- モジュール結合度の語呂合わせ
強度の内容を暗記するより、順番を語呂合わせで覚える方が近道でしょう。
①モジュール強度の英語表記
モジュール強度の英語表記は “Module Strength” です。“Module” は『部品』を意味し、“Strength” は『強さ』を意味します。
②モジュール強度の語呂合わせ
昨日(きのう)の常連(じょうれん)って白アリ(しろあり)?
独立性 高←←←←←←←←←←低
えっきゅのブログ様
強度 強←←←←←←←←←←弱
私は『えっきゅのブログ』様で紹介されている語呂合わせで、基本・応用情報技術者試験を乗り切りました。モジュール強度の頭文字を繋げたもので、シンプルかつ短くまとまっていて、非常に覚えやすかったので共有させていただきます。
モジュール結合度との違い
よく似た用語である『モジュール結合度』との違いを解説します。
- 結合度は他のモジュールとの関係
- 独立性・結合度・強度の関係
順番に見ていきましょう!
①結合度は他のモジュールとの関係
モジュール結合度は、異なるモジュール間の依存関係の強さを表し、モジュール同士がどれだけ密接に関連しているかを示します。結合度が低いほど独立性が高く、システムの柔軟性が向上します。要するにモジュール結合度は『他の』モジュールとの関係の強さを表し、モジュール強度はモジュール『内の』機能関係を表すという点で異なります。
②独立性・結合度・強度の関係
- 評価 優←←←←←←←←←←劣
- 独立性 高←←←←←←←←←←低
- 結合度 低←←←←←←←←←←高
- 強度 高←←←←←←←←←←低
独立性が高いことで、各モジュールは他のモジュールから分離され、結合度が低いことで、それらのモジュール間の相互作用が最小限に抑えられ、強度が高いことで、各モジュールがその機能をしっかりと果たすことができます。これらの要素が組み合わさることで、全体としての品質が向上し、メンテナンスや拡張がしやすい設計になります。
コメント