「コンポーネント」と「モジュール」の違い

何かを説明する際に使う単語で、「コンポーネント」と「モジュール」を時々用います。2つとも「部品」といった意味で用いていましたが、2つの単語の違いってなんだろうと、今更ながら思い至りメモしてます。ちょっとググると同じような疑問を持った方もたくさんいらっしゃるようです。何番煎じか判りませんが、もし、間違い等あれば、ご指摘いただけると幸いです。
 
いくつか眺めたブログでは、プログラミング用語に偏った記事が多いようです。日常生活ではあまり用いない単語だし、ブログ主がSEやPG、情報系の学生のいずれかだから自然とそうなるのでしょう。結論の多くは、コンポーネントとモジュールの違いとして、「交換可能か否か」としていますね。
 
では、私なりにコンポーネントとモジュールについて調べてみたので、載せておきます。
大きな構造の構成要素であり、それだけで完結した要素のこと。ハードウェアや組織の一部を指したり、プログラム用語として用いられることもある。例)言語は、文化を構成する重要な要素です。
〇モジュール
全体が、交換できるような部品の集まり。転じて、建築やプログラム用語として用いられることもある。また、宇宙船の一部を成し、特定の機能を有する構成区画のことも指す。宇宙モジュールなど。
 
こうして比較すると、コンポーネントは、手で触れない概念に対して使用される一方、モジュールは、手で触れる物質化されたモノに対して使用される、ように見受けられます。いくつかブログを眺めていると、プログラミング用語に偏った記事が多いようです(日常生活ではあまり用いない単語だし、眺めたブログの主がSEやPG、情報系の学生のいずれかだから当たり前なんですが…)。彼らが「交換可能かどうか」として使い分けると結論付けた訳も、分かる気がしますね。