Модуль инициализировать систему
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Перемотать магнитную ленту 1

Счетчик магнитной ленты 1:=0

Перемотать магнитную ленту 2

Счетчик магнитной ленты 2:=0

Таблица текущих записей :=_ _

Таблица количества записей :=0…0

Переключатель 1: = выкл

Переключатель 2: = вкл

Конец модуля.

 

     Элементы этого модуля почти несвязны друг с другом, но все они более тесно взаимодействуют с другими модулями, что приводит к сложным внешним связям. Если программист соблазняется возможностью совместного использования кода, то модуль становится трудно использовать повторно.

     Процедурно – связные модули и временные связные похожи, т.к. трудно объявить организацию такого модуля без перечисления внутренних деталей.

Различия:

     Порядок выполнения действий более важен в процедурно – связных модулях. Кроме того, процедурно – связные модули имеют тенденцию к совместному использованию циклов и ветвлений, а модули временной связности чаще содержат линейный код.

 

6. Логическая связность.

     Части модуля объединены по принципу функционального подобия. Например, модуль состоит из разных программ обработки ошибок. При каком использовании этого модуля клиент выбирает только одну из подпрограмм?

Недостаток:

1) сложность сопровождения

2) большая вероятность внесения ошибок при изменении сопряжения ради одной из функций.

Пример:

Модуль пересылка сообщения

Переслать по электронной почте

Переслать по факсу

Послать в телеконференцию

Переслать по FTP-протоколу

Конец модуля.

     Здесь действия попадают в одну категорию, хотя имеют не только сходства, но и различия. К сожалению, эти соблазны программиста использовать общий код действия, приводят:

1) к уродливому внешнему виду модуля с разными параметрами, обеспечивающими несколько видов доступа

2) к запутанной внутренней структуре со множеством переходов.

     Таким образом, модуль становится сложным как для понимания, так и для сопровождения.

 

7. По совпадению.

     В модуле отсутствуют явно выраженные внутренние связи. Элементы данного модуля не имеют никаких отношений друг с другом.

Пример:

Модуль Разные функции (параметры)

Поздравить с Новым годом (кого-то)

Проверить исправность аппаратуры(…)

Заполнить анкету героя (…)

Измерить температуру (…)

Вывести собаку на прогулку (…)

Запастись продуктами (…)

Приобрести «Jaguar» (…)

Конец модуля.

     Элементы действий не связаны ни потоком данных, ни потоком управления. Данный модуль имеет все недостатки логически связанных модулей, и даже усиливает их. Связность по совпадению встречается редко.

     Причины возникновения:

1) бездумный перевод существующего монолитного кода в модули

2) необоснованные изменения модулей, плохой (обычно временной) связностью, приводящие к добавлению флажков, переключателей.

 

Сцепление модулей.

Это мера взаимозависимости модулей по данным; это внешняя характеристика, которую желательно уменьшить. Количественно сцепление измеряется степенью сцепления.

Типы сцепления:

1. Сцепление по данным    (внеш.хар-ка)          СЦ=1 (сила сцепления)

А
В
элементы данных
А
В
элементы данных
Модуль А вызывает модуль В.

Все входные и выходные параметры вызываемого модуля – простые элементы данных.

 

2. Сцепление по образцу                       СЦ=3

А
В
структура данных

В качестве параметров используются структуры данных.

 

3. Сцепление по управлению.     СЦ=4

флаг
флаг
выход
В
А
В
флаг

Модуль А явно управляет функционированием модуля В (с помощью флагов или переключателей), посылая ему управляющие данные.

 

 

4. Сцепление по внешним ссылкам.             СЦ=5

Модули А и В ссылаются на один и тот же глобальный элемент данных.

 

5. Сцепление по общей области.        СЦ=7

Модули разделяют одну и ту же глобальную структуру данных.

 

С
Е
Структура данных
N

 

 

6. Сцепление по содержанию.                       СЦ=9

Один модуль прямо ссылается на содержание другого модуля (не через его точку входа). Например, коды их команд перемежаются друг с другом (Sin и Cos сдвинуты на 90°).

 

Дата: 2019-07-24, просмотров: 182.