Módulo podría ser un término sobrecargado, tanto que Wikipedia lo describe bajo el término Programación Modular cuando discute su uso en relación con el software. Lo discuten en términos de programación estructurada que se basa en un enfoque de diseño de arriba hacia abajo. Características clave de la modularidad relacionadas con el uso de bajo acoplamiento y alta cohesión .
Mi uso ha sido que en un lenguaje como C o incluso C ++, un módulo está relacionado con la definición de una unidad compilada por separado de un archivo fuente (.c o .cpp) y, por lo general, un archivo de encabezado asociado (.h). Otros lenguajes usan el módulo como descripción, y el lenguaje Modula-2 coloca la estructuración alrededor de los módulos al frente y al centro en su nombre y su enfoque.
Históricamente, el módulo tiene algunas otras implicaciones como fueron descritos en el DL Parnas papel "en los criterios que se emplearán en la descomposición del software en los módulos" . Está principalmente interesado en discutir los beneficios de reemplazar la descomposición funcional con la descomposición orientada a datos, que fue un gran paso hacia nuestro estado actual del arte, que es la descomposición orientada a objetos.
Los lenguajes orientados a objetos se organizan en torno a clases, por lo que tal vez el término módulo sea menos importante y menos preciso en ese contexto.