Диаграмма
На SADT-диаграмме располагаются блоки и ориентированные дуги. Диаграмма составляется на стандартном бланке, в котором предусмотрены поля для названия, автора, наименования проекта, даты составления или изменения и другой стандартной информации.
Блоки отображают функции моделируемой системы. Дуги связывают блоки вместе и отображают взаимодействия и взаимосвязи между ними. Методология SADT рекомендует отображать на диаграмме 3-6 блоков (соотношения выявлено эмпирическим путем). Исключением является диаграмма самого высокого уровня, которая всегда содержит один блок, выражающий обобщенную функцию системы.
Блоки отображаются прямоугольниками. Название представляемой блоком функции пишется внутри блока обычно в неопределенной глагольной форме («выписать ордер», «проверить и утвердить баланс» и т.п.) или сочетание отглагольного существительного с существительным («изготовление детали», «прием заказ»). Блоки располагаются и нумеруются на диаграмме вдоль диагонали из левого верхнего угла в правый нижний. Меньший номер соответствует более высокой степени доминирования блока. Доминирование может быть обусловлено тем, что его функция выполняется ближе к началу последовательного процесса или важностью его функции. Порядковый номер блока пишется в правом нижнем углу прямоугольника и используется для ссылки на декомпозирующие его диаграммы.
Дуги/стрелки могут исходить из:
левого края диаграммы;
верхнего края диаграммы;
нижнего края диаграммы;
правого края блока.
Дуги присоединяются к:
левому краю блока;
верхнему краю блока;
нижнему краю блока;
правому краю диаграммы.
Дуга может вести от блока к нему самому. Дуга представляет множество внешних по отношению к блоку объектов, участвующих в выполнении его функции. «Быть результатом» тоже означает участие в выполнении его функции. Под объектами здесь понимаются и физические сущности (материалы, изделия, оборудование, персонал, документы и пр.) и более абстрактные информационные (указания, потребности, сведения и пр.). Дуги могут представлять собой одинаковые или однородные данные или объекты, которые в дальнейшем используются или перерабатываются в одном месте. Для моделирования таких ситуаций используются разветвляющиеся и сливающиеся стрелки.
Название соответствующих дуге объектов пишется вдоль нее преимущественно в форме подлежащего, возможно, с дополнениями и определениями («утвержденный баланс», «бракованное изделие», «нормы законодательства РФ»).
По роли в выполнении функции блока дуги подразделяются на:
входные – присоединяются к левой стороне блока – соответствуют объектам, используемыми и преобразуемыми функцией блока – допускается, что функция может не иметь ни одного входа;
выходные – исходят из правой стороны блока – изображают объекты, в которые преобразуются входы (материал, данные) - каждая функция должна иметь хотя бы одну стрелку выхода;
управляющие – присоединяются к верхней стороне блока – обычно содержат условия выполнения функций и ограничения, учитываемые при их работе (правила, процедуры, стратегии, стандарты и пр.) – каждая функция должна иметь хотя бы одну стрелку управления;
дуги механизмов – присоединяются к нижней стороне блока – раскрывают средства, которыми производится выполнение функций (персонал, станки, устройства и пр.).
Кроме того, есть дуги «Вызов» - специальные дуги, указывающие на другую модель функции. Она рисуется как исходящая из нижней грани блока. Стрелка вызова используется для указания того, что некоторая работа выполняется за пределами моделируемой системы.
Дуги, соединенные краем диаграммы или присоединенные к блоку только одним концом являются внешними по отношению к данной диаграмме и выражают ее связь с внешним миром или другими подсистемами декомпозируемой системы. Остальные дуги являются внутренними по отношению к данной диаграмме. Если стрелка имеет в качестве источника только один блок и в качестве назначения тоже, то такие стрелки называются явными. Если некоторый блок подвергается декомпозиции, то все инцидентные ему дуги будут внешними на декомпозируемой диаграмме. Это важное правило SADT, следование которому обеспечивает преемственность и непротиворечивость родительских и дочерних диаграмм.
При декомпозиции работы входящие в нее и исходящие из нее дуги автоматически появляются на дочерней диаграмме, но при этом не касаются границ, такие дуги называются несвязанными граничными стрелками и воспринимаются как синтаксическая ошибка.
При декомпозиции блока 2 диаграммы А1 дуги A,B,C,D,E станут внешними для детализирующей диаграммы А12, например следующим образом:
Для идентификации внешних дуг в SADT принята система ICOM-обозначений: I – Input (вход), C – Control (управление), O – Output (выход), M – Mechanism (механизм). ICOM-нумерация выполняется так:
Входы кодируются литерой I, и номером соответствующей дуги родительского блока на декомпозируемой диаграмме. Аналогично для дуг управления - C, выходов - O и механизмов - M. Нумерация дуг идет сверху вниз для входов и выходом и слева направо для управления и механизмов.
Типы связей функций:
связь по входу (output-input): когда стрелка выхода вышестоящего блока направляется на вход нижестоящего;
связь по управлению (output-control): когда стрелка выхода вышестоящего блока направляется на управление нижестоящего;
обратная связь по входу (output-input feedback) или обратная связь по потоку данных - указывает на повторное использование и итерацию функций: когда стрелка выхода нижестоящего блока направляется на вход вышестоящего;
обратная связь по управлению (output-control feedback) или обратная связь по управлению - свидетельствует о взаимном влиянии функций: когда стрелка выхода нижестоящего блока направляется на управление вышестоящего;
связь выход – механизм (output-mechanism): когда стрелка выхода одного блока направляется на механизм другого.
Примеры обратной связи. А – обратная связь по управлению, В – по данным.
На диаграммах низкого уровня абстракции может быть слишком много внешних дуг, что способствует загромождению пространства и снижению уровня читабельности диаграммы. В этом случае использует так называемые туннельные дуги (со скобочками), реализующие исключения из сформулированного выше правила декомпозиции диаграмм. Туннельные дуги являются локальными по отношению к диаграмме и по выражению позволяют «спрятать» некоторые подробности и показать необходимые детали.
Дуга А не видна на родительской диаграмме; дуга B не будет видна на диаграмме, декомпозирующей блок 2; дуга С не будет видна ни на родительской, ни на декомпозирующей блок диаграмме.
Дуги на диаграммах SADT позволяют отображать на диаграммах не только обратную связь, но и последовательное и параллельное выполнение функций.
Рис. Последовательное и параллельное выполнение функций.
