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

UptoLike

17
модуль «Вычисление средних значений»
используется «Таблица-А». «Таблица-В»;
сумма Таблица-А := 0;
сумма Таблица-В := 0;
для i := 1 до 300;
сумма Таблица-А := сумма Таблица-А + Таблица-А(i);
сумма Таблица-В : = сумма Таблица-В + Таблица-В(i);
конец для
среднее Таблица-А := сумма Таблица-А / 300;
среднее Таблица-В := сумма Таблица-В / 300;
вернуть среднее Таблица-А, среднее Таблица-В;
конец модуля.
Для процедурной связности этот случай типичен независимый (на
уровне проблемы) код стал зависимым (на уровне реализации). Прошли
годы, продукт сдали заказчику. И вдруг возникла задача сопровождения
модифицировать модуль под уменьшение размера таблицы В. Оцените,
насколько удобно её решать.
ВРЕМЕННАЯ СВЯЗНОСТЬ
При связности по времени элементы-обработчики модуля привязаны
к конкретному периоду времени (из жизни программной системы).
Классическим примером временной связности является модуль ини-
циализации:
модуль «Инициализировать систему»
перемотать магнитную ленту 1;
Счётчик магнитной ленты 1 := 0;
перемотать магнитную ленту 2;
Счётчик магнитной ленты 2 := 0;
Таблица текущих записей : = пробел..пробел;
Таблица количества записей := 0..0;
Переключатель 1 : = выкл;
Переключатель 2 := вкл;
конец модуля.
Элементы данного модуля почти не связаны друг с другом (за исклю-
чением того, что должны выполняться в определённое время). Они все
часть программы запуска системы. Зато элементы более тесно взаимодей-
ствуют с другими модулями, что приводит к сложным внешним связям.
Модуль со связностью по времени испытывает те же трудности, что
и процедурно связный модуль. Программист соблазняется возможностью
совместного использования кода (действиями, которые связаны только по
времени), модуль становится трудно использовать повторно.