読み方:もじゅーる
1 建築物で、各部分を一定の大きさの倍数で統一するとき、その基準となる大きさ。日本建築における畳の寸法など。
2 歯車の歯の大きさを示す基準。歯車のピッチ円の直径をミリメートルで表し、それを歯数で割った値。
3 電気機器やコンピューター装置などの、構成要素の単位。独立の完成した機能をもち、交換や着脱が可能で、より大きなシステムに構成される。
4 工業製品で、規格化された交換可能な部品。「—生産(=モジュールを組み立てて製品を作る生産方法)」
5 宇宙船の母船や宇宙ステーションの一部であるが、独立した機能を持ち、また、独立して活動できるようになっているユニット。
6 学習時間を小さく分割した時間の単位。1モジュールを10分から15分程度として、学習内容に合わせてモジュール数を変えて授業などを行う。これによって、計算問題や書き取り問題は短時間で集中して学習し、理科の実験や体育・美術などは時間をかけて学習するなど、授業時間の配分に合理性と自由度が生まれる。「—授業」
モジュールとは、ハードウェアやソフトウェアにおける、ひとまとまりの機能・要素のことである。
モジュールは、ハードウェアにおいては、細かい部品を組み合わせて、ある機能を実現するひとまとまりの部品を指す場合に用いる。ソフトウェアにおいては、ある機能を実現するプログラムの塊を指す場合に用いる。
自動車の生産においてもモジュールを利用する方法が主であり、最後の組み立て工程でドアやシートなど各モジュールが組み合わさって1台の自動車が完成する。また、パソコンにおいて、主要部品は規格化されたモジュールで構成されている。このため、部品単位での交換が可能になる。ソフトウェアにおいてもモジュール単位で開発を進め、最後に各モジュールを結合してテストが行われる。この他、インターフェースにユーザーが自由にモジュールを組み込めるようなソフトウェアも登場している。
また、各モジュールは独立性が高い方が望ましい。他のモジュールに依存するモジュールでは、それ単体で機能をなさないからである。
構文<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 つの名前空間が複数のモジュールにまたがることもあります。
継承階層
スレッド セーフ
プラットフォーム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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照
パブリック フィールド| 名前 | 説明 | |
|---|---|---|
| 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 データ型で公開されるメンバを以下の表に示します。
パブリック フィールド| 名前 | 説明 | |
|---|---|---|
| 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 | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |
参照
構文<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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
| GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
| GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
| Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |
参照機械装置、システムを構成する部分で、機能ユニットとしてまとまった部分をいう場合と、規格化された寸法単位をいう場合がある。例えば自動車の車体のアンダーボディをモジュール化し、それに異なった車種のサイドパネルやルーフパネルなどを組み合わせることで、異なった車種を構成することができる。モジュール化することによって設計開発期間の短縮が可能となり、生産準備段階並びに生産工程での合理化をはかることができる。一方、歯車の場合は、歯車の歯の大きさを示す値で、ピッチ円直径(ピッチサークル:単位mm)を歯数で割ったものをいう。
(Module から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/01/14 09:59 UTC 版)
|
|
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 (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つの部分が相互に関連することが多い場合、そのようなコードは結合度が高くモジュール性が低い。一方モジュール間のインタフェースがきちんと定義されていて、それ以外の相互の関連が存在しないプログラムコードは、モジュール性が高いと言える。また関係性の低いプログラムが内部に混在した(関心の分離が実現していない)モジュールは凝集度が低くモジュール性が低い。
モジュールとクラスの違いは以下の通りである。
モジュールとクラスの類似点は以下の通りである。