Технология программирования. - 31 стр.

UptoLike

- 33 -
класс ПМ с высшей степенью прочности. Информационно прочный модуль может
реализовывать, например, абстрактный тип данных.
Сцепление модуляэто мера его зависимости по данным от других модулей. Ха-
рактеризуется способом передачи данных. Чем слабее сцепление модуля с другими
модулями, тем сильнее его независимость от других модулей. Для оценки степени
сцепления Майерс предлагает
упорядоченный набор из шести видов сцепления моду-
лей. Худшим видом сцепления модулей является сцепление по содержимому. Та-
ким является сцепление двух модулей, когда один из них имеет прямые ссылки на
содержимое другого модуля (например, на константу, содержащуюся в другом моду-
ле). Такое сцепление модулей недопустимо. Не рекомендуется использовать так же
сцеплений по общей областиэто такое сцепление модулей, когда несколько моду-
лей используют одну и ту же область памяти. Единственным видом сцепления моду-
лей, которое рекомендуется для использования современной технологией програм-
мирования, является параметрическое сцепление. Это случай, когда данные пере-
даются модулю либо при обращении к нему как значение его параметров
, либо как
результат его обращения к другому модулю для вычисления некоторой функции. Та-
кой вид сцепления модулей реализуется на языках программирования при использо-
вании обращений к процедурам (функциям).
Рутинность модуляэто его независимость от предыстории обращений к
нему. Модуль будем называть рутинным, если результат обращения к нему зави-
сит только
от значений его параметров (и не зависит от предыстории обращений к
нему). Модуль будем называть зависящим от предыстории, если результат об-
ращения к нему зависит от внутреннего состояния этого модуля, изменяемого в ре-
зультате предыдущих обращений к нему. Майерс не рекомендует использовать за-
висящие от предыстории (непредсказуемые) модули, так как они
провоцируют по-
явление в программах хитрых (неуловимых) ошибок. Однако такая рекомендация
является малоконструктивной, так как во многих случаях именно зависящий от
предыстории модуль является лучшей реализацией информационно прочного мо-
дуля. Поэтому более справедлива следующая рекомендация: