ГОСТ Р ИСО/МЭК 15408-3-2013
d)
вромонная
связность - модуль с временной связностью содержит функциональные
возможности, которые должны быть выполнены примерно в одно и то же время. Пример модулей с
временной связностью: модули инициализации (сброса настроек), восстановления и отключения.
e)
логическая (или процедурная)
связность -модуль с логической связностью
производит схожие действия над разными структурами данных. Модуль демонстрирует логическую
связность, если его функциональные возможности выполняют взаимосвязанные, но различные
операции над разными входными данными.
f)
случайная
связность - модуль со случайной связностью выполняет несвязанные или
слабо связанные между собой действия.
А.3.1.2 Связанность
Связанность является видом и степенью взаимозависимости между программными модулями;
типы связанности включают в себя связанность по запросу, по общей области и по содержимому.
Типы связанности, охарактеризованные ниже, расположены в порядке убывания их желательности.
a) по запросу:
два модуля являются связанными по запросу, если они взаимодействуют строго
посредством использования задокументированных запросов от своих функций; примерами
связанности по запросу является связанность данных, метки и управления. Они определены ниже.
1)
данные:
два модуля являются связанными по данным, если они взаимодействуют строго
посредством параметров запроса, которые отображают отдельные элементы данных.
2)
мет ка,
два модуля являются связанными по метке, если они взаимодействуют посредством
параметров запроса, включающих несколько полей или имеющих значимые внутренние структуры.
3)
управление:
два модуля являются связанными по управлению, если один передает
информацию, которая предназначена для влияния на внутреннюю логическую структуру другого.
b
)
по общ ей област и:
два модуля являются связанными по общей области, если у них есть
общая область данных или общий системный ресурс. Глобальные переменные показывают, что
модули, использующие их. являются связанными по общей области. Связанность по общей области
через глобальные переменные, как правило, допускается, но лишь в ограниченной степени.
Например, переменные, которые размещаются в глобальной области, но используются только в
одном модуле, являются неправильно размещенными, и их следует удалить. При оценке пригодности
глобальных переменных следует учитывать и другие факторы:
1) Количество модулей, которые изменяют глобальную переменную: обычно только одному
модулю следует отвечать за контроль над содержимым глобальной переменной, но могут быть
ситуации, в которых второй модуль может разделять эту ответственность. В таком случае должно
быть предоставлено логическое обоснование. Разделение ответственности на более чем два модуля
недопустимо (при оценке особое внимание следует уделять определению модуля, фактически
отвечающего за содержимое переменной; например, если одна процедура используется для
изменения переменных, но это процедура просто выполняет модификацию по запросу второй
стороны, то отвечает за содержимое именно запрашивающий модуль. В таком случае возможно
применение более чем одного такого модуля). Кроме того, в рамках определения сложности, если
два модуля отвечают за содержимое глобальной переменной, рекомендуется, чтобы были четкие
указания о том. как все изменения согласовываются между ними.
236