Coupling

Связанность по общей области (common coupling) по ГОСТ Р ИСО/МЭК 15408-1-2012

Взаимосвязь между двумя модулями, разделяющими общую область данных или другой общий ресурс системы.

Примечание — Наличие глобальных переменных указывает на то, что модули, использующие эти глобальные переменные, связаны по общей области. Связанность по общей области через глобальные переменные в целом допускается, но в ограниченном объеме.

Например, переменные, помещенные в область глобальных переменных, но используемые только одним модулем, размещены ненадлежащим образом и их следует перенести. Другими факторами, которые необходимо рассматривать при оценивании приемлемости глобальных переменных, являются следующие:

Количество модулей, которые модифицируют некоторую глобальную переменную. В большинстве случаев возможность управления значениями глобальной переменной следует предусмотреть только для одного модуля, но могут быть ситуации, при которых эта возможность может быть предоставлена и некоторому второму модулю; в этом случае должно быть предоставлено достаточное логическое обоснование. Недопустимо, чтобы такая возможность была предусмотрена более чем для двух модулей. (В процессе оценивания следует обратить внимание на определение модуля, действительно ответственного за значения конкретной переменной; например, если некоторую отдельную подпрограмму используют для модификации переменной, но при этом эта подпрограмма просто выполняет модификацию по запросу некоторого модуля, то именно этот модуль и является ответственным за модификацию; при этом может быть более чем один подобный модуль). Кроме того, в качестве составной части определения сложности, когда два модуля отвечают за значения некоторой глобальной переменной, следует четко показать, как действия по модификации координируются между этими модулями.

Количество модулей, которые обращаются к некоторой глобальной переменной: хотя в большинстве случаев нет ограничений на количество модулей, которые обращаются к глобальной переменной: случаи, при которых много модулей выполняют такие обращения, следует проверять на обоснованность и необходимость [из 3.2.12 ГОСТ Р ИСО/МЭК 15408–1–2012]

Связанность по содержимому (content coupling) по ГОСТ Р ИСО/МЭК 15408-1-2012

Взаимосвязь между двумя модулями, когда один модуль напрямую обращается к внутреннему содержанию другого модуля.

Примечание — Примерами такой связи являются модификация кода или обращение к внутренним меткам другого модуля. В результате часть или все содержимое одного модуля фактически включается в состав другого модуля. Связанность по содержимому можно рассматривать как использование необъявленного интерфейса модуля; это в противоположность связанности, которая использует только объявленные интерфейсы модуля.

[из 3.2.13 ГОСТ Р ИСО/МЭК 15408–1–2012]

Подписка на Coupling