Модуль может быть перегруженным термином, настолько, что Википедия описывает его под термином « Модульное программирование» при обсуждении его использования относительно программного обеспечения. Они обсуждают это с точки зрения структурированного программирования, основанного на подходе проектирования сверху вниз. Основные характеристики модульности, связанные с использованием низкого сцепления и высокой когезии .
Я использовал, что на языке, таком как C или даже C ++, модуль связан с определением отдельно скомпилированного модуля из исходного файла (.c или .cpp) и, как правило, одного связанного заголовочного файла (.h). Другие языки используют модуль в качестве описания, а язык Modula-2 помещает структурирование вокруг модулей спереди и по центру в его названии и подходе.
Исторически, модуль имеет некоторые другие последствия, которые были описаны в статье Д.Л. Парнаса «О критериях, которые должны использоваться при декомпозиции программного обеспечения на модули» . Он в первую очередь занимается обсуждением преимуществ замены функциональной декомпозиции на ориентированную на данные декомпозицию, что стало большим шагом к нашему современному состоянию, которое представляет собой объектно-ориентированная декомпозиция.
Объектно-ориентированные языки организованы вокруг классов, поэтому, возможно, термин модуль менее важен и менее точен в этом контексте.