モジュール
モジュールとは、モジュールの意味
モジュールとは、建築用語としては設計上の基準となる基本寸法のことである。英語の module に由来する言葉であり、規格化された構成単位、それ自体独立した機能を持つもの、といった意味を持つ。IT用語としては、ひとまとまりの機能のことを指し示し、独立性の高い交換可能なものといった意味合いを含む。ソフトウェア、ハードウェア両面で用いられる概念である。ソフトウェア開発時のプログラムへの影響範囲を測る指標として、モジュール強度とモジュール結合度が用いられる。いずれもプログラム部品の性質を示す言葉であり、モジュールが一つの機能のみ提供することをモジュール強度が強いという。一方、各モジュール間で与える影響が小さいことをモジュール結合が弱いという。一般に、プログラムへの影響範囲を特定できることから、モジュール強度が高くモジュール結合が弱い設計が好まれる。
モジュールを用いた用語として、モジュール学習、モジュールレイアウトなどが挙げられる。モジュール学習は15分程度の短期学習を差し、帯学習と呼ばれることもある。モジュールレイアウトは、鉄道模型のレイアウトの一つであり、一定の規格に従って作成された鉄道模型ボードをモジュールと呼び、これを用いて作成されたレイアウトのことをいう。
module
「module」の意味
「module」とは、一つの独立した機能や部品を持つ単位である。コンピューターソフトウェアやハードウェアの分野では、特定の機能を果たすために設計された部分を指す。また、建築や構造物においては、予め設計された部品や部分のことを指す。これらのモジュールは、組み合わせることで複雑なシステムや構造物を構築することができる。「module」の発音・読み方
「module」の発音は、/ˈmɒdjuːl/であり、IPAのカタカナ読みでは「モジュール」となる。日本人が発音するカタカナ英語では「モジュール」と読む。「module」の定義を英語で解説
A module is a self-contained unit with a specific function or purpose, often used in the context of computer software, hardware, or construction. Modules can be combined to create complex systems or structures.「module」の類語
「module」の類語には、component(コンポーネント)、unit(ユニット)、element(エレメント)、section(セクション)、part(パート)などがある。これらの言葉は、それぞれ独立した機能や部品を持つ単位を指すが、使用する文脈によって意味が微妙に異なることがある。「module」に関連する用語・表現
「module」に関連する用語や表現には、modular(モジュラー)、modularity(モジュラリティ)、modular design(モジュラーデザイン)、modular construction(モジュラー建設)などがある。これらの言葉は、モジュールを用いた設計や構造に関連している。「module」の例文
1. The software is divided into several modules for easier maintenance.(ソフトウェアは、保守が容易になるようにいくつかのモジュールに分割されている。) 2. This module is responsible for handling user input.(このモジュールは、ユーザー入力の処理を担当している。) 3. The building was constructed using prefabricated modules.(その建物は、プレファブのモジュールを使用して建設された。) 4. The space station consists of several interconnected modules.(宇宙ステーションは、いくつかの相互接続されたモジュールで構成されている。) 5. The new version of the software includes an updated module for data analysis.(ソフトウェアの新バージョンには、データ分析用の更新されたモジュールが含まれている。) 6. The company is developing a modular smartphone with interchangeable components.(その会社は、交換可能な部品を持つモジュラーなスマートフォンを開発している。) 7. The module failed to load due to a missing dependency.(依存関係が欠けているため、モジュールの読み込みに失敗した。) 8. The solar panel system is designed with modular components for easy installation and expansion.(太陽光発電システムは、簡単な設置と拡張のためにモジュラーな部品で設計されている。) 9. The programming language allows for the creation of custom modules to extend its functionality.(そのプログラミング言語は、機能を拡張するためのカスタムモジュールの作成を可能にする。) 10. The car's engine control module regulates various aspects of its performance.(車のエンジン制御モジュールは、その性能のさまざまな側面を調節する。)モジュール
「モジュール」の基本的な意味
「モジュール」とは、独立した機能を持つ部品や単位のことである。プログラミングや電子工学の分野では、再利用や交換が容易な部品や機能を指す。また、建築やデザインの分野でも、規格化された部品やパーツを指すことがある。「モジュール」の語源
「モジュール」の語源は、ラテン語の「modulus」である。これは「小さな計測単位」を意味し、古代ローマの建築家ウィトルウィウスが建築物の寸法を決める基準として用いた。英語では「module」として広まり、日本語では「モジュール」として定着した。「モジュール」の類語
「モジュール」の類語には、「コンポーネント」「パーツ」「ユニット」などがある。これらはいずれも、独立した機能を持つ部品や単位を指す言葉である。ただし、それぞれの言葉には微妙なニュアンスの違いがあり、用途や分野によって使い分けられることがある。「モジュール」に関連する用語・知識
モジュール化
モジュール化とは、システムや製品を独立した機能単位に分割することである。これにより、開発や保守が容易になり、再利用や交換が可能となる。例えば、プログラミングでは関数やクラスをモジュール化することで、コードの再利用性や可読性が向上する。モジュール間のインターフェース
モジュール間のインターフェースとは、異なるモジュール同士が連携するための接点や規約のことである。インターフェースを明確に定義することで、モジュールの独立性が保たれ、開発や保守が容易になる。プラグイン
プラグインとは、既存のソフトウェアに追加機能を提供するためのモジュールである。プラグインを利用することで、ソフトウェアの機能を柔軟に拡張することができる。例えば、ウェブブラウザの拡張機能や、音楽制作ソフトウェアのエフェクトなどがプラグインとして提供されることがある。ライブラリ
ライブラリとは、プログラミングにおいて、再利用可能なコードや関数をまとめたモジュールである。ライブラリを利用することで、開発者は独自にコードを書く手間を省き、効率的にプログラムを開発することができる。「モジュール」を用いた例文
1. このソフトウェアは、画像処理モジュールと音声処理モジュールが組み合わさって機能している。 2. 彼は、自動運転システムの制御モジュールの開発を担当している。 3. この建築物は、プレハブ式のモジュールを組み合わせて構築されている。モジュール【module】
読み方:もじゅーる
1 建築物で、各部分を一定の大きさの倍数で統一するとき、その基準となる大きさ。日本建築における畳の寸法など。
2 歯車の歯の大きさを示す基準。歯車のピッチ円の直径をミリメートルで表し、それを歯数で割った値。
3 電気機器やコンピューター装置などの、構成要素の単位。独立の完成した機能をもち、交換や着脱が可能で、より大きなシステムに構成される。
4 工業製品で、規格化された交換可能な部品。「—生産(=モジュールを組み立てて製品を作る生産方法)」
5 宇宙船の母船や宇宙ステーションの一部であるが、独立した機能を持ち、また、独立して活動できるようになっているユニット。
6 学習時間を小さく分割した時間の単位。1モジュールを10分から15分程度として、学習内容に合わせてモジュール数を変えて授業などを行う。これによって、計算問題や書き取り問題は短時間で集中して学習し、理科の実験や体育・美術などは時間をかけて学習するなど、授業時間の配分に合理性と自由度が生まれる。「—授業」
モジュール
モジュール [module]
モジュール (HTTP) [module (HTTP)]
モジュール
モジュールとは、ハードウェアやソフトウェアにおける、ひとまとまりの機能・要素のことである。
モジュールは、ハードウェアにおいては、細かい部品を組み合わせて、ある機能を実現するひとまとまりの部品を指す場合に用いる。ソフトウェアにおいては、ある機能を実現するプログラムの塊を指す場合に用いる。
自動車の生産においてもモジュールを利用する方法が主であり、最後の組み立て工程でドアやシートなど各モジュールが組み合わさって1台の自動車が完成する。また、パソコンにおいて、主要部品は規格化されたモジュールで構成されている。このため、部品単位での交換が可能になる。ソフトウェアにおいてもモジュール単位で開発を進め、最後に各モジュールを結合してテストが行われる。この他、インターフェースにユーザーが自由にモジュールを組み込めるようなソフトウェアも登場している。
また、各モジュールは独立性が高い方が望ましい。他のモジュールに依存するモジュールでは、それ単体で機能をなさないからである。
Module クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
<SerializableAttribute> _ <ComVisibleAttribute(True)> _ <ClassInterfaceAttribute(ClassInterfaceType.None)> _ Public Class Module Implements _Module, ISerializable, ICustomAttributeProvider
[SerializableAttribute] [ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType.None)] public class Module : _Module, ISerializable, ICustomAttributeProvider
[SerializableAttribute] [ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType::None)] public ref class Module : _Module, ISerializable, ICustomAttributeProvider
モジュールは、ファイルの種類が .dll または .exe の移植可能な実行可能ファイルです。1 つ以上のクラスとインターフェイスで構成されています。複数の名前空間が、単一モジュールに含まれることがあります。また、1 つの名前空間が複数のモジュールにまたがることもあります。
System.Reflection.Module
System.Reflection.Emit.ModuleBuilder
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Module フィールド
パブリック フィールド
名前 | 説明 | |
---|---|---|
FilterTypeName | このモジュールで定義されている型のリストを名前に基づいてフィルタ処理する TypeFilter オブジェクト。このフィールドは大文字小文字を区別します。また、読み取り専用です。 | |
FilterTypeNameIgnoreCase | このモジュールで定義されている型のリストを名前に基づいてフィルタ処理する TypeFilter オブジェクト。このフィールドは読み取り専用で、大文字小文字を区別しません。 |
Module プロパティ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
MDStreamVersion | メタデータ ストリームのバージョンを取得します。 | |
MetadataToken | メタデータ内のモジュールを識別するトークンを取得します。 | |
ModuleHandle | モジュールのハンドルを取得します。 | |
ModuleVersionId | モジュールの 2 つのバージョンを区別するために使用できる汎用一意識別子 (UUID: Universally Unique Identifier) を取得します。 | |
ScopeName | モジュールの名前を表す文字列を取得します。 |
Module メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
GetMethodImpl | 指定した基準に一致するメソッド実装を返します。 | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
名前 | 説明 | |
---|---|---|
System.Runtime.InteropServices._Module.GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 | |
System.Runtime.InteropServices._Module.GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 | |
System.Runtime.InteropServices._Module.GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 | |
System.Runtime.InteropServices._Module.Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |
Module メンバ
Module データ型で公開されるメンバを以下の表に示します。
パブリック フィールド
名前 | 説明 | |
---|---|---|
FilterTypeName | このモジュールで定義されている型のリストを名前に基づいてフィルタ処理する TypeFilter オブジェクト。このフィールドは大文字小文字を区別します。また、読み取り専用です。 | |
FilterTypeNameIgnoreCase | このモジュールで定義されている型のリストを名前に基づいてフィルタ処理する TypeFilter オブジェクト。このフィールドは読み取り専用で、大文字小文字を区別しません。 |
名前 | 説明 | |
---|---|---|
MDStreamVersion | メタデータ ストリームのバージョンを取得します。 | |
MetadataToken | メタデータ内のモジュールを識別するトークンを取得します。 | |
ModuleHandle | モジュールのハンドルを取得します。 | |
ModuleVersionId | モジュールの 2 つのバージョンを区別するために使用できる汎用一意識別子 (UUID: Universally Unique Identifier) を取得します。 | |
ScopeName | モジュールの名前を表す文字列を取得します。 |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
GetMethodImpl | 指定した基準に一致するメソッド実装を返します。 | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
名前 | 説明 | |
---|---|---|
System.Runtime.InteropServices._Module.GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 | |
System.Runtime.InteropServices._Module.GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 | |
System.Runtime.InteropServices._Module.GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 | |
System.Runtime.InteropServices._Module.Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |
_Module インターフェイス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _ <GuidAttribute("D002E9BA-D9E3-3749-B1D3-D565A08B13E7")> _ <CLSCompliantAttribute(False)> _ <ComVisibleAttribute(True)> _ Public Interface _Module
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] [GuidAttribute("D002E9BA-D9E3-3749-B1D3-D565A08B13E7")] [CLSCompliantAttribute(false)] [ComVisibleAttribute(true)] public interface _Module
[InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)] [GuidAttribute(L"D002E9BA-D9E3-3749-B1D3-D565A08B13E7")] [CLSCompliantAttribute(false)] [ComVisibleAttribute(true)] public interface class _Module
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
_Module メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 | |
GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 | |
GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 | |
Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |
_Module メンバ
モジュール
機械装置、システムを構成する部分で、機能ユニットとしてまとまった部分をいう場合と、規格化された寸法単位をいう場合がある。例えば自動車の車体のアンダーボディをモジュール化し、それに異なった車種のサイドパネルやルーフパネルなどを組み合わせることで、異なった車種を構成することができる。モジュール化することによって設計開発期間の短縮が可能となり、生産準備段階並びに生産工程での合理化をはかることができる。一方、歯車の場合は、歯車の歯の大きさを示す値で、ピッチ円直径(ピッチサークル:単位mm)を歯数で割ったものをいう。
モジュール module
モジュール
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2019年1月) |
モジュール(英: module)とは、工学などにおける設計上の概念で、システムを構成する要素となるもの。いくつかの部品的機能を集め、まとまりのある機能を持った部品のこと。モジュールに従っているものをモジュラー(英: modular)という。
入出力を絞り込んで標準化することにより、システム開発を「すり合わせ」から「モジュールの組み合わせ」に変更できる[1][要ページ番号]。
ハードウェア
パソコンなどを作成する際、標準規格に合った部品であれば、どの会社のモノを使用しても機能を発現できる。
IBMが、1980年代、コンピューター「PC/AT」の仕様を公開し、規格にあったモジュールであれば内部はブラックボックスでもかまわないという開発体制(モジュール化)をとった。これにより、世界中に無数の部品メーカーが誕生、モジュールの性能を競ったためパソコンの性能は飛躍的に高まった。反対に日本メーカーは系列会社の生産した部品による作り込み(摺り合せ)の開発体制をとったため競争力を喪失した。これ以降、パソコンメーカーは性能がよく安いモジュールを世界中から探し組み立てるというビジネスに特化。組み立て産業となったパソコン産業では、格安の賃金で大量生産できる新興企業が幅を利かせることになった。価格低下により、旧来のメーカーにとっては利幅の薄い仕事となり、とうとうパラダイム転換の主であるIBMは撤退することになった。
現在、「組み立て」の前段階のモジュール作成においてはCPUやメモリなどの分野で最新技術がブラックボックスとして詰め込まれている。このため利益を上げやすい。一方で、「組み立て」後のアフターケアも需要は厚く利益を上げやすい。このように中段階だけ利益率が低く、前段階と後段階が利益率が高い状態が「U」のような曲線を描くためスマイルカーブと呼ばれている。
同じようなモジュールの組み立て産業に自動車産業があるが、自動車の場合は、容積や重量などが重要要素であり、2万点以上ある部品間の相互依存性[注釈 1]が大きいため、部品間において綿密かつ独自のすり合わせが必須である。このため、組み立てといえども容易に新規参入できるものではなく、自動車組み立て業は高い利益を上げることができる。
鉄道車両では、内装や床下機器の製作にモジュール化が進められている[2][3][4]。主に日立製作所製の『A-train』で採用が始まったもので、従来は内装・床下配線・配管は骨組みに対し、現物合わせで組み立てていた[4]。モジュール工法の通勤電車(一例)では、前もって中央天井、側天井、つり手・腰掛の各モジュールや配線・配管モジュールをアウトワークにて製作し、これらの各モジュールをダブルスキン構体の一部であるマウンティングレール(カーテンレール状のつり溝)にボルトで固定する方法を採用している[2][3][4]。これにより構造の簡素化、部品点数削減、コストダウンを図っている[4]。
産業用機械などでは、作業に必要な装備を同じ外形のパッケージに纏め、必要に応じてモジュールを交換する手法が採用されている。
軍用艦では1980年代初頭にスタンダード・フレックスなどのコンセプトが登場した。沿海域戦闘艦は対機雷戦、対水上戦、対潜戦に必要な機材を交換できるように設計されている。
装輪装甲車では後部をモジュール化することで通信指揮車、装甲救急車、自走迫撃砲として利用できる車両が登場している。
建築物では、中銀カプセルタワービルが各部屋を物理的に交換可能とした設計を採用している。
ソフトウェア
ソフトウェア工学におけるモジュールは、ソフトウェアシステムを構成する部分的プログラムである。
モジュール分割はソフトウェア開発工程に影響を与える。なぜなら良く分割されたモジュールはそれぞれ独立して実装・テスト・改修できるからである。各モジュールに開発者を割り当てることでモジュール群の並行開発が可能になり、全体の完成を早めることができる。またモジュールの入れ替えで機能を高めたり補修したりできる。モジュールが正しく分割できていない場合、複数の開発者の変更内容に矛盾が生じたり、変更のために多くの開発者の同意が必要になったりすることで開発工程に影響を与える。
モジュールはサブルーチンとデータ構造の集合体としてのソフトウェアの実体である。モジュールはその部分だけでコンパイル可能な単位でもあり、再利用可能であると同時に、複数のプログラマが同時並行的にそれぞれ異なるモジュールの開発を行うことが可能となる。モジュールの特徴として「モジュール性」とカプセル化があり、それらによって複雑なプログラムを理解しやすくできる。
モジュールはインタフェースと実装を分離する。モジュールのインターフェイスはそのモジュールが外部に提供すべき要素とそのモジュールが必要とする要素を表している。実装はそのインターフェイスで提供するよう定義された機能を実際に実現するコードを含む。モジュールの概念を明示的にサポートする言語として、Ada、D言語、F言語、FORTRAN、Pascal、ML、Modula-2、Python、Ruby などがある。
モジュール性
モジュール性(Modularity)はプログラムがもつ属性であり、モジュールによって構成される範囲の程度を示すものである。
モジュールは低い結合度と高い凝集度をもつことが望ましい。すなわちプログラム内の任意の2つの部分が相互に関連することが多い場合、そのようなコードは結合度が高くモジュール性が低い。一方モジュール間のインターフェイスがきちんと定義されていて、それ以外の相互の関連が存在しないプログラムコードは、モジュール性が高いと言える。また関係性の低いプログラムが内部に混在した(関心の分離が実現していない)モジュールは凝集度が低くモジュール性が低い。
モジュールとクラス
モジュールとクラスの違いは以下の通りである。
- クラスにはインスタンスとしてオブジェクトを生成する機能がある。
- クラスは他のクラスの動作やデータを継承することができる。
- ポリモーフィズムにより、クラスのインスタンス間の関係は実行時に変化するが、モジュール間の関係は静的である。
モジュールとクラスの類似点は以下の通りである。
- どちらも実装の詳細を外部から隠蔽する。
- どちらも階層(モジュール階層とクラス階層)を形成することができる。
脚注
注釈
出典
関連項目
外部リンク
- Environment Modules (英語)
- 『モジュール』 - コトバンク
- Moduleのページへのリンク