<На страницу назад | На страницу вперед >

6.6.5. Показатели и типы связности

В то время как "сопряжение" относится к связи между элементами (функциям и/или данными), "связность" будет использоваться в отношении связывания или внутренней согласованности между объектами диаграммы.

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

Каждый тип будет кратко определен и проиллюстрирован с помощью типичного примера из IDEF0.

(0) Тип случайной связности: наименее желательный

Случайная связность возникает, когда конкретная связь между модулями мала или полностью отсутствует. Это относится к ситуации, когда имена данных на IDEF0-дугах в одной диаграмме имеют малую связь друг с другом. Крайний вариант этого случая показан на рис. 6-11.

Рис. 6-11. Случайная связность

(1) Тип логической связности

Логическое увязывание происходит тогда, когда данные и функции собираются вместе благодаря тому, что они попадают в общий класс или набор элементов, но необходимых функциональных отношений между ними не обнаруживается. На рис. 6-12 показан типичный случай логической связи.

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

(2) Тип временной связности

Связанные по времени элементы возникают благодаря тому, что они представляют функции, связанные во времени, когда данные используются одновременно или функции включаются параллельно, а не последовательно. Часто такой пример можно найти на диаграмме, показывающей функции, касающиеся операций инициализации (рис. 6-13).

Рис. 6-13. Временная связность

(3) Тип процедурной связности

Процедурно-связанные элементы появляются сгруппированными вместе благодаря тому, что они выполняются в течение одной и той же части цикла или процесса. Общий элемент процесса может быть итерационным или ветвью, зависящей от принятого решения, или линейной последовательностью этапов. Пример процедурно-связанной диаграммы приведен на рис. 6-14.

Рис. 6-14. Процедурная связность

В этой диаграмме блоки собраны вместе, поскольку оба выхода (А и В) необходимы для выполнения последующей функции. Заметьте, что блоки 1 и 2 не влияют друг на друга и они, следовательно, объединены своим отношением к процессу в блоке 3.

(4) Тип коммуникационной связности

Диаграммы демонстрируют коммуникационные связи, когда блоки группируются благодаря тому, что они используют одни и те же входные данные и/или производят одни и те же выходные данные. Это первый тип связи, обсуждаемый далее, который представляет предпочтительный уровень связи для IDEF0. Важным доводом является то, что ни один из уровней связности, обсуждавшихся выше, не привязан достаточно тесно к конкретной проблеме. Коммуникационная связность является самым нижним уровнем, на котором мы встречаем связи между функционирующими элементами, являющимися по своей сути проблемно-зависимыми.

На рис. 6-15 показан типичный случай.

Рис. 6-15 Коммуникационная связность

(5) Тип последовательной связности

На диаграммах, имеющих последовательные связи, выход из одной функции служит входными данными для следующей функции. Связь между элементами на диаграмме является более тесной, чем на рассмотренных выше уровнях связок, поскольку моделируются причинно-следственные зависимости. Следовательно, это высокая степень связности. На рис. 6-16 показана последовательная связность.

Рис. 6-16. Последовательная связность

(6) Тип функциональной связности

Диаграмма отражает полную функциональную связность, когда все элементы функции влияют на выполнение одной единственной функции или результата. Диаграмма, которая является чисто функциональной, не содержит чужеродных элементов, относящихся к последовательному или более слабому типу связности. Одним из способов определения функционально-связанных диаграмм является рассмотрение двух блоков, связанных через управляющие дуги, как показано на рис. 6-17.

Рис. 6-17. Функциональная связность

В математических терминах необходимое условие для простейшего типа функциональной связности, показанной на рис. 6-17, имеет следующий вид:

C=g(B)=g(f(A))

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

Заключение

На рис. 6-18 представлены все типы связей, рассмотренные в предыдущих разделах. Важно отметить, что уровни 4-6 устанавливают типы связностей, которые разработчики считают важнейшими для получения диаграмм хорошего качества. Авторы должны стремиться к максимальному количеству связей этих типов.

Значимость Тип связности Для функций Для данных
0 Случайная Случайная Случайная
1 Логическая Функции одного и того же множества или типа (например, "редактировать все входы") Данные одного и того же множества или типа
2 Временная Функции одного и того же периода времени (например, "операции инициализации") Данные, используемые в каком-либо временном интервале
3 Процедурная Функции, работающие в одной и той же фазе или итерации (например, "первый проход компилятора") Данные, используемые во время одной и той же фазы или итерации
4 Коммуникационная Функции, использующие одни и те же данные Данные, на которые воздействует одна и та же деятельность
5 Последовательная Функции, выполняющие последовательные преобразования одних и тех же данных Данные, преобразуемые последовательными функциями
6 Функциональная Функции, объединяемые для выполнения одной функции Данные, связанные с одной функцией

Рис. 6-18. Уровни связности

<На страницу назад | На страницу вперед >