Сцепление
Сцепление – внешняя характеристика модуля, которая рассматривается как мера взаимозависимостей по данным. Характеризуется способом передачи данных и свойствами самих данных. Слабое сцепление более желательно, т.к. это назначает высокий уровень независимости модулей. Модули являются полностью независимыми.
Цель проектирования – моделирование интерфейса таким образом, чтобы все данные, передаваемые от одного модуля к другому передавались в форме явных и простых параметров.
Вид сцепления | Степень сцепления |
По кодам По внешним ссылкам По управлению По общей области По образцу По данным Независимое |
Сцепление по кодам.Модуль имеет сцепление по кодам, если коды их команд перемежаются друг с другом. Это сцепление возникает тогда, когда для одного из модулей доступны внутренние области другого без обращения к его точкам входа или когда два модуль используют общий участок памяти с командами.
Сцепление по внешним ссылкам.Возникает тогда, когда у одного модуля есть доступ к данным другого модуля через внешнюю точку входа. Такое сцепление возникает тогда, когда происходит ссылка на один и тот же глобальный элемент данных.
Модуль по управлению. Если один модуль управляет решениями внутри другого с помощью передач флагов, переключателей и т.д.
Проблема модулей с данным видом сцепления выделяются следующие: невозможность управления доступа каждого модуля к данным, большая вероятность появления ошибок при модификации структуры данных.
По образцу. Модули сцеплены по образцу, если параметры… Недостаток: оба модуля должны дать о внутренней структуре данных.
По данным. Если они имею общие единицы, которые передаются от одного модуля к другому, как параметры, представляющие собой простые элементы данных. Вызывающие модуль «знает» только имя вызываемого модуля, а так же типы и значения некоторых его элементов.
Независимое. Оно возможно в том случае, если модули не вызывают друг друга и не обрабатывают одну и туже информацию.
Силу связности модуля можно использовать для оценки существующего проекта как руководящий принцип проектировании.
Степень независимости модуля так же определяется следующими факторами:
· Размер модуля.
· Предсказуемость модуля – модуль, работа которого не зависит от…
· Минимизация доступа к данным –
· Использование внутренних процедур – закрытая подпрограмма, физически содержащаяся в вызывающем ее модуле.
Внутренних процедур следует избегать, т.к. их сложно тестировать и к ним нельзя обращаться из других модулей.
Процесс внутреннего проектирования включает анализ и декомпозицию задач и данных в соответствии с принятым методом проектирования и завешается построением системы.