Типы связей между функциями
2.2.3. Типы связей между функциями
Одним из важных моментов при
проектировании ИС с помощью
методологии SADT является точная
согласованность типов связей между
функциями. Различают по крайней
мере семь типов связывания:
Тип связи |
Относительная
значимость |
Случайная |
0 |
Логическая |
1 |
Временная |
2 |
Процедурная |
3 |
Коммуникационная |
4 |
Последовательная |
5 |
Функциональная |
6 |
Ниже каждый тип связи кратко
определен и проиллюстрирован с
помощью типичного примера из SADT.
(0) Тип случайной связности:
наименее желательный.
Случайная связность возникает,
когда конкретная связь между
функциями мала или полностью
отсутствует. Это относится к
ситуации, когда имена данных на
SADT-дугах в одной диаграмме имеют
малую связь друг с другом. Крайний
вариант этого случая показан на
рисунке 2.8.
Рис. 2.8. Случайная
связность
(1) Тип логической связности.
Логическое связывание происходит
тогда, когда данные и функции
собираются вместе вследствие того,
что они попадают в общий класс или
набор элементов, но необходимых
функциональных отношений между
ними не обнаруживается.
(2) Тип временной связности.
Связанные по времени элементы
возникают вследствие того, что они
представляют функции, связанные во
времени, когда данные используются
одновременно или функции
включаются параллельно, а не
последовательно.
(3) Тип процедурной связности.
Процедурно-связанные элементы
появляются сгруппированными
вместе вследствие того, что они
выполняются в течение одной и той
же части цикла или процесса. Пример
процедурно-связанной диаграммы
приведен на рисунке 2.9.
Рис. 2.9. Процедурная
связность
(4) Тип коммуникационной
связности. Диаграммы
демонстрируют коммуникационные
связи, когда блоки группируются
вследствие того, что они используют
одни и те же входные данные и/или
производят одни и те же выходные
данные (рисунок 2.10).
(5) Тип последовательной
связности. На диаграммах, имеющих
последовательные связи, выход
одной функции служит входными
данными для следующей функции.
Связь между элементами на
диаграмме является более тесной,
чем на рассмотренных выше уровнях
связок, поскольку моделируются
причинно-следственные зависимости
(рисунок 2.11).
(6) Тип функциональной связности.
Диаграмма отражает полную
функциональную связность, при
наличии полной зависимости одной
функции от другой. Диаграмма,
которая является чисто
функциональной, не содержит
чужеродных элементов, относящихся
к последовательному или более
слабому типу связности. Одним из
способов определения
функционально-связанных диаграмм
является рассмотрение двух блоков,
связанных через управляющие дуги,
как показано на рисунке 2.12.
Рис. 2.10.
Коммуникационная связность
Рис. 2.11.
Последовательная связность
В математических терминах
необходимое условие для
простейшего типа функциональной
связности, показанной на рисунке
2.12, имеет следующий вид:
C = g(B) = g(f(A))
Ниже в таблице представлены все
типы связей, рассмотренные выше.
Важно отметить, что уровни 4-6
устанавливают типы связностей,
которые разработчики считают
важнейшими для получения диаграмм
хорошего качества.
Рис. 2.12. Функциональная
связность
Значимость |
Тип связности |
Для функций |
Для данных |
0 |
Случайная |
Случайная |
Случайная |
1 |
Логическая |
Функции одного и того
же множества или типа
(например, "редактировать
все входы") |
Данные одного и того
же множества или типа |
2 |
Временная |
Функции одного и того
же периода времени (например,
"операции инициализации") |
Данные, используемые
в каком-либо временном
интервале |
3 |
Процедурная |
Функции, работающие в
одной и той же фазе или
итерации (например, "первый
проход компилятора") |
Данные, используемые
во время одной и той же фазы или
итерации |
4 |
Коммуникационнная |
Функции, использующие
одни и те же данные |
Данные, на которые
воздействует одна и та же
деятельность |
5 |
Последовательная |
Функции, выполняющие
последовательные
преобразования одних и тех же
данных |
Данные, преобразуемые
последовательными функциями |
6 |
Функциональная |
Функции, объединяемые
для выполнения одной функции |
Данные, связанные с
одной функцией |
Назад | Содержание | Вперед
|