Информационная закрытость

 

Принцип информационной закрытости (автор – Д. Парнас, 1972) утверждает: содержание модулей должно быть скрыто друг от друга [60]. Как показано на рис. 4.12, модуль должен определяться и проектироваться так, чтобы его содержимое (процедуры и данные) было недоступно тем модулям, которые не нуждаются в такой информации (клиентам).

Рис. 4.12.Информационная закрытость модуля

 

Информационная закрытость означает следующее:

1) все модули независимы, обмениваются только информацией, необходимой для работы;

2) доступ к операциям и структурам данных модуля ограничен.

Достоинства информационной закрытости:

q обеспечивается возможность разработки модулей различными, независимыми коллективами;

q обеспечивается легкая модификация системы (вероятность распространения ошибок очень мала, так как большинство данных и процедур скрыто от других частей системы).

Идеальный модуль играет роль «черного ящика», содержимое которого невидимо клиентам. Он прост в использовании – количество «ручек и органов управления» им невелико (аналогия с эксплуатацией телевизора). Его легко развивать и корректировать в процессе сопровождения программной системы. Для обеспечения таких возможностей система внутренних и внешних связей модуля должна отвечать особым требованиям. Обсудим характеристики внутренних и внешних связей модуля.

Связность модуля

 

Связность модуля (Cohesion) – это мера зависимости его частей [58], [70], [77]. Связность – внутренняя характеристика модуля. Чем выше связность модуля, тем лучше результат проектирования, то есть тем «черней» его ящик (капсула, защитная оболочка модуля), тем меньше «ручек управления» на нем находится и тем проще эти «ручки».

Для измерения связности используют понятие силы связности (СС). Существует 7 типов связности:

1. Связность по совпадению(СС=0). В модуле отсутствуют явно выраженные внутренние связи.

2. Логическая связность(СС=1). Части модуля объединены по принципу функционального подобия. Например, модуль состоит из разных подпрограмм обработки ошибок. При использовании такого модуля клиент выбирает только одну из подпрограмм.

Недостатки:

q сложное сопряжение;

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

3. Временная связность(СС=3). Части модуля не связаны, но необходимы в один и тот же период работы системы.

Недостаток: сильная взаимная связь с другими модулями, отсюда – сильная чувствительность внесению изменений.

4.Процедурная связность (СС=5). Части модуля связаны порядком выполняемых ими действий, реализующих некоторый сценарий поведения.

5.Коммуникативная связность (СС=7). Части модуля связаны по данным (работают с одной и той же структурой данных).

6.Информационная (последовательная) связность (СС=9). Выходные данные одной части используются как входные данные в другой части модуля.

7.Функциональная связность (СС=10). Части модуля вместе реализуют одну функцию.

Отметим, что типы связности 1,2,3 – результат неправильного планирования архитектуры, а тип связности 4 – результат небрежного планирования архитектуры приложения.

Общая характеристика типов связности представлена в табл. 4.1.

 

Таблица 4.1. Характеристика связности модуля

Тип связности Сопровождаемость Роль модуля
Функциональная   «Черный ящик»
Информационная (последовательная) Лучшая сопровождаемость Не совсем «черный ящик»
Кэммуникативная   «Серый ящик»
Процедурная   «Белый» или «просвечивающий ящик»
Временная Худшая сопровождаемость  
Логическая   «Белый ящик»
По совпадению    







Дата добавления: 2019-02-07; просмотров: 310;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.