Основы разработки программного обеспечения вычислительных систем. Милованов И.В - 18 стр.

UptoLike

18
Так, при желании инициализировать магнитную ленту 2 в другое
время, вы столкнётесь с неудобствами. Чтобы не сбрасывать всю систему,
придётся или ввести флажки, указывающие инициализируемую часть, или
написать другой код для работы с лентой 2. Оба решения ухудшают со-
провождаемость.
Процедурно связные модули и модули с временной связностью
очень похожи. Степень их непрозрачности изменяется от темно-серого до
светло-серого цвета, так как трудно объявить функцию такого модуля без
перечисления её внутренних деталей. Различие между ними подобно раз-
личию между информационной и коммуникативной связностью. Порядок
выполнения действий более важен в процедурно связных модулях. Кроме
того, процедурные модули имеют тенденцию к совместному использова-
нию циклов и ветвлений, а модули с временной связностью чаще содер-
жат более линейный код.
ЛОГИЧЕСКАЯ СВЯЗНОСТЬ
Элементы логически связного модуля принадлежат к действиям од-
ной категории, и из этой категории клиент выбирает выполняемое дейст-
вие. Рассмотрим следующий пример:
модуль «Пересылка сообщения»
переслать по электронной почте;
переслать по факсу;
послать в телеконференцию;
переслать по ftp-протоколу;
конец модуля.
Как видим, логически связный модуль мешок доступных действий.
Действия вынуждены совместно использовать один и тот же интерфейс
модуля. В строке вызова модуля значение каждого параметра зависит от
используемого действия. При вызове отдельных действий некоторые па-
раметры должны иметь значение пробела, нулевые значения и т.д. (хотя
клиент всё же должен использовать их и знать их типы).
Действия в логически связном модуле попадают в одну категорию,
хотя имеют не только сходства, но и различия. К сожалению, это застав-
ляет программиста «завязывать код действий в узел», ориентируясь на то,
что действия совместно используют общие строки кода. Поэтому логиче-
ски связный модуль имеет:
уродливый внешний вид с различными параметрами, обеспечи-
вающими, например, четыре вида доступа;
запутанную внутреннюю структуру со множеством переходов,
похожую на волшебный лабиринт.
В итоге модуль становится сложным как для понимания, так и для
сопровождения.