Методология структурного проектирования SADT

         

Блоки имеют доминирование



2.3. Блоки имеют доминирование

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



Декомпозиция в ходе моделирования



6.3. Декомпозиция в ходе моделирования

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

Подлинная декомпозиция заключается в начальном разделении объекта на более мелкие части и последующем соединении их в более детальное описание объекта. Интересно отметить, что модель показывает только результат взаимодействия анализа и синтеза.

Следуя правилам SADT, автор производит вначале анализ и синтез системных объектов, записывая, как именно подверглись разбиению объекты, входящие в ограниченный объект. На Рисунок 6-5 показано, что список данных начинается со всех граничных дуг и их ICOM-кодов, а заканчивается их составляющими. Затем автор просматривает список данных и, возможно, объединяет эти составляющие, чтобы выделить те объекты, которые будут выступать в качестве управляющих.

Затем автор выполняет подобный анализ и синтез функций системы, но делает это в соответствии со списком данных. В процессе свободного объединения и введения новых управляющих дуг создается список функций для дальнейшей детализации. Например, указания и чертеж заставляют автора подумать о функциях выбрать инструменты и подготовить рабочее место. Функции вносятся в список до тех пор, пока поток идей не иссякнет. Затем эти функциональные части объединяются в разумные (сбалансированные) наборы из 3-6 блоков. (Важно заметить, что применение правила "от трех до шести блоков" вынуждает автора использовать абстракцию и декомпозицию для постепенного представления деталей системы.) После определения функциональных частей список данных и список функций используются для чернового варианта диаграммы. Снова выполняются анализ и синтез, в результате чего формируются наборы объектов, которые представляются дугами, соединяющими блоки.

Такая последовательность выполнения декомпозиции имеет большое значение, поскольку



Дуги изображают объекты



2.4. Дуги изображают объекты


Дуги на SADT-диаграмме изображаются одинарными линиями со стрелками на концах. Для функциональных SADT-диаграмм дуга представляет множество объектов. Мы вынуждены использовать здесь общее понятие "объекты", поскольку дуги в SADT могут представлять, например, планы, данные в компьютерах, машины и информацию. Дуги диаграммы выполнить задание на Рисунок 2-1 представляют материалы, написанные на бумаге (например, следующий шаг задания),

физические материалы (например, сырье и заготовки), инструменты (например, набор инструментов), рабочие чертежи (например, чертежи и указания), рабочую среду (например, оборудованное рабочее место) и управленческую информацию (например, статус задания). Однако в системном анализе вместо термина "объекты" часто употребляют термин "данные". Это объясняется тем, что системному анализу ранее подвергались, как правило, системы программного обеспечения.

Так как в SADT

дуги изображают объекты, они описываются (помечаются) существительными или существительными с определениями, располагающимися достаточно близко к линии дуги. Мы настоятельно рекомендуем размещать описания дуг, называемые метками, как можно ближе к линиям дуг, не нарушая, однако, читабельность диаграмм. Это устраняет неопределенность в том, к какой дуге относится метка, и исключается необходимость в дополнительных графических связях (например, в "зигзагах", см. главу 19). Обратите внимание на то, что все метки дуг на диаграмме выполнить задание расположены вплотную к соответствующим дугам. Мы рекомендуем принять этот стиль описания дуг для того, чтобы ваши диаграммы были упорядоченными и простыми для чтения.





Дуги изображают взаимосвязи между блоками



2.5. Дуги изображают взаимосвязи между блоками

Между объектами и функциями возможны четыре отношения: вход, управление, выход, механизм. Каждое из этих отношений изображается дугой, связанной с определенной стороной блока. По соглашению левая сторона блока предназначена для входных дуг, верхняя сторона - для управленческих дуг, правая сторона - для выходных дуг, нижняя сторона - для дуг механизмов. Таким образом, стороны блока чисто графически сортируют объекты, изображаемые касающимися блока дугами.

Входные дуги изображают объекты, используемые и преобразуемые функциями. Например, в процессе изготовления детали сырье

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

станки должны использоваться при изготовлении детали. Выходные дуги изображают объекты, в которые преобразуются входы. Например, обработать на станке и собрать

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

изображают физические аспекты функции (склады, людей, организации, приборы).

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

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

В методологии SADT требуется только пять типов взаимосвязей между блоками для описания их отношений: управление, вход, обратная связь по управлению, обратная связь по входу, выход-механизм. Связи по управлению и входу являются простейшими, поскольку они отражают прямые воздействия, которые интуитивно понятны и очень просты. Отношение управления возникает тогда, когда выход одного блока непосредственно влияет на блок с меньшим доминированием. Например, блок определить степень выполнения задания влияет на блок выбрать инструменты

в соответствии с детальными указаниями, содержащимися в описании следующего шага задания.

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

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


Обратная связь по управлению возникает тогда, когда выход некоторого блока влияет на блок с большим доминированием. Рассмотрим для примера диаграмму изготовить нестандартную деталь

на Рисунок 2-2. Функция управлять выполнением задания ограничивает действие функции контролировать качество выполнения с помощью чертежа, в котором указаны разрешенные допуски. Кроме того, дуга штамп "принято", являющаяся выходом блока контролировать качество выполнения,

организует работу блока управлять выполнением задания, поскольку именно штамп "принято" указывает, что задание завершено. Таким образом, штамп "принято"

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

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

Связи "выход-механизм" встречаются нечасто и представляют особый интерес. Они отражают ситуацию, при которой выход одной функции становится средством достижения цели для другой. Например, на Рисунок 2-1 представлена функция подготовить рабочее место, имеющая выход оборудованное рабочее место, который, в свою очередь, является механизмом для блока обработать на станке и собрать. Это означает, что оборудованное рабочее место необходимо для того, чтобы начать процесс обработки. А в этом случае дуга механизма обозначает строго последовательную взаимосвязь: приготовления должны быть завершены до начала работы. Поэтому связи "выход-механизм" характерны при распределении источников ресурсов (например, требуемые инструменты, обученный персонал, физическое пространство, оборудование, финансирование, материалы).


Дуги представляют наборы объектов



2.6. Дуги представляют наборы объектов

Дуга в SADT

редко изображает один объект. Обычно она символизирует набор объектов. Например, дуга, именуемая рабочий комплект, отражает техническое задание, чертеж, план-график, некоторое сырье и заготовки. Так как дуги представляют наборы объектов, они могут иметь множество начальных точек (источников) и конечных точек (назначений). Поэтому дуги могут разветвляться и соединяться различными сложными способами. Вся дуга или ее часть может выходить из одного или нескольких блоков и заканчиваться в одном или нескольких блоках, как, например, дуга принятое задание

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

Этот пример иллюстрирует, как ветви дуг показывают, из чего состоит набор объектов. На Рисунок 2-2 видно также, как рабочий комплект и принятое, но незаконченное задание соединяются вместе, образуя сырье и заготовки - вход для блока выполнить задание.

В этом случае две дуги объединяются, образуя больший набор. Для объяснения того, как дуги представляют разъединение и соединение наборов объектов, в SADT были разработаны специальные соглашения относительно представления и описания разветвлений и соединений дуг.

2.6.1. Разветвление дуг

Разветвления дуг, изображаемые в виде расходящихся линий, означают, что все содержимое дуг или его часть может появиться в каждом ответвлении дуги. Дуга всегда помечается до разветвления, чтобы дать название всему набору. Кроме того, каждая ветвь дуги может быть помечена или не помечена в соответствии со следующими правилами:



Идентификация версий диаграмм С-номерами



2.7. Идентификация версий диаграмм С-номерами


При создании SADT-модели одну и ту же диаграмму вместе с ее блоками и дугами перечерчивают несколько раз, что приводит к появлению различных ее вариантов. Чтобы различать разные версии одной и той же диаграммы, в SADT используется схема контроля конфигурации диаграмм, основанная на хронологических номерах, или С-номерах. С-номерные коды образуются из инициалов автора и последовательных номеров. Эти коды ставятся в нижнем правом углу SADT-бланка. Например, DAM010 -это С-номер для диаграммы выполнить задание на Рисунок 2-1. Если диаграмма заменяет более старый вариант, то автор помещает предыдущий С-номер в скобках, чтобы указать на связь с предыдущей работой. Например, диаграмма DAM010 заменяет предыдущую версию DAM009. Каждый автор проекта SADT ведет реестр всех созданных им диаграмм, нумеруя их последовательными целыми числами. Для этого используется бланк реестра С-номеров SADT. На Рисунок 2-3 приведен реестр С-номеров рассматриваемой в этой книге модели экспериментального механического цеха. Обратите внимание на то, как бланк указывает следующие номера, которые нужно использовать. Автору остается только записать номер узла и его название для каждой новой диаграммы.



Коды ICOM гарантируют стыковку диаграмм



3.4. Коды ICOM гарантируют стыковку диаграмм


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

требует, чтобы все внешние дуги диаграммы были согласованы с дугами, образующими границу этой диаграммы. Другими словами, диаграмма должна быть "состыкована" со своей родительской диаграммой. Обычно это означает, что внешние дуги согласованы по числу и наименованию (но не обязательно по расположению) с дугами, касающимися декомпозированного блока родительской диаграммы. Например, у блока 1 диаграммы изготовить нестандартную деталь восемь граничных дуг: входы рабочий комплект и деталь с биркой, управления требования по срокам выполнения задания, штамп "принято" и статус работы, а также выходы оценка степени завершенности задания, готовая деталь, план выполнения задания. Все эти внешние дуги и их имена можно найти на диаграмме управлять выполнением задания.

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

(Input), управление (Control), выход (Output),

механизм (Mechanism). Коды ICOM чрезвычайно эффективны, поскольку они позволяют аналитику быстро проверять согласованность внешних дуг диаграммы с граничными дугами соответствующего блока родительской диаграммы. Они также обеспечивают согласованность декомпозиции, поскольку все дуги, входящие в диаграмму и выходящие из нее, должны быть учтены. На Рисунок 3-2 дуга требования по срокам выполнения задания может быть отслежена от ее начала (С1 блока 0 диаграммы ЭМЦ/ А-0) на границе модели через верхнюю часть диаграммы ЭМЦ/АО к блоку управлять выполнением задания (СЗ блока 4 диаграммы ЭМЦ/ А1). (Мы детально обсудим некоторые исключения из этого правила в главе 5.)


Если вы начинаете строить диаграмму следующего уровня, то дуги, касающиеся декомпозируемого блока, используются в качестве источников и приемников для дуг, которые вы создаете на новой диаграмме. После завершения диаграммы ее внешние дуги стыкуются с родительской диаграммой для обеспечения согласованности. Одним из способов такой стыковки может служить присваивание кодов ICOM внешним дугам новой диаграммы согласно следующим правилам:

представьте себе рисунок новой диаграммы внутри разлагаемого блока. Продлите внешние дуги почти до края диаграммы. Зрительно соедините каждую внешнюю дугу диаграммы с соответствующей граничной дугой декомпозируемого блока (на Рисунок 3-3 в некоторых местах мы используем пунктирные линии для изображения процесса зрительного соединения).

присвойте код каждой зрительной связи. Используйте I для входных дуг, С - для связей между дугами управления, О - для связей между выходными дугами, М - для связей между дугами механизма.

добавьте после каждой буквы цифру, соответствующую положению данной дуги среди других дуг того же типа, касающихся родительского блока. Причем входные и выходные дуги пересчитываются сверху вниз, а дуги управлений и механизмов пересчитываются слева направо (см. Рисунок 3-3). Теперь запишите каждый код около окончания каждой внешней дуги.

На Рисунок 3-3 приведены субъект и его границы (блок и прилегающие дуги) и декомпозирующая его диаграмма. Обратите внимание, что граница субъекта изображена жирной линией для того, чтобы подчеркнуть, как внешние дуги связаны с соответствующими граничными дугами. В этом примере мы изобразили на диаграмме пунктирными линиями зрительные связи только между выходными дугами и соответствующими им граничными дугами. (Другие связи легко определить зрительно.) В соответствии со схемой кодирования для Рисунок 3-3 были получены коды ICOM: II, 12, Cl, C2, 01, 02, Ml. Кодирование дуг ICOM-метками произведено в зависимости от того, к какой стороне родительского блока примыкает данная дуга.

При следовании схеме кодирования ICOM создается совокупность неявных связующих звеньев между страницами, которые можно быстро изменить при изменении границ. (Сравните схему кодирования ICOM/SADT с альтернативной схемой, в которой внешние дуги просто помечаются определенным образом, скажем, буквами от А до Я.) Эти неявные межстраничные связующие звенья облегчают процесс чтения и рецензирования SADT-диаграмм, а также проверку, насколько согласованно произведена декомпозиция.Коды ICOM упрощают также работу, связанную с внесением вручную локальных изменений в диаграмму, и объединяют различные варианты диаграмм так, что они хорошо стыкуются в модели. По нашему мнению, коды ICOM являются одним из наиболее важных вкладов SADT

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


Координация процесса рецензирования



4.4. Координация процесса рецензирования

Организация своевременной обратной связи имеет важнейшее значение для эффективного моделирования, потому что устаревшая информация потенциально способна свести на нет все усилия по разработке системы. Вот почему SADT выделяет специальную роль наблюдателя за процессом рецензирования. На Рисунок 4-1 показано, что эту роль выполняет библиотекарь, который является главным координатором процесса моделирования в SADT, обеспечивая своевременное и согласованное распространение рабочих материалов. Библиотекарь распространяет полученные от авторов папки, контролирует их движение, рассылает напоминания о своевременном возвращении авторам папок с замечаниями и о сроках ответов авторов на предложения читателей. Кроме того, библиотекарь печатает законченные модели после того, как они одобрены и приняты к использованию.



Корректность модели проверяется в процессе итеративного рецензирования



4.3. Корректность модели проверяется в процессе итеративного рецензирования

Моделирование в SADT - инженерная дисциплина. Это означает, что модели создаются исходя из действительной ситуации и что эти модели проходят через серию последовательных улучшений до тех пор, пока они в точности не будут представлять реальный мир. Одной из основных компонент методологии SADT является итеративное рецензирование, в процессе которого автор и эксперт многократно совещаются (устно и письменно) относительно достоверности создаваемой модели. Итеративное рецензирование называется циклом автор/читатель.

Цикл автор/читатель начинается в тот момент, когда автор принимает решение распространить информацию о какой-либо части своей работы с целью получения отзыва о ней. Материал для распространения оформляется в виде "папок" - небольших пакетов с результатами работы, которые критически обсуждаются другими специалистами в течение определенного времени. Сделанные письменные замечания также помещаются в папку в виде нумерованных комментариев. Папки с замечаниями являются, таким образом, обратной связью, которую авторы получают на свою работу. Читатели - это те, кто читает и критикует создаваемую модель (см. блок 4 на Рисунок 4-1), а затем помещает замечания в папки. Их работа возможна благодаря тому, что графический язык SADT-диаграмм позволяет создавать диаграммы и модели, которые можно легко и быстро читать. (Простота графического языка потому не случайна. Она позволяет получить представление о системе, на основе которого можно дать обоснованное заключение о достоверности модели.)

Обычно отдельная папка рецензируется одновременно несколькими читателями, и все их замечания поступают к определенному сроку к автору. Затем автор отвечает на каждое замечание и обобщает критику, содержащуюся в замечаниях. С помощью таких обсуждений можно достаточно быстро обмениваться идеями. Таким образом, методология SADT поддерживает как параллельный, так и асинхронный просмотр модели, что является наиболее эффективным способом распределения работы в коллективе. Это показывает, что моделирование в SADT является инженерной дисциплиной, потому что итеративная коллективная деятельность - признак инженерной деятельности. Это связано с тем, что модель в SADT очень редко создается одним автором. На практике над различными частями модели могут совместно работать множество авторов, потому что каждый функциональный блок модели представляет отдельный субъект, который может быть независимо проанализирован и декомпозирован. Таким образом, модель сама координирует работу коллектива авторов, в то время как процесс моделирования SADT координирует совместное рецензирование возникающих идей. Полное описание инженерного процесса приведено в части III.



Модель имеет единственный субъект



1.3. Модель имеет единственный субъект


Модель является некоторым толкованием системы. Поэтому субъектом моделирования служит сама система. Однако моделируемая система никогда не существует изолированно: она всегда связана с окружающей средой. Причем зачастую трудно сказать, где кончается система и начинается среда. По этой причине в методологии SADT подчеркивается необходимость точного определения границ системы. SADT-модель всегда ограничивает свой субъект, т.е. модель устанавливает точно, что является и что не является субъектом моделирования, описывая то, что входит в систему, и подразумевая то, что лежит за ее пределами. Ограничивая субъект, SADT-модель помогает сконцентрировать внимание именно на описываемой системе и позволяет избежать включения посторонних субъектов. Вот почему мы утверждаем, что SADT-модель должна иметь единственный субъект.



Модель отвечает на вопросы



1.2. Модель отвечает на вопросы

SADT-модель дает полное, точное и адекватное описание системы, имеющее конкретное назначение. Это назначение, называемое целью модели, вытекает из формального определения модели в SADT:

М есть модель системы S, если М может быть использована для получения ответов на вопросы относительно S с точностью А.

Таким образом, целью модели является получение ответов на некоторую совокупность вопросов. Эти вопросы неявно присутствуют (подразумеваются) в процессе анализа и, следовательно, они руководят созданием модели и направляют его. Это означает, что сама модель должна будет дать ответы на эти вопросы с заданной степенью точности. Если модель отвечает не на все вопросы или ее ответы недостаточно точны, то мы говорим, что модель не достигла своей цели. Определяя модель таким образом, SADT закладывает основы практического моделирования.

Смысл и трактовка этого определения оказали существенное влияние на практические применения SADT. Обычно вопросы для

SADT-модели формулируются на самом раннем этапе проектирования, при этом основная суть этих вопросов должна быть выражена в одной-двух фразах. На Рисунок 1-1 показана работа автора модели, использующего SADT для определения цели модели экспериментального механического цеха (ЭМЦ). Обратите внимание на то, что, познакомившись с постановкой задачи и кратким описанием процесса, автор составил список вопросов и свел этот список в одно предложение. Это предложение становится целью модели, а список вопросов сохраняется как детализация этого предложения. После завершения работы над моделью информация, содержащаяся в модели, будет отвечать на поставленные вопросы.

Какая степень точности приемлема для модели экспериментального механического цеха? Поскольку модель будет использована для подготовки учебного руководства, разумная степень точности будет достигнута, если каждая описанная в модели функция экспериментального цеха будет изложена в одном абзаце текста. Такая точность достижима и измерима. Другие методы анализа систем (альтернативные пути описания системы) не учитывают этот критический момент определения основной цели модели. Только поняв, насколько хорошо нужно ответить на поставленные вопросы, можно определить,



Модели используются после их одобрения



4.5. Модели используются после их одобрения

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

Точная модель не всегда полезна.

В процессе SADT-моделирования рекомендуется выделить специальную группу людей, ответственных за то, что создаваемая в процессе анализа модель будет точна и используема в дальнейшем. Эта группа, называемая Комитетом технического контроля (см. блок 5 на Рисунок 4-1), отвечает за контроль качества моделей, создаваемых авторами SADT-проекта. Комитет следит за выполняемой работой и ее соответствием конечным целям всего проекта. Члены Комитета обсуждают модель и оценивают, насколько она может быть использована и будет использована соответствующим образом в ходе выполнения проекта для достижения его глобальных целей.

Таким образом, Комитет технического контроля находится в наиболее выгодном положении при определении текущего направления развития проекта и выработке предложений по его корректировке. Комитет реализует это с помощью рецензий. Модели, которые достигли желаемого уровня детализации и точности с точки зрения технических требований, направляются членам Комитета технического контроля для обсуждения и утверждения. Комитет оценивает, насколько применима данная модель. Если модель признана Комитетом применимой, она публикуется. В противном случае авторам направляются замечания для необходимой доработки.



Модели SADT структурируют естественный



пХЯ.6-1. Описание границ SADT-модели


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



Момент прекращения декомпозиции определяется точностью



6.6. Момент прекращения декомпозиции определяется точностью

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

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



Некоторые функции более важны для контролера



пХЯ.6-3. Некоторые функции более важны для контролера


частью системы. Поскольку каждой роли, как правило, соответствует особый жаргон, выбор определенной точки зрения означает также использование соответствующего набора терминов. Обратите внимание на терминологию Рисунок 6-3, с помощью которой описана работа контролера с точки зрения начальника. Здесь используются термины типа стандарты допусков и принятое задание. Теперь сравните их с теми терминами на Рисунок 6-4, которые описывают обработку деталей с точки зрения начальника. В этом случае используются термины типа чертеж, сырье и набор инструментов. Читая эти две диаграммы, можно представить себе двух совершенно различных людей, беседующих о своей работе. Таким образом, автор будет оперировать той терминологией, которую он почерпнет, опрашивая соответственно контролера и оператора.

Выбор точки зрения означает также выделение определенных аспектов системы и применение определенной терминологии. Без правильно расставленных акцентов и терминологии согласованное изложение практически невозможно. Одна из сложнейших задач автора в SADT -оставаться в рамках выбранной точки зрения, поскольку выявленное множество подробностей о работе системы, которые не вписываются в принятую точку зрения, вызывают сильное искушение изложить их. Например, факты, связанные с планированием задания, входят в сферу интересов как мастера, так и рабочего.

Мастер в большей степени заинтересован в плане в целом и в том, сколько времени займет его выполнение. Рабочего же больше интересуют конкретные шаги, необходимые для выполнения задания. Разделив эти два вопроса и отразив их на диаграммах А1 и А2, автор ясно и раздельно описал деятельность двух очень разных работников механического цеха.

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



Некоторые стратегии декомпозиции



6.4. Некоторые стратегии декомпозиции

В процессе создания диаграммы авторы часто не уделяют достаточного внимания стратегии декомпозиции. Опытный SADT-автор в отличие от начинающих постоянно следит за стратегией декомпозиции и ее влиянием на качество модели. Ему доступно множество стратегий декомпозиции. (Этой проблеме посвящены целые книги, а в списке дополнительной литературы к данной главе приведены некоторые важные работы.) Рассмотрим в кратком обзоре некоторые наиболее часто применяемые стратегии, которым вы можете следовать, создавая модель.

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

делает система, независимо от того, как она

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

Декомпозиция в соответствии с функциями, которые люди или организации выполняют, может оказаться полезной стратегией для создания системы описаний, фиксирующей взаимодействие между людьми в процессе их работы. Декомпозиция, приведенная на Рисунок 6-2, описывает взаимодействие персонала механического цеха и функции, выполняемые каждым отдельным лицом. Таким образом, эта диаграмма представляет общую картину работы механического цеха, а каждый из ее потомков дает более концентрированное описание определенного рода работы (управления заданием, обработки и контроля). Иногда взаимодействие между функциями невелико, как в механическом цехе. Очень часто, однако, взаимосвязи между функциями весьма многочисленны и сложны. Вот почему мы рекомендуем использовать эту стратегию только в начале работы над моделью системы из разряда, который часто называют РЗ - первые буквы английских слов people


(люди), paper (бумаги), procedures (процедуры). Это поможет собрать исходную информацию о системе, с помощью которой можно создать более обоснованную функциональную декомпозицию системы в целом.

Эффективной стратегией для систем команд и управления может оказаться декомпозиция в соответствии с уже известными стабильными подсистемами. Это приводит к созданию набора моделей, по одной модели на каждую подсистему или важную компоненту. Затем для описания всей системы должна быть построена составная модель, объединяющая все отдельные модели. Авторы этой книги работали над проектом создания моделей отдельно для торпеды, отдельно для защиты от торпед и отдельно для движения подводной лодки, а потом объединили эти модели вместе для описания способов защиты подводной лодки. Мы рекомендуем использовать разложение на подсистемы, только когда разделение на основные части системы не меняется (например, ходовая часть и двигатель в автомобиле). Нестабильность границ подсистем быстро обесценит как отдельные модели, так и их объединение.

Некоторые системы в процессе функционирования непрерывно преобразуют свои входы в конечный продукт, как, например, при очистке нефти. Стратегия декомпозиции, основанная на отслеживании цикла "от рождения до смерти" (называемого обычно "жизненным циклом") для ключевых входов системы, может оказаться эффективной для описания подобных процессов. Например, модель "Питание семьи", приведенная в приложении С, есть результат декомпозиции системы в соответствии с этапами превращения купленных продуктов в съеденные блюда. Мы рекомендуем применять эту стратегию, когда целью системы является улучшение одного из основных входов и когда вы легко можете определить последовательные стадии улучшения этого входа.

Если ничто другое не подходит, всегда можно применить декомпозицию по физическому процессу. Результатом такого сорта декомпозиции будет выделение функциональных стадий, этапов завершения или шагов выполнения. На диаграммах низкого уровня (А311, А312, А313) модели обучения из главы 13 подробно описана последовательность шагов, которую нужно выполнить, чтобы подготовить материал для обучения военных.Хотя эта стратегия полезна при описании существующих процессов (таких, например, как работа промышленного предприятия), результатом ее часто может стать слишком последовательное описание системы, которое не будет в полной мере учитывать ограничения, диктуемые функциями друг другу. При этом может оказаться скрытой последовательность управления. Мы рекомендуем эту стратегию, только если целью модели является описание физического процесса как такового или только в крайнем случае, когда вы не понимаете, как действовать.


Обозначения для менее распространенных интерфейсов по дугам



3.5. Обозначения для менее распространенных интерфейсов по дугам

Номера узлов, С-номера и коды ICOM управляют подавляющим большинством ситуаций внутренних связей в модели. Однако между родительскими диаграммами и диаграммами-потомками могут возникать некоторые специфические ситуации, в которых разумное использование синтаксиса модели улучшает описание модели, а именно: (1) при разветвлении и соединении внешних дуг; (2) при изменении входных дуг на управляющие и наоборот; (3) когда дуги "входят в тоннель". Мы приведем примеры каждой из этих ситуаций, так чтобы вы могли распознать их и понять их значение. Однако необходимо предупредить, что такие средства изображения следует использовать только в особых ситуациях для прояснения и упрощения описания системы. Их следует применять для удобства, а не как прикрытие плохого анализа систем. Во всех этих случаях данные при пересечении границ диаграмм сохраняются, т. е. все входные данные некоторым образом используются для образования всех выходных данных. Ключом для понимания таких ситуаций является то, что дуги SADT изображают иерархические наборы данных (в главе 5 приведены дополнительные пояснения относительно иерархии дуг и дуг вообще).

Одна из особых ситуаций заключается в разветвлении или соединении внешних дуг между диаграммами. Например, две внешние выходные дуги на диаграмме могут быть частями общей выходной дуги на границе блока. Это может произойти, если аналитик вместо того, чтобы обычным способом соединить их на диаграмме, оставляет это соединение неявным. Узнать об этом непоказанном соединении или разветвлении можно только, заметив, что коды ICOM для двух разных дуг совпадают. (Такая ситуация показана в уроке 7, где дуга бюджет и деньги, Cl на диаграмме ПС/А-0, разделена на диаграмме ПС/АО на дугу бюджет и дугу деньги.) Мы настоятельно рекомендуем почти во всех случаях делать явным факт соединения или разветвления внешних дуг, вычерчивая это на декомпозируемой диаграмме. Это позволит избежать использования ICOM-меток для указания соединения или разветвления дуг.


Особая ситуация возникает также тогда, когда входная дуга превращается в дугу управления и наоборот. Это происходит, если дуга управления (или входная), касающаяся границы блока, используется при декомпозиции диаграммы как входная (или соответственно управленческая) дуга. В уроке 7 обратите внимание на то, что дуга деньги

как часть дуги деньги и бюджет является дугой управления на диаграмме ПС/А-0, однако используется как входная дуга на диаграмме ПС/ АО. Аналитик связал их для того, чтобы подчеркнуть, что на верхнем уровне модели бюджет

и деньги управляют процессом питания семьи. Бюджет

управляет планированием, а деньги - это нечто, превращаемое в процессе хождения по магазинам в продукты.

Нам редко встречались ситуации, в которых требуется подобная техника. Мы советуем хорошо подумать об альтернативных способах построения диаграммы, прежде чем применять эту технику.

Две другие особые ситуации возникают, когда дуги "входят в тоннель" между диаграммами. Дуга "входит в тоннель", либо (1) если она


Пример анализа и синтеза в процессе декомпозиции



пХЯ.6-5. Пример анализа и синтеза в процессе декомпозиции


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

Правило "от трех до шести" блоков на одной диаграмме - тоже уникальная особенность SADT. Хорошо известно, что мощность краткосрочной памяти человека ограничена восприятием примерно семи категорий, каждая из которых может содержать около семи отдельных единиц информации. SADT придерживается консервативной точки зрения, разрешая в качестве верхнего предела шесть блоков - по одному на категорию. Имя блока и его граничные дуги представляют собой единицы информации, помещаемые в категории в процессе чтения диаграммы. Таким образом, SADT-диаграммы создаются так, чтобы не подвергать испытанию пределы краткосрочной памяти человека. Однако способности к запоминанию у различных людей различны. Наш опыт показывает, что диаграммы из 4-5 блоков с не более чем пятью дугами, касающимися каждого блока, приближаются к оптимальным по объему информации, которые можно быстро донести до широкой аудитории.



Процесс создания SADT-модели



Рисунок 4-1. Процесс создания SADT-модели


ется с помощью специального метода детализации ограниченного субъекта. Коротко говоря, в SADT автор вначале анализирует объекты, входящие в систему, а затем использует полученные знания для анализа функций системы. На основе этого анализа создается диаграмма, в которой объединяются сходные объекты и функции. Этот конкретный путь проведения анализа системы и документирования его результатов является уникальной особенностью методологии SADT.



Связывание декомпозиции с помощью С-номеров



3.3. Связывание декомпозиции с помощью С-номеров


Помимо использования для идентификации версий диаграмм, С-номера применяются для связки диаграмм при движении как вверх, так и вниз по иерархии модели. Обычно С-номер диаграммы, декомпозирующей некоторый блок, впервые появляется непосредственно под этим блоком на родительской диаграмме. Это образует "направленную вниз" связь от родительской диаграммы к диаграмме-потомку. На Рисунок 3-2 С-номер DAM008 диаграммы управлять выполнением задания размещен ниже блока 1 на диаграмме изготовить нестандартную деталь.

Это указывает на то, что функция управлять выполнением задания была декомпозирована.



Терминология, связанная с изготовлением нестандартных деталей



пХЯ.6-4. Терминология, связанная с изготовлением нестандартных деталей




Точка зрения модели влияет на расстановку акцентов и терминологию



6.2. Точка зрения модели влияет на расстановку акцентов и терминологию

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

При выборе точки зрения контролера функции управления и обработки были бы затушеваны в модели и диаграмма АО выглядела бы хотя и похоже, но не совсем так, как на Рисунок 6-3. Ясно, что выбор станков или инструментов и сравнение сроков выполнения задания с плановыми оценками завершения не имеют важного значения для контролера, поэтому эти факторы исчезли бы из поля зрения контролера и никогда не появились бы в его модели экспериментального механического цеха. В то же время такие функции, как определить степень завершенности задания в терминах, связанных с контролем, по-прежнему были бы выделены. Поэтому диаграмма на Рисунок 6-3 только приблизительно соответствует тому, как выглядела бы диаграмма АО модели контролера. Это показывает, почему модели с разными точками зрения содержат перекрывающуюся информацию.

Выбор одной точки зрения обеспечивает согласованность терминологии. Точку зрения лучше всего понимать как "вид на систему" с позиции определенного человека. Часто точка зрения непосредственно связана с конкретной ролью, выполняемой этим человеком, который является



У модели может быть только одна точка зрения



1.4. У модели может быть только одна точка зрения

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

требует, чтобы модель рассматривалась все время с одной и той же позиции. Эта позиция называется "точкой зрения" данной модели. На Рисунок 1-1 показано, как автор модели экспериментального механического цеха перечисляет претендентов (механик, контролер), с точки зрения которых можно было бы описывать механический цех.

"Точку зрения" лучше всего представлять себе как место (позицию) человека или объекта, в которое надо встать, чтобы увидеть систему в действии. С этой фиксированной точки зрения можно создать согласованное описание системы так, чтобы модель не дрейфовала вокруг да около, и в ней не смешивались бы несвязанные описания. Например, если в модели экспериментального механического цеха не зафиксировать определенную точку зрения, то легко можно смешать проблему обслуживания станков цеха с тем, как будет обработана деталь. Если это произойдет, то читатель модели столкнется с трудностями при определении конкретных обязанностей персонала.

Иногда только одна из множества возможных точек зрения может дать описание, удовлетворяющее цели модели. Например, для создания согласованной модели механического цеха можно встать на точку зрения как мастера, так и механика или контролера, но ни одна из них сама по себе не даст модели, которая позволила бы написать учебное руководство для всего персонала. Только с позиции начальника цеха можно увидеть все виды работ, выполняемых в цехе. Именно с его точки зрения, как указано в замечании на Рисунок 1-1, можно проследить взаимосвязи обязанностей различных работников. Точка зрения начальника цеха позволяет создателю модели определить роль каждого работника в изготовлении отдельных деталей и описать координацию обязанностей персонала.

1.5. Модели как взаимосвязанные наборы диаграмм


После того как определены субъект, цель и точка зрения модели, начинается первая интеграция процесса моделирования по методологии SADT. Субъект определяет, что включить в модель, а что исключить из нее. Точка зрения диктует автору модели выбор нужной информации о субъекте и форму ее подачи. Цель становится критерием окончания моделирования. Конечным результатом этого процесса является набор тщательно взаимоувязанных описаний, начиная с описания самого верхнего уровня всей системы и кончая подробным описанием деталей или операций системы.

Каждое из таких тщательно взаимосогласованных описаний называется диаграммой. SADT-модель объединяет и организует диаграммы в иерархические структуры, в которых диаграммы наверху модели менее детализированы, чем диаграммы нижних уровней. Другими словами, модель SADT можно представить в виде древовидной структуры диаграмм, где верхняя диаграмма является наиболее общей, а самые нижние наиболее детализированы. На Рисунок 1-2 представлены две диаграммы из модели экспериментального механического цеха. Верхняя диаграмма (на вершине модели) описывает механический цех как функцию, в основе которой лежит преобразование входящих рабочих комплектов (заготовок, сырья, документации) в детали при определенном контроле качества. Нижняя диаграмма детализирует верхнюю, указывая на три главные функции механического цеха: управление выполнением заданий, выполнение задания и контроль качества выполнения. Таким образом, общая функция, указанная на верхней диаграмме, детализируется с помощью трех функций на нижней диаграмме. Это пример того, как SADT организует описание системы, создавая иерархию добавляющихся на каждом уровне деталей.

На Рисунок 1-2 показано также взаимное влияние трех функций нижней диаграммы, обозначенное дугами, которые символизируют объекты механического цеха. Если вы внимательно посмотрите на диаграмму, то заметите, что некоторые дуги доходят до ее границы. Посмотрите еще внимательнее и вы увидите, что имена этих дуг совпадают с теми, что указаны на дугах верхней диаграммы.


Это пример того, как SADT соединяет диаграммы в модели через объекты системы. Такая схема соединения требует согласованного наименования и учета объектов системы с тем, чтобы две диаграммы можно было рассматривать как связанные между собой. Например, функциональный блок на верхней диаграмме имеет семь дуг, и каждая из них может быть найдена среди дуг, идущих к границе или от границы диаграммы на следующем уровне.

1.6. Резюме

Сложности, связанные с описанием многих искусственных систем, объясняются тем, что эти системы слишком велики для того, чтобы можно было просто перечислить все их компоненты. С другой стороны, они могут быть упрощены за счет обобщающих предположений. Методология SADT создана специально для представления таких сложных систем путем построения моделей. SADT-модель - это описание системы, у которого есть единственный субъект, цель и одна точка зрения. Целью служит набор вопросов, на которые должна ответить модель. Точка зрения - позиция, с которой описывается система. Цель и точка зрения - это основополагающие понятия SADT. В этой главе мы решили дать о них беглое представление, оставляя более подробное рассмотрение до глав 5 и 6. Описание модели SADT организовано в виде иерархии взаимосвязанных диаграмм. Вершина этой древовидной структуры представляет собой самое общее описание системы, а ее основание состоит из наиболее детализированных описаний.


Все обязанности сотрудников цеха имеют одинаковые степени важности



пХЯ.6-2. Все обязанности сотрудников цеха имеют одинаковые степени важности




Выбор стратегии декомпозиции



6.5. Выбор стратегии декомпозиции

Часто при начале работы над моделью пытаются испробовать несколько различных стратегий декомпозиции. Наш опыт показывает, что разработке качественной диаграммы АО может предшествовать несколько неудачных попыток. Первая попытка декомпозиции, в результате которой создается диаграмма АО, обычно приводит к сверхпридирчивому анализу читательской аудиторией. Эта начальная декомпозиция при детальном рассмотрении часто не соответствует цели модели. Не унывайте, когда это случится, если ваши первые попытки являются ясными и четкими. Помните, что в начале моделирования важнее ясность изложения, чем его правильность, поскольку коллективные знания экспертов, читательской аудитории, других авторов помогут вам создать полноценное общее описание, которое после детализации будет удовлетворять цели модели. Просмотрите материал уроков в данной книге и обратите внимание на то, как диаграмма АО модели "Питание семьи" изменялась по мере декомпозиции ее главных функций. В этом примере интерфейсы и ожидаемые действия главных функций подвергались большим изменениям, которые должны были найти отражение на диаграмме АО в соответствии с требованиями синтаксических правил SADT.

Кроме того, несмотря на адекватность начальной стратегии декомпозиции, соответствующей полному жизненному циклу продуктов, все диаграммы модели подвергались пересмотру для получения верного и согласованного изложения этого конкретного сценария. (Полную модель "Питание семьи" см. в приложении С.) Таким образом, даже если ваша исходная стратегия декомпозиции была удачной, ожидайте больших изменений в диаграмме АО.