Иерархия диаграмм модели и диаграмма дерева узлов
Иерархия диаграмм и контроль граничных стрелок
Рис. 3.12 – Соответствие граничных стрелок
Стрелки, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же, что и стрелки, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы. Методология структурного анализа должна гарантировать правильное соединение всех диаграмм для образования согласованной модели. Для этого следует присвоить ICOM-коды граничным стрелкам новой диаграммы согласно правилам: представить рисунок новой диаграммы внутри декомпозируемого блока, продлить внешние стрелки до края диаграммы, соединить каждую внешнюю стрелку диаграммы с соответствующей граничной стрелкой декомпозируемого блока; присвоить код каждой связи, использовать I для входных стрелок, С – для стрелок управления, О – для выходных стрелок, М ‑ для механизмов; добавить после каждой буквы цифру, соответствующую положению данной стрелки среди других стрелок того же типа, причем входные и выходные стрелки пронумеровать сверху вниз, а стрелки управлений и механизмов слева направо.
Туннелирование стрелок При построении диаграмм декомпозиции может возникнуть ситуация, когда отдельные стрелки высшего уровня не имеет смысла продолжать рассматривать на диаграммах нижнего уровня, или наоборот – отдельные стрелки нижнего уровня отражать на диаграммах более высоких уровней. Это будет только перегружать диаграммы, и делать их сложными для восприятия. Для решения подобных задач предусмотрено понятие туннелирования. Обозначение туннеля в виде двух круглых скобок вокруг начала стрелки обозначает, что эта стрелка не была унаследована от функционального родительского блока и появилась из туннеля только на этой диаграмме. В свою очередь, такое же обозначение вокруг конца стрелки в непосредственной близи от блока-приемника означает тот факт, что в дочерней по отношению к этому блоку диаграмме эта стрелка отображаться и рассматриваться не будет, т.е. уйдет в туннель. Чаще всего бывает, что отдельные объекты и соответствующие им стрелки не рассматриваются на некоторых промежуточных уровнях иерархии. В таком случае они сначала погружаются в туннель, а затем при необходимости возвращаются из туннеля.
Нумерация блоков и диаграмм Все работы на диаграммах должны быть пронумерованы. Номер должен состоять из числа или префикса и числа. Обычно используют префикс А. Работа на контекстной диаграмме имеет номер 0 или А0. Работы на диаграмме декомпозиции первого уровня имеют номера 1, 2, 3, 4 (или А1, А2, A3, А4) и т. д. Работы на диаграмме декомпозиции нижнего уровня имеют номер родительской работы и очередной порядковый номер. Например, работы, которые представляют декомпозицию работы 3 (или A3), будут иметь номера 31, 32, 33, 34 (или А31, А32, А33, А34) и т. д. Диаграммы нумеруются в соответствие с номерами работ, которые они декомпозируют. Контекстная диаграмма всегда имеет номер А-О, диаграмма декомпозиции контекстной диаграммы – номер А0, остальные диаграммы декомпозиции имеют номер, совпадающий с номером работы, декомпозиция которой представлена на данной диаграмме. Например, A1, A2, А21, А213 и т. д.
Диаграмма дерева узлов Работа на любой диаграмме может быть далее описана диаграммой нижнего уровня, которая, в свою очередь, может быть далее детализирована с помощью необходимого числа диаграмм. Работа может иметь одну родительскую и несколько дочерних работ, образуя дерево. Такое дерево называют деревом узлов. Диаграмма дерева узлов показывает иерархию работ в модели и позволяет рассмотреть всю модель целиком, но не показывает взаимосвязи между работами. Диаграмм деревьев узлов может быть в модели сколь угодно много, поскольку дерево может быть построено на произвольную глубину и не обязательно от корня. Рис. 3.14 – Диаграмма дерева узлов
Рекомендации по рисованию диаграмм 1) Функциональные блоки должны всегда иметь управляющие стрелки, хотя могут не иметь входных. 2) Когда входная стрелка служит как управление и вход, покажите ее как управление. Если есть сомнения, сделайте ее управляющей. Не следует расщеплять дугу на управление и вход для одного и того же блока. Стрелка, являющаяся на родительской диаграмме управляющей, может появиться на следующем уровне как управление или вход, либо как то и другое, в зависимости от ее взаимоотношений с подфункцией на этом уровне. 3) Объединяйте в связку стрелки с одними и теми же источниками и пунктами назначения:
Рис. 3.15 – Объединение стрелок 4) На любой из сторон блока не должно быть более четырех стрелок. Если их больше, объедините стрелки, присвойте общую метку и сделайте ответвления к их конечным пунктам:
Рис. 3.16 – Ответвление стрелки 5) Управляющая обратная связь становится более ясной, если соответствующая стрелка нарисована направленной вверх и проходящей над блоком. 6) Входная обратная связь становится более ясной, когда соответствующая стрелка нарисована направленной вниз и проходящей под блоком:
Рис. 3.17 – Обратная связь по управлению и входу 7) Если стрелка разветвляется и входит в несколько блоков, изобразите ее на одних и тех же местах в соответствии с ICOM-кодами на каждом блоке, если это возможно:
Рис. 3.18 – Расположение разветвляющихся стрелок 8) Располагайте стрелки так, чтобы минимизировать пересечения несвязанных стрелок:
Рис. 3.19 – Исключение пересечений 9) Сводите к минимуму число кривых линий и углов, где это возможно:
Рис. 3.20 – Рисование разветвляющихся стрелок 10) Оставляйте достаточные промежутки между параллельными стрелками. Их трудно отслеживать визуально, если они очень длинные и находятся близко друг от друга:
Рис. 3.21 – Рисование параллельных стрелок
|