公開日2022.04.14
最終更新日2022.10.05
はじめに
現場に入ってよく「モジュール」という言葉を聞くことはありませんか?
もしくは、基本情報技術者試験の勉強をしていて聞いたことがある方もいらっしゃるかもしれません。
本記事では、以下の方を対象に分かりやすく解説していきます。
- 基本情報技術者試験に向けて学習している方
- モジュールがイマイチ分からない方
イメージが湧くようにプログラムを見ながら解説もしていますので、ぜひ参考にしてください。
筆者は何となくしか理解していなかったので、ここでモジュールについてまとめながら一緒に納得出来たらいいな!と思います。
それでは、「モジュールとは何ぞや?」というところから解説していきたいと思います!
モジュールの意味
「モジュール」という言葉はIT業界だけでなく、様々な業界で使用されている言葉です。
ここでは「モジュール本来の意味」と「プログラミングにおけるモジュールの意味」を解説していこうと思います。
モジュール本来の意味
本来のモジュールの意味は、「交換可能な構成要素」、言い換えると「部品」です。もう少し詳しくすると、ある一定の規定に基づいて交換可能な状態で作られているため、内部設計が違うモジュールを交換した場合でも、全体として問題なく動作するということです。
参照:三省堂 辞書ウェブ編集部による ことばの壺
例えば、スマホの充電コードでは、機種にあった充電の挿し口であれば、正規品でなくても充電することは可能ですよね?これは、ある一定の規定に基づいて製造された部品だからです。
プログラミングにおけるモジュール
さて、上記の話を踏まえて、プログラミングにおけるモジュールとは何でしょうか?
Javaでプログラムを作る時は、共通する動きは一つの部品として独立させます(「モジュール化」といいます)。プログラムは、それらのいくつもの部品を組み合わせて作っていくことが一般的です。
参照:ビズドットオンライン
プログラムを使ったモジュールの説明
それでは、以下のプログラムを使ってモジュールを説明しようと思います。
プログラム①
public static void main(String[] args) {
System.out.println("今日の夜ご飯は、カレーライスです。");
System.out.println("今日の夜ご飯は、コロッケです。");
System.out.println("今日の夜ご飯は、そばです。");
}
プログラム②
public static void main(String[] args) {
dinner("カレー");
dinner("コロッケ");
dinner("そば");
}
public static String dinner(String food) {
System.out.println("今日の夜ご飯は、"+ food + "です。");
return food;
}
出力結果(プログラム①②の出力結果は同じです。)
今日の夜ご飯は、カレーライスです。
今日の夜ご飯は、コロッケです。
今日の夜ご飯は、そばです。
例えば、上記のようなプログラムがあったとします。
①では同じ言葉を3回も書いています。それに対して、②では同じ処理を1つにまとめて書いています。
②のように、同じ処理を1つの部品としてまとめて書いたものを「モジュール」といいます。
複数のモジュールに分割することで、モジュールごとに分担して開発作業できるようになります。
基本情報技術者試験で問われるモジュール
これまでは、モジュールとは何?について解説してきました。
ここでは、基本情報技術者試験で出題されるモジュールについて内容をまとめようと思います。
試験では、「モジュールの独立性の評価」に関する問題が問われます。
それでは、以下で詳しく解説していきます。
モジュールの独立性
プログラムの信頼性と保守性を高めるためには、モジュールの独立性を高くすることが重要になります。モジュールの独立性が高いということは、1つのモジュールに入れる機能が少量であるということになります。
それでは、なぜモジュールの独立性が高いほど良いのでしょうか?
それは、あるモジュールが故障したり変更されても、他のモジュールへの影響が少なくなるからです。言い換えれば、不具合の影響が最小限に抑えられるということです。
「モジュールの独立性」のイメージが湧きましたか?
モジュール強度
モジュール強度とは、モジュール内にある機能の関連の強さを表す基準です。
モジュール強度には、以下の表のとおり7段階あります。
ポイントは、モジュール強度が高いほど、モジュールの独立性は高くなります。
モジュール結合度
モジュール結合度とは、他のモジュールに与える影響の度合いを表す基準です。
モジュール結合度には、以下の表のとおり6段階あります。
ポイントは、モジュール結合度が強いほど、モジュールの独立性は低くなります。
以上が、基本情報技術者試験で問われるモジュールです。
過去問を確認してみましたが、それぞれの表の名称と説明内容が一致するようにしておいた方が良いかもしれません。
工業大学生ももやまのうさぎ塾
まとめ
モジュールについてイメージを持っていただけましたか?
また、基本情報技術試験で出題されるモジュールの独立性とその評価基準についても触れてみましたが、いかがだったでしょうか?
モジュールという言葉が出てきたら、「機能ごとにまとまった部品」なんだなぁと考えてOKです!
IT用語って難しいですね。。
ここでまとめたことが皆さんの役に立てばいいな〜!と思います。
さて、、、おいしいご飯の時間にしましょう!笑