ВУЗ:
Составители:
Рубрика:
16
Здесь все элементы модуля работают со структурой «Таблица зар-
платы служащих».
С точки зрения клиента, проблема применения коммуникативно
связного модуля состоит в избыточности получаемых результатов. На-
пример, клиенту требуется только отчёт по зарплате, он не нуждается в
значении средней зарплаты. Такой клиент будет вынужден выполнять
избыточную работу – выделение в полученных данных материала отчёта.
Почти всегда разбиение коммуникативно связного модуля на отдельные
функционально связные модули улучшает сопровождаемость системы.
Попытаемся провести аналогию между информационной и коммуни-
кативной связностью.
Модули с коммуникативной и информационной связностью схожи
в том, что содержат элементы, связанные по данным. Их удобно исполь-
зовать, потому что лишь немногие элементы в этих модулях связаны с
внешней средой. Главное различие между ними – информационно связ-
ный модуль работает подобно сборочной линии; его обработчики дейст-
вуют в определённом порядке; в коммуникативно связном модуле поря-
док выполнения действий безразличен. В нашем примере не имеет значе-
ния, когда генерируется отчёт (до, после или одновременно с вычислени-
ем средней зарплаты).
ПРОЦЕДУРНАЯ СВЯЗНОСТЬ
При достижении процедурной связности мы попадаем в погранич-
ную область между хорошей сопровождаемостью (для модулей с более
высокими уровнями связности) и плохой сопровождаемостью (для моду-
лей с более низкими уровнями связности). Процедурно связный модуль
состоит из элементов, реализующих независимые действия, для которых
задан порядок работы, т.е. порядок передачи управления. Зависимости по
данным между элементами нет. Например:
модуль «Вычисление средних значений»
используется «Таблица-А». «Таблица-В»;
вычислить среднее по «Таблица-А»;
вычислить среднее по «Таблица-В»;
вернуть среднее «Таблица-А». «Таблица-В»;
конец модуля.
Этот модуль вычисляет средние значения для двух, полностью не-
связанных таблиц «Таблица-А» и «Таблица-В», каждая из которых имеет
по 300 элементов.
Теперь представим себе программиста, которому поручили реализо-
вать данный модуль. Соблазнившись возможностью минимизации кода
(использовать один цикл в интересах двух обработчиков, ведь они нахо-
дятся внутри единого модуля!), программист пишет:
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »