Методология структурного проектирования SADT
Что нужно помнить при опросе
7.4. Что нужно помнить при опросеНиже приведено несколько важных советов, которые нужно иметь в виду в процессе опроса. Поскольку их все трудно запомнить сразу, перечитайте эти пункты после опроса, чтобы посмотреть, в чем вы можете улучшить свое уменье собирать информацию:
Следующие рекомендации, помогают поддерживать непрерывность потока и достоверность информации, поступающей от эксперта:
Умение проводить опросы так же важно, как и умение строить хорошие диаграммы и модели. Применяя на практике приведенные рекомендации, вы станете более умелым интервьюером. Чем лучше вы проводите опрос, тем легче получить базовые знания, необходимые для ваших SADT - диаграмм и SADT - моделей.
Диаграмма А-О
Рисунок 8-4. Диаграмма А-О
Иногда оказывается, что определить цель и точку зрения в самом начале моделирования чрезвычайно трудно. В таком случае мы советуем составить списки данных и функций и, может быть, нарисовать диаграмму АО. Сделав это, вы начнете чувствовать систему и установите, описывает ли ее диаграмма АО с нужной точки зрения. Может быть, вам придется нарисовать несколько альтернативных АО-диаграмм, прежде чем появится достаточная уверенность для того, чтобы осуществить выбор правильной цели и точки зрения. Мы настоятельно рекомендуем именно такую последовательность действий, если вы не убеждены в правильности цели и направленности своей работы. Уроки к I и II частям демонстрируют, как составление списков начальных данных и функций служит ценной преамбулой для определения цели и точки зрения модели.
Диаграмма после критики рецензента
Рисунок 10-1. Диаграмма после критики рецензента
кой оценки диаграммы, построенной в главе 9 (замечания отмечены светло-серым). Обращайтесь к этому рисунку по мере обсуждения схемы "вопрос-ответ".
10.2.1. Вопросы о блоках
Вначале следует критически оценить блоки диаграммы. Определим функциональные аспекты диаграммы, задавая вопросы типа:
Например, на Рисунок 10-1 нет замечаний, связанных с блоками данной диаграммы. Однако для блоков определить степень выполнения задания и обработать на станке и собрать можно было бы выбрать другие названия. Кроме того, имя блока выбрать инструменты
может означать слишком простую функцию, поэтому новое наименование выбрать ручные инструменты может больше сообщить об их выборе.
10.2.2. Вопросы о связи с родительской диаграммой
Теперь зададим вопросы о связи диаграммы с ее родителем. При этом мы проверим, как диаграмма вписывается в модель.
Исправление взаимосвязанных диаграмм
10.5. Исправление взаимосвязанных диаграммСоздание диаграммы, ответы на связанные с ней вопросы и переделка ее обеспечивают более глубокое понимание родительской диаграммы и диаграмм - потомков вновь построенной диаграммы. Зафиксируйте свое понимание во время исправления диаграммы. (Это как раз тот случай, когда перенесение информации снизу-вверх естественным образом вписывается в технику декомпозиции.) Автор вынужден переносить информацию на другие диаграммы в трех ситуациях: при изменении меток внешних дуг, при появлении новых внешних дуг и при перераспределении функций.
Перенесение необходимо, если изменилось название внешней дуги. Перенесение измененных меток внешних дуг немедленно обеспечивает предоставление родительской диаграммой всех данных, необходимых диаграмме-потомку. Перенесение необходимо также, когда на новой диаграмме появляются новые входные или выходные дуги. Эти новые дуги должны так или иначе возникнуть на родительской диаграмме. Есть два пути сделать это: нарисовать новые дуги на родительской диаграмме или объединить дуги новой диаграммы в одну и изменить соответствующим образом метку дуги на родительской диаграмме. Делая это, соблюдайте правила соединения и разветвления дуг.
Перемещение блоков представляет самую сложную ситуацию. Оно происходит, когда функция (обычно на низком уровне модели) должна появиться, но не появляется на диаграмме, которую вы рисуете, а появляется на другой диаграмме модели, или наоборот. Перенести такую функцию, представленную блоком и всеми его дугами, с одной диаграммы на другую - нелегкое дело. Обычно это приводит к большим изменениям в метках дуг, появлению множества новых и исчезновению некоторых старых дуг. Иногда перемещение одного блока ведет к перемещению других блоков на различные диаграммы, вызывая целую волну изменений. Как правило, перемещение блока влечет за собой обилие технически сложной работы и может привести к ошибкам, если изменения не отслеживаются достаточно тщательно.
Корректировка новой диаграммы
10.4. Корректировка новой диаграммыОбычно, потратив время на вопросы к диаграмме, тестирование, выполнение альтернативных набросков, автор корректирует диаграмму. В ходе корректировки следите за правильным доминированием, выбором названий блоков, информативностью дуг и делайте пояснения. Помните, что теперь вы рисуете диаграмму, чтобы донести информацию в точном и понятном виде до читательской аудитории. Обращайтесь к Рисунок 10-3 по мере обсуждения конкретных методик корректировки.
10.4.1. Переопределение доминирования
Для того чтобы составить первое впечатление о выполняемых блоками функциях, читатель вашей диаграммы прочтет по порядку их наименования. Обеспечьте читателям верное первое впечатление от диаграммы, организовав блоки так, чтобы они как можно точнее указывали на взаимное влияние. Один из распространенных приемов для этого заключается в расположении наиболее доминантного блока в верхнем левом углу диаграммы, а наименее доминантного - в нижнем правом. Помните, что расположение блоков может облегчить или затруднить проведение дуг. Иногда вам придется жертвовать расположением блоков в порядке убывания доминантности ради простоты проведения дуг с тем, чтобы получить легко читаемую диаграмму. Например, блоки выбрать инструменты и подготовить рабочее место
были определены как более доминантные, чем блок обработать на станке и собрать, по той простой причине, что они часто должны выполняться до того, как станки будут соответствующим образом использованы. Поэтому, несмотря на вспомогательную роль по отношению к блоку обработать на станке и собрать, блоки выбрать инструменты и подготовить рабочее место представляют собой очень важные шаги, предшествующие обработке, что и отражено в нумерации блоков.
10.4.2. Содержательные названия блоков
Для блоков обычно стараются выбрать содержательные название. Однако в SADT нет необходимости выражать все с помощью названий блоков, потому что о работе блока многое сообщают метки окружающих его дуг. Например, детали, сырье и брак
превращаются в результаты обработки, в соответствии со следующим шагом задания.
Читая дуги блока 4 на Рисунок 10-3, можно довольно хорошо разобраться в работе блока обработать на станке и собрать. Таким образом, более подробное название блоку не требуется. Оно может только затруднить понимание.
10.4.3. Дуги, хорошо передающие информацию о себе
Рисуя дуги, старайтесь располагать их аккуратно, минимизируя число пересечений и максимизируя пространство между ними. Правильное графическое расположение вносит большой вклад в повышение наглядности и понятности диаграммы. Помечайте дуги ясно и точно. Хотя определенное количество слов передает информацию лучше, следует ограничивать себя. Используйте лишнее слово, если ситуация этого требует. Сейчас как раз тот момент, когда необходимо учесть изложенные в главе 5 идеи, касающиеся более глубоких понятий, связанных с диаграммами и моделями.
Вычерчивая дуги в порядке их значимости, вы сможете оценивать их в процессе рисования и избежите стремления механически присоединять все дуги ко всем блокам. Если вы не уверены, что следует нарисовать далее, соблюдайте порядок, указанный в главе 8: вначале изображаются дуги, представляющие ограничения, потом внешние дуги, затем основной путь и, наконец, обратные связи.
В заключение мы настоятельно рекомендуем не использовать в качестве меток дуг списки имен. Такие списки ухудшают диаграмму, потому что несут меньше информации, чем общее название всего набора данных. Хорошая функциональная декомпозиция в SADT начинается с хорошей декомпозиции данных. Отсутствие общего названия набора данных ухудшает функциональную декомпозицию. Тщательно продумайте названия для наборов данных и просмотрите списки данных и функций предыдущих диаграмм, чтобы облегчить выбор подходящих названий.
10.4.4. Пояснения
Закончив построение диаграммы, поясните ее важные аспекты с помощью замечаний или дополнительного материала. Однако будьте осторожны с пояснениями: не используйте их как прикрытие плохого построения диаграмм.Проясняйте только те понятия, которые нельзя изобразить в виде блоков и дуг. Например, пометить дугу 11 на Рисунок 10-3 словом материалы и сделать замечание, что материалы - это сырье, заготовки, хуже, чем просто пометить дугу этими двумя этими словами. С другой стороны, описание типичных незаконченных заданий существенно облегчит объяснение того, как они должны быть завершены.
Обобщение диаграммы АО
8.6. Обобщение диаграммы АООбобщение является последним важным шагом начального этапа моделирования. Вспомните, что для любой SADT-диаграммы есть родительская диаграмма, содержащая ее контекст, где под контекстом понимается блок с набором входных дуг, дуг управления и выходных дуг. Верхняя диаграмма модели (т.е. диаграмма АО) не составляет исключения. Контекстом для нее служит диаграмма А-0, представляющая собой обобщение всей модели. Диаграмма А-0 имеет несколько предназначений. Во-первых, она объявляет общую функцию всей системы. Например, блок на Рисунок 8-4 с названием изготовить нестандартную деталь
ясно указывает, что делает цех. Во-вторых, она дает множество основных типов или наборов данных, которые использует или производит система. Например, справочник стандартов качества позволяет осуществлять контроль качества при выполнении задания. В-третьих, А-0-диаграмма указывает взаимоотношения между основными типами данных, проводя их разграничение. Например, рабочий комплект
рассматривается как входное данное, нечто, изменяемое процессом, в то время как справочник стандартов качества контролирует выполнение цехом заданий. Таким образом, А-0-диаграмма представляет собой общий вид изучаемой системы.
При создании диаграммы А-0 используется информация, уже зафиксированная на диаграмме АО. Вначале в центре SADT-бланка рисуют один большой блок, название которого совпадает с названием диаграммы АО. В этот момент следует проверить, адекватно ли название отражает то, что делает система. Все внешние дуги диаграммы АО изображаются на диаграмме А-0 входящими в соответствующую сторону блока. При этом проверьте, что название каждой дуги описывает то, чем обмениваются система и ее среда. После того как вы изобразите входные и выходные дуги, остановитесь на минуту, чтобы проверить точность описания потока данных. Нарисовав дуги управления, убедитесь, что именно они управляют тем, как система преобразует входные данные в выходные. Наконец, напишите цель и точку зрения модели под основным блоком и сверьте их с тем, что представляется блоком и его дугами.
В процессе обобщения вы убедитесь в том, что он помогает прояснить описание системы, потому что при обобщении вы просматриваете метки дуг для более точного наименования данных, которыми обмениваются система и ее среда. Кроме того, во время обобщения дуги часто объединяются для упрощения изображения модели. В этом случае дуги разветвляются на свои составляющие на диаграмме АО. Например, на диаграмме АО, приведенной на Рисунок 8-3, указано, что сырье и заготовки входят в состав рабочего комплекта.
Построение диаграммы А-0 свидетельствует об окончании начального этапа моделирования. К этому моменту сделана первая попытка обобщить и описать основную деятельность системы и показать связь системы с ее средой. Несмотря на ограниченное число описанных деталей, диаграммы А-0 и АО представляют законченную картину, потому что они отражают все основные входы, управления, выходы и функции системы. Общий вид системы, полученный с помощью диаграмм А-0 и АО, - основная цель аналитика на начальном этапе построения SADT-модели.
Пересмотренная диаграмма
Рисунок 10-3. Пересмотренная диаграмма
10.3.3. Тестирование
Хороший способ оценки диаграммы заключается в рассмотрении сценариев ее работы. Вы представляете себе возможную ситуацию и смотрите, как работает диаграмма в заданных условиях. По мере развития сценария делайте пометки на диаграмме. Это даст вам возможность всегда повторить сценарий, а информация может помочь при декомпозиции блоков этой диаграммы. Таким образом, вы проверите и точность, и понятность изложенного в диаграмме.
Рассмотрим, что описывает диаграмма выполнить задание, начиная обрабатывать новое задание: изучается план выполнения задания и выбирается следующий шаг задания. Это определяет, какие выбрать инструменты
и как подготовить рабочее место. Затем сырье
и брак обрабатываются на станке и собираются
и выдаются результаты обработки. Далее по этим результатам определяется степень выполнения задания и выбирается следующий шаг задания.
10.3.4. Схематичное изображение декомпозиции следующего уровня
Еще один хороший способ проверки правильности диаграммы - разложение одного - двух ее блоков. (При этом сохраняйте свои наброски, чтобы облегчить будущие декомпозиции этой диаграммы.) Детализация некоторой части новой диаграммы поможет определить сбалансированность декомпозиции и выявить неувязки в распределении функций между новыми блоками.
Например, диаграмма выполнить задание состоит из четырех блоков. Иногда диаграмму, состоящую из четырех блоков, можно декомпозировать по-другому, заменив ее диаграммой из пяти - шести блоков, которая будет ненамного сложнее, но более информативная. Однако, декомпозировав любой из блоков диаграммы выполнить задание, вы увидите, что каждый из них весьма содержателен. Несмотря на то, что на диаграмме выполнить задание четыре блока, каждый из них сам по себе достаточно сложен. Не имеет смысла соединять или разделять эти блоки для создания альтернативной диаграммы. Самый лучший способ продолжения этой части модели заключается, по-видимому, в сохранении этих четырех блоков с дальнейшей декомпозицией каждого из них.
Подготовка списка функций и списка данных
Рисунок 8-2. Подготовка списка функций и списка данных
Построение диаграммы АО
8.5. Построение диаграммы АОИсходное содержание диаграммы АО обеспечивают списки данных и функций. Для правильного описания системы содержанию надо придать форму. В SADT это делается посредством построения диаграммы. Начинающим авторам мы советуем придерживаться определенного порядка: (1) расположите блоки на странице, (2) нарисуйте основные дуги, представляющие ограничения, (3) нарисуйте внешние дуги и (4) нарисуйте все оставшиеся дуги. Со временем накопленный опыт позволит вам отойти от этой процедуры и изображать блоки и дуги в соответствии с той идеей, которую вы хотите воплотить в диаграмме.
Правильное расположение блоков является самым важным этапом построения диаграммы. Блоки располагаются в соответствии с их доминированием (по степени важности или по порядку следования). Самый доминантный блок обычно располагается в верхнем левом углу, а наименее доминантный - в нижнем правом. Это приводит к расположению, при котором более доминантные блоки ограничивают менее доминантные, образуя "ступенчатую" схему. Доминирование имеет важнейшее значение для ясного представления процесса. Например, не имеет смысла говорить о контроле за выполнением задания до изготовления детали.
Затем изображают основные дуги, представляющие ограничения. Это является второй важной частью построения диаграммы АО. Они дают основание для разбиения объекта диаграммы на 3 - б системных функций, изображаемых блоками. Например, справочник стандартов качества
оказывает решающее влияние на то, как контролируются незаконченные детали. Рисуя эти дуги, проверяйте, действительно ли каждая из них оказывает влияние, соответствующее декомпозиции объекта. Проследите по списку данных, не отсутствуют ли какие-то дуги, представляющие ограничения. Если это так, вы, возможно, захотите проверить правильность декомпозиции.
Основными дугами, представляющими ограничения, всегда являются внешние дуги, т.е. дуги, представляющие данные, поступающие из непосредственного окружения диаграммы.
Следующим шагом в построении диаграммы является размещение остальных внешних дуг и назначение им соответствующих ICOM-кодов.
Таким образом, все данные, входящие в систему или выходящие из нее, оказываются учтенными на рисунке. Потеря внешней дуги - это ошибка интерфейса, одна из самых распространенных в системном анализе. Занимаясь декомпозицией объекта, можно забыть об интерфейсных данных, потому что очень легко сосредоточиться на деталях. Начиная с изображения всех внешних дуг, вы повысите точность диаграммы, включив все интерфейсные данные. И наконец, нарисуйте все остальные дуги, отражающие детали работы системы в целом. Во-первых, нарисуйте оставшиеся ограничения, действующие между блоками. Например, рассматриваемый чертеж влияет на проверку детали. Во-вторых, нарисуйте основной поток данных. На Рисунок 8-3 показана обработка сырья и заготовок в соответствии с планом. выполнения задания и контроль качества выполнения задания (иногда неоднократный) и в соответствии с чертежом. В-третьих, рассмотрите все "патологические" потоки данных (случаи возникновения ошибок). В-четвертых, уточните обратные связи в потоках данных. Например, забракованное задание
снова попадает в цикл в качестве брака. В заключение изобразите все обратные связи, вызываемые ошибочными ситуациями.
Здесь следует обратиться к одному очень важному моменту моделирования. На практике оказывается невозможным нарисовать диаграмму сразу набело. Для того чтобы придать некоторую форму данным и функциям, лучше всего сделать набросок (черновик). В процессе работы с черновиком, ситуация начинает проясняться. То, что вначале виделось смутно, становится четким по окончании наброска. При этом часто приходится переименовывать дуги и блоки, зачеркивать дуги, перемещать блоки. Поэтому мы рекомендуем вначале делать набросок диаграммы, а потом перерисовывать диаграмму набело, чтобы уточнить свое понимание, прояснить ситуацию и создать описание, которое могут посмотреть другие.
Предварительные наброски для декомпозиции функционального блока
Рисунок 9-2. Предварительные наброски для декомпозиции функционального блока
Примеры расположения дуг
Рисунок 10-2. Примеры расположения дугЗамечания 3 и 4 на Рисунок 10-1 исправляют ошибку в названии дуги (12) станки и инструменты, а замечания 7 и 8 отражают развитие спора автора с самим собой относительно природы отходов и сырья - проблема, которая нередко возникает в связи с производственными процессами.

10.2.3. Вопросы о внутренних дугах
Вопросами о внутренних дугах обычно заканчивают поиск ошибок в диаграмме. Теперь, после разрешения основных вопросов, следует проанализировать детали диаграммы. Мы можем задать вопросы типа:
Замечания 1 и 2 на Рисунок 10-1 показывают, что автор изменил свое мнение относительно взаимоотношения дуги результаты обработки и внешнего входа сырье и заготовки.
Окончательное решение заключается в том, что они не очень близки и должны быть разделены. Метка следующий шаг задания уточняет, что именно управляет функцией обработать на станке и собрать.
Принципы и приемы расположения дуг
9.3. Принципы и приемы расположения дугДуги выражают связи между блоками. Их вычерчивают не для показа последовательности действий. Они отражают отношения между блоками, независящие от потенциального следования. Например, диаграмма на Рисунок 9-2 не указывает возможной последовательности действий. В частности, функции выбрать инструменты может как встретиться, так и не встретиться перед функцией подготовить рабочее место. Это зависит от того, каким является следующий шаг задания. Если же оборудованное рабочее место уже создано, блок обработать на станке и собрать может выполняться неоднократно, пока не возникнет потребность в выполнении следующего шага задания. Такой механизм приводит к реализации различных сценариев, активизируя блоки в различные моменты времени в зависимости от ситуации.
Может случиться, что, начав рисовать дугу, вы засомневаетесь в том, что она нужна на диаграмме. Не изобразив дугу при первом наброске диаграммы, вы рискуете совершить ошибочный пропуск. Поскольку SADT-диаграммы всегда проверяются другими специалистами и поскольку отсутствующую дугу никто не сможет обнаружить, изъятие сомнительной дуги с диаграммы - прямая дорога к возникновению ошибок и отсечению дополнительных возможностей. Мы рекомендуем включать сомнительные дуги в диаграмму с вопросом об их необходимости адресованным читателям. Полученные в ответ комментарии скорее всего помогут разрешить ваши сомнения. SADT-дуги представляют собой наборы объектов и поэтому они потенциально могут нести много данных. Например, сырье может быть просто стальным бруском, а может быть листами, рулонами, кусками дерева, пластика или различных металлов. Опытные SADT-анали-тики не изображают каждый объект отдельной дугой. В крайнем случае мы советуем давать определение новой дуги в глоссарии и, возможно, уточнять ее содержимое при декомпозиции тех блоков, которых она касается. Таким образом, вы предоставите читателям достаточно информации для понимания вашей диаграммы и не потратите много времени на избыточно подробное описание модели на слишком ранней стадии, что неизбежно привело бы в дальнейшем к большим переделкам.
Процесс опроса
7.3. Процесс опросаМы советуем опрос проводить стандартным образом для всех типов источников информации. Наша цель - формализировать этот процесс так, чтобы максимизировать поток информации и предупредить возникновение ситуаций, мешающих достигнуть цели опроса. Для этого мы рекомендуем подход, подразумевающий три этапа: подготовку, проведение опроса и завершение.
7.3.1. Подготовка
Подготовка к опросу приобретает решающее значение, если у вас есть только единственная возможность поговорить с экспертом (например, с президентом компании или генералом). Кроме того, она поможет вам оптимизировать время, которое вы проведете с источником информации, и получить надежный поток информации.
Мы рекомендуем следующие шаги:
Выбор собеседника является первым и самым важным шагом. Слишком часто автор не получает необходимой информации при неправильном выборе источника. Позаботьтесь о выборе представителей соответствующего иерархического уровня организации, правильных типов документов, лучшей позиции для обзора, а также о выборе эксперта, обладающего нужными знаниями. Согласуйте свой выбор с другими членами группы.
После выбора собеседника договоритесь с ним о скорой, насколько это возможно, встрече. Установите цель встречи и ограничьте беседу в пределах часа или менее. Информационный поток, как правило, иссякает через час, поэтому не рассчитывайте обсудить больше чем возможно за это время. Если тематика обширна, найдите способ разбить беседу на несколько часовых встреч.
Установите программу беседы сразу же, как договоритесь о встрече. Определите круг обсуждаемых проблем и запишите конкретные вопросы, особенно те, на которые необходимо получить ответы для продолжения работы. В ходе формирования программы изучите доступную исходную информацию. Обратитесь к соответствующим документам и терминологическим справочникам и используйте SADT-модель, чтобы проще выделить круг ваших вопросов.
Наконец, не забудьте согласовать ваши приготовления со всей группой проектирования. Последнее, что вам может понадобиться - это беседа с тем, кто только вчера разговаривал с вашим коллегой именно на ту тему, которую вы хотите обсудить. Правильная координация позволяет сберечь время эксперта и минимизирует дублирование действий авторами модели.
7.3.2. Проведение опроса
В проведении опроса самое важное правильно организовать и поддерживать поток информации от эксперта к вам. Мы советуем потратить время на обдумывание верного начала опроса, при сборе информации по возможности использовать записи, заканчивать разговор плавно. Обсудим подробнее каждый из этих пунктов.
Начиная разговор, не забудьте представиться и сформулировать цель встречи. Это поможет избежать недоразумений и даст беседе правильное направление. Кроме того, обговорите возможность ведения записей. Заверьте эксперта в конфиденциальности беседы и в том, что впоследствии ему будет предоставлена возможность внести поправки в ваши записи. Затем сформулируйте первый вопрос. Помните, что первый вопрос часто задает тон всему разговору, поэтому хорошо продумайте его.
Собирайте информацию, делая записи обо всем (о специальных терминах, взаимосвязях между частями системы и т.п.) и ограничивая время беседы. Запишите SADT-функции и данные, попытайтесь набросать диаграмму. Поддерживайте поток информации, задавая вопросы, которые уточняют и подтверждают ответы. Вопросы, которые могут помочь уточнить или подтвердить полученную информацию, должны быть сформулированы следующим образом:
Прежде всего не возражайте. Никогда не задавайте наводящих вопросов или вопросов с короткими ответами "да" или "нет". Вместо этого записывайте то, что вам говорят, и просите подвести итог или дать пояснения. Вы получите от опроса больше, если вы дадите эксперту возможность говорить то, что он хочет сказать, а не то, что вы хотите услышать.
Следите за возникновением следующих ситуаций:
Любая из этих причин - достаточное основание для завершения беседы.
Когда вы считаете нужным закончить опрос, завершайте беседу плавно. Кратко подытожьте основные пункты и сделайте обзор полученных сведений, которые могут быть опущены или неверно истолкованы. Договоритесь о времени следующей встречи, если она нужна, и получите рекомендации для ближайших опросов. Поставьте эксперта в известность, когда и как вы собираетесь использовать полученную информацию и когда вы пришлете ему материал на рецензирование.
7.3.3. Завершение
Всегда оформляйте материалы опроса сразу же после встречи с экспертом. В этом случае немедленно возникает обратная связь, и вы минимизируете возможность потери важной информации. Просмотрите и закончите ваши заметки, а потом составьте SADT-глоссарий как средство определения новых понятий и терминологии. Затем набросайте диаграмму, определяя, какие еще следует задать вопросы и какие области исследовать. Как можно скорее сделайте хорошие копии этих диаграмм и глоссариев, сформируйте из них небольшой пакет материалов для рецензирования (папку) и отправьте ее эксперту,
Соглашения по размещению блоков и дуг
11.3. Соглашения по размещению блоков и дуг
1. Объединяйте дуги с общим источником или с общим приемником, если они представляют связанные данные. Общее название лучше описывает суть данных.
Составление списка данных
8.3. Составление списка данныхСписки объектов системы, создаваемые в ходе моделирования, в SADT принято называть "списками данных". Термин "данное" здесь употребляется как синоним слова "объект". Следовательно, при обсуждении различных аспектов моделирования в SADT мы будем применять термин "список данных". Составление списка данных является начальным этапом создания каждой диаграммы функциональной SADT-моде-ли. Правило заключается в том, чтобы вначале составить список данных, а потом список функций. Начните свою диаграмму с выделения всех основных групп и категорий данных, используемых и генерируемых системой. И не будьте слишком дотошны - запишите все разумные возможности. При сомнении записывайте все, что приходит на ум, потому что лучше записать слишком много, чем провести неполный анализ. Обратите внимание, что на Рисунок 8-2 в список вошло много деталей, хотя аналитик пытался создать диаграмму цеха как единого целого.
В современных аналитических методах слишком часто уделяется повышенное внимание функциям в ущерб данным. Начиная с составления списка данных, вы сможете избежать перехода к немедленной функциональной декомпозиции. Списки данных помогут выполнить более глубокий анализ и при этом не концентрироваться на функциях системы, избегая пробелов, которые часто возникают из предвзятых представлений о функциональных декомпозициях. Кроме того, вы сможете уделить должное внимание данным и идентифицировать ограничения, определяющие функциональную декомпозицию.
SADT-диаграммы представляют границы функций и ограничения, накладываемые на них, причем ограничения должны присутствовать во всех системах. Указывая вначале ограничения, мы выявляем естественную структуру системы. Без ограничений функциональная SADT-диаграмма представляет собой не более чем схему потоков данных. Без ограничительных дуг диаграммы не смогут рассказать читателю, почему аналитик выбрал именно данную декомпозицию. Благодаря тому, что в SADT различаются входные дуги и дуги управления (информация, необходимая для пояснения декомпозиции), SADT-диаграммы ясно объясняют изучаемую систему и причину такой декомпозиции.
Составление списка функций
8.4. Составление списка функцийЗакончив список данных, приступайте с его помощью к составлению списка функций. Для этого представьте себе функции системы, использующие тот или иной класс (тип) или набор данных. Помните, что несколько различных типов данных может использоваться одной функцией. Обозначьте, какие типы или наборы данных необходимы для каждой конкретной функции. Это позволит выделить данные сходных типов, которые затем можно объединить в метатипы.
По мере продвижения по списку, проверяйте, верны ли ваши первоначальные представления, которые часто могут не совпадать с выбранной целью и точкой зрения модели. С другой стороны, не следует автоматически отвергать первоначальные идеи, если они кажутся неверными. Дальнейшие размышления могут прояснить внутренние аспекты работы системы, не очевидные при первом взгляде, и вы, возможно, восстановите исходные идеи после построения нескольких других диаграмм.
Список функций должен находиться на одной странице со списком данных. Мы советуем при составлении исходного списка не пытаться объединять функции между собой. Вместо этого постарайтесь вначале сосредоточиться на каждой конкретной функции и ее отношении к группам данных. Кроме того, старайтесь подбирать такие функции, которые могли бы работать с наиболее общими типами данных из вашего списка. Обратите внимание на то, сколько объединений сделано на Рисунок 8.2, чтобы собрать несколько детальных функций в одну более общую. Не будьте слишком дотошны, записывая функции, даже если вы сомневаетесь, выполняет ли их система. Что касается пограничных функций (функций, которые могут выполняться либо системой, либо ее окружением), то вначале очень трудно определить, входят они в модель или нет.
Затем объединяйте функции в "агрегаты". Стремитесь к организации 3-6 функциональных группировок. Старайтесь, чтобы эти группировки имели один и тот же уровень сложности, содержали примерно одинаковый "объем" функциональности и функции в каждой из них имели сходные операции и цели. На Рисунок 8-2 видно, что исходный список функций сгруппирован в три функции более высокого уровня. Объединение не всегда легко осуществить. Вы можете обнаружить, что на каком-то уровне модели трудно выбрать "наилучший" способ объединения функций. Не волнуйтесь, потому что плохая группировка обнаружит свою слабость на этапе декомпозиции. Если это произойдет, вы всегда можете вернуться назад и попробовать другой вариант объединения.
Создание альтернативных декомпозиций
10.3. Создание альтернативных декомпозицийК этому моменту у вас накопилось много новой информации о диаграмме, которую вы набросали. Воспользуйтесь этой информацией разумно. Попробуйте произвести альтернативные декомпозиции с использованием новых фактов и посмотрите, не получится ли у вас более точной диаграммы. Даже если вам не удастся построить совершенно новую диаграмму, доносящую смысл лучше, вы сможете исправить часть своего исходного наброска. Ниже приведены некоторые технические приемы.
10.3.1. Альтернативная декомпозиция и объединение функций
Иногда у аналитика возникают сомнения относительно блоков диаграммы. На хорошей SADT-диаграмме блоки должны обладать некоторыми важными качествами:
Попробуйте объединить функции и данные иначе или составьте новый список функций, если исходный набор блоков не позволяет осуществит! декомпозицию удачно. Вы можете это сделать и для того, чтобы убедиться в правильности исходного разбиения. Например, разделите блок обработать на станке и собрать
на две функции. Вы увидите, что это очень просто, но при этом объем новой информации ничтожен. В данном случае исходное объединение обработки на станке и сборки в один блок на этом уровне модели является наилучшим.
Применяя эти приемы, помните, что критерий качества для блоков достаточно противоречив. Например, добиваясь одинаковой сложности блоков, вы можете усложнить соединения между ними, а упрощение связи между двумя блоками может скрыть какой-либо важный на данном уровне детализации факт. Основным для вас всегда должно быть наилучшее описание декомпозируемого объекта. Построение хороших блоков возможно только при достижении равновесия между требованиями к сложности соединения блоков и к достаточности уровня детализации.
10.3.2. Альтернативное объединение и разъединение дуг
Иногда можно обнаружить две дуги, которые начинаются и кончаются в одних и тех же местах диаграммы. То есть обе дуги начинаются и кончаются у одних и тех же блоков (см. Рисунок 10-2). В этом случае посмотрите на эти две дуги внимательно. Может оказаться, что их следует объединить в одну. Если вы можете придумать хорошее наименование, объединяющее названия этих дуг, объедините их. Если наличие двух дуг имеет определенный смысл, не объединяйте их. Объединение скрывает детали, поэтому не делайте это механически. Исчезновение деталей повредит диаграмме. Например, замечания 7 и 8 на Рисунок 10-1 отражают попытку объединить брак и сырье,
отвергнутую из-за того, что они оказались различными вещами.
Вы можете обнаружить также дугу, описывающую два совершенно различных набора данных. В этом случае изучите дугу, чтобы оценить, приведет ли разделение ее на две к прояснению важных для диаграммы деталей. Будьте очень осторожны и старайтесь сохранить равновесие между стремлением к детализации и сохранением наглядности диаграммы. Например, дуги статус задания и незаконченное задание не были объединены в одну выходную дугу. Они отражают различные типы данных (первая - понятие, вторая - физическую реальность) и каждая влияет на свою часть родительской диаграммы {управлять выполнением, задания и контролировать качество выполнения соответственно). Поэтому их раздельное изображение дает более ясную картину результатов работы блока определить степень выполнения задания.
Типы опроса
7.2. Типы опросаВ процессе анализа, независимо от источников информации, проводятся опросы нескольких типов. Выбор того или иного типа зависит от вида необходимой информации и поставленной цели. Наиболее распространены следующие типы опросов:
Опросы для сбора фактов проводятся, когда пытаются определить, как функционирует система в настоящее время. Опросы для определения проблем полезны, когда вы хотите выяснить, что в системе не в порядке. Совещания для принятия решений проводятся, когда нужно получить представление о том, как должна функционировать будущая система, чтобы устранить недостатки в настоящей. Диалоги автор/читатель (см.главу 12) - это неформальные обсуждения при разногласиях между автором и экспертом.
Классификация опросов приведена здесь по двум причинам. Во-первых, очень важно осознавать основную задачу опроса. Ясно понятая цель позволяет направлять беседу в нужное русло. Во-вторых, аналитик получает возможность сортировать различную информацию, собранную при опросе эксперта. Обычно эксперт рассказывает о том, как идет дело в настоящее время, что не в порядке и что следует предпринять. Классификация опросов позволяет расставить по своим местам все типы фактов.
Выявление интерфейсных ошибок
9.2. Выявление интерфейсных ошибокИнженерам известно, что существенная доля ошибок приходится на интерфейсы. Например, повреждение соединительной прокладки может послужить причиной течи в канализационных трубах, компьютерный кристалл с погнутым выходом может отказать при установке его на монтажную плату, а слишком тугое закрепление клеммы может привести к обрыву электрического провода. Аналогично в моделях сбои часто происходят в точках интерфейса. Для SADT интерфейсными являются места соединения диаграмм со своими родителями. Вот почему каждую декомпозицию необходимо аккуратно соединять со своим родителем, используя ICOM-метки.
На примере декомпозиции в этой главе показан один из способов реализации этого подхода: прежде чем составлять список данных, запишите имена и ICOM-коды для всех дуг, образующих границу. Это поможет вам при декомпозиции уменьшить вероятность пропуска части граничных дуг. (В главе 3 приведен другой способ.) Выполнив декомпозицию, вернитесь назад к исходному блоку родительской диаграммы и соедините каждую внешнюю дугу новой диаграммы с соответствующей дугой, касающейся этого блока. Это позволит избежать пропуска необходимого соединения. Мы советуем использовать оба приема для обеспечения двойного контроля интерфейсных соединений диаграмм.
Блоки, для которых нет необходимости в дальнейшей декомпозиции
Рисунок 17-1. Блоки, для которых нет необходимости в дальнейшей декомпозиции.
Поскольку это описание, по-видимому, вполне удовлетворяет цели модели экспериментального механического цеха, мы не будем дальше декомпозировать блок разложить ручные инструменты. Текст является прекрасной заменой дальнейшей декомпозиции.
Посмотрите на текущее расположение и высоту выбранного вами станка. Теперь опустите или поднимите его, чтобы вам было удобно работать. Затем измените его расположение, чтобы вы могли безопасно вставить, обработать и вынуть деталь. Может быть, для этого вам придется двигать, поворачивать или наклонять станок. Изучите устройство станка, прежде чем пытаться его налаживать.
Изменение уровня абстракции обычно происходит, когда модель уже имеет 2-3 уровня глубины, и их легко заметить. Небольшие изменения, однако, могут остаться незамеченными для автора. Обычно ошибки обнаруживаются в процессе рецензирования диаграмм. Свежий взгляд читательской аудитории определяет замену "что" на "как". Если изменение уровня абстракции не обнаружено во время цикла автор/читатель, то при следующей декомпозиции диаграммы оно обычно становится очевидным.
Дополнение моделей
Иерархические наборы SADT-диаграмм, называемые "моделями", вводят объект описания и уточняют его регулярным, управляемым и понятным образом. Это обеспечивается тем, что диаграммы модели всегда организованы в соответствии с порядком нумерации узлов. Это означает, что первым идет узел А-0, вторым - узел АО, третьим - узел А1, четвертым - узел All и т. д. Такой порядок расположения SADT-диаграмм является копией "древовидной" структуры, часто встречающейся в математике и информатике. Полная SADT-модель обычно читается двумя способами. Первый способ - обзорное чтение, когда читаются все диаграммы верхнего уровня, прежде чем перейти к диаграммам следующего. Это называется чтением "в ширину". Второй способ -детальное чтение, когда читают отдельную ветвь дерева вплоть до диаграмм самого нижнего уровня. Это называется чтением "в глубину".Чтобы помочь читателям правильно двигаться по древовидному набору диаграмм, разработаны дополнительные средства. Примерами таких средств могут служить указатель диаграмм и указатель узлов. Они представляют собой составленные с отступами списки узлов или диаграмм ( по типу оглавления) , определяющих содержание модели. В указателе диаграмм перечисляются все диаграммы модели с приведенными в отдельной строке названием и номером узла каждой диаграммы. В указателе узлов перечисляются все блоки модели, причем в каждой отдельной строке записываются название и номер узла соответствующего блока. Таким образом, указатель узлов является просто более подробным, чем указатель диаграмм, списком. Указатели диаграмм для моделей обсуждаются в части VI. Обратите внимание на то, что оглавления (таблицы содержаний) служат как кратким конспектом системы, так и средством быстрого поиска при рассмотрении конкретного функционального фрагмента системы.

Рисунок 18-5. На диаграмме показан основной путь
Дополнения к диаграммам
Квалифицированные SADT-аналитики придают конкретную направленность дополнительной информации, чтобы выделять некоторый аспект или часть отдельной диаграммы с помощью их дополнительного описания. Таким образом они повышают отдачу текстовых записей и графики, причем для этого требуется лишь небольшое количество деталей (модель обеспечивает контекст, необходимый для связи дополнительной информации с системой). Обратите внимание, как хорошо на Рисунок 18-3 с помощью небольшого, но очень содержательного текста сообщается, как подготовить рабочее место.SADT-диаграммы могут быть дополнены информацией в виде текстов, рисунков и глоссариев. Текст обычно представляет собой рассказ об одной из частей диаграммы. Рисунки - это картинки, поясняющие отдельные моменты. Глоссарий - набор определений объектов и функций, представленных на диаграмме. Чтобы показать, как SADT-аналитики дополняют диаграмму, мы напишем текст, составим глоссарий и сделаем рисунок для диаграммы подготовить рабочее место модели экспериментального механического цеха, приведенной на Рисунок 18-1. Мы выбрали в качестве образца диаграмму, находящуюся на самом нижнем уровне модели экспериментального механического цеха, хотя дополнения обычно приводятся для всех диаграмм модели.
Дополнительная информация записывается или представляется на стандартных SADT-бланках. Поскольку дополнения уточняют конкретную диаграмму модели, для идентификации и связывания дополнительной страницы с диаграммой, к которой она относится, используется принятая в SADT схема нумерации узлов. К номеру узла диаграммы добавляется буква и целое число. Буква определяет тип дополнения (Т - текст, Р -рисунок и Г - глоссарий), а число означает порядковый номер этой текстовой страницы среди других дополнительных страниц данной диаграммы. Обратите внимание, как номера узлов привязывают страницы с дополнениями на Рисунок 18-2, 18-3 и 18-4 к диаграмме подготовить рабочее место.
Достаточная детализированность
17.3. Достаточная детализированностьОдна из типичных ситуаций, встречающихся в конце моделирования, - это блок, который описывает систему с нужным уровнем подробности. Проверить достаточность деталей обычно совсем легко. Просто спросите себя, отвечает ли блок на все или на часть вопросов, составляющих цель модели. Если блок помогает ответить на один или более вопросов, то дальнейшая декомпозиция может не понадобиться.
Например, целью модели экспериментального механического цеха было достаточно полное описание работы механического цеха с представлением набора обязанностей, выполняемых его персоналом. В этой модели блок содержит достаточно деталей, если он описывает один из аспектов функции изготовить нестандартную деталь на таком уровне, что записанная процедура этого блока может быть понята и выполнена. Хорошей иллюстрацией сказанного служит блок разложить ручные инструменты, потому что его функция и связанные с ней объекты просты и достаточно определены, чтобы составить следующее описание.
Чтобы разложить ручные инструменты вначале просмотрите детали технических операций, чтобы определить, какие именно операции будут выполнены. Разложите ручные инструменты в порядке, соответствующем порядку выполнения операций. Учтите местоположение станка в цехе, чтобы инструменты оказались под рукой во время каждой операции.
Генерация правил действия
Иногда аналитику трудно определить все способы действия функции в процессе работы системы. В этих случаях мы рекомендуем воспользоваться приемом построения таблиц истинности, первоначально разработанный в логическом исчислении высказываний и часто применяемый в общей теории систем.Действие каждого блока описывается таблицей истинности, представляющей собой декартово произведение всех возможных сочетаний присутствия (отмечаемого с помощью "true"
или Т) и обязательного отсутствия (отмечаемого с помощью "false"
или F) входных дуг, дуг управления и выходных дуг. Каждый столбец такой таблицы становится тогда потенциальным правилом действия. (Иногда не имеет значения, принимает ли конкретная дуга участие в действии. В этих случаях представляется разумным использование буквы D. Однако запомните, что для полного отражения декартова произведения потребуется существенное увеличение размера таблиц.)
Обычно не все, что входит в таблицу, становится правилом действия, но каждое действие в таблице определено. Например, в табл. 19-1 представлено декартово произведение с отсутствующими или присутствующими дугами для блока подготовить рабочее место. Для экспериментального механического цеха реален только случай 1, когда все входные дуги и дуги управления участвуют в действии. Попробуйте применять этот
Условия | Варианты действий | ||
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |||
| Выбранные инструменты Станки в цехе Чертежи и указания Оборудованное рабочее место |
T F T F T F T F T F T F T F T F T T F F T T F F T T F F T T F F T T T T F F F F T T T T F F F F T T T T T T T T T F F F F F F F |
Таблица 19-1. Все возможные действия блока "Подготовить рабочее место"
прием, когда вы точно не знаете, как выполняется конкретная функция моделируемой вами системы.
Дополнения к диаграммам и моделям
Одно из достоинств SADT-модели заключается в способе организации и представлении информации. Диаграмма, находящаяся на вершине модели, обобщает всю рассматриваемую систему. Диаграммы первого уровня представляют важнейшие подсистемы с их взаимосвязями, а диаграммы самого нижнего уровня представляют детализированные функции, с помощью которых, собственно, и работает система. Диаграммы законченной SADT-модели упорядочение организуют все важные компоненты и детали системы. Опытные аналитики, используя преимущества организации, создают различные дополнения к ней. Дополнения и уточнения, которые не входят в сами диаграммы, обогащают информационное содержание модели. Поскольку дополнительная информация формально не является частью модели, SADT рекомендует помещать такие материалы на отдельных страницах и соединять их с диаграммами модели.Примечания на диаграммах и моделях
<
Информация о свойствах
Свойства - это нефункциональные характеристики, именованные величины, описывающие некоторые важные аспекты объектов и функций системы. Например, к свойствам объектов относятся скорость, объем и частота доступа. Свойства функций часто включают место, время и частоту их выполнения. Свойства статичны по времени. Например, базы данных имеют фиксированные размеры с ожидаемой и устойчивой скоростью наполнения в течение некоторого периода времени. Чтобы было яснее - пол в цехе можно рассматривать как базу данных, поскольку он является вместилищем с ограниченным количеством помещений, которые заполнены до определенного возможного уровня станками и их рабочими зонами.Свойства очень важны, потому что они связаны с требованиями системы, которые должны удовлетворяться, иначе система не будет правильно функционировать. Например, время, которое затрачивает угольный ликвационный реактор на обработку определенной порции угля, зависит от веса и качества угля. Для этой системы свойства угля и время ликвации - критические требования. То же относится и к контролю качества в механическом цехе. Справочник стандартов качества и точки контроля на чертеже - это то, что управляет качеством выполнения задания в экспериментальном механическом цехе. Без этих ограничений цех не сможет производить детали для новых моделей самолетов.
Не удивительно, что понимание системы будет не полным, пока не определены свойства функций и объектов. SADT требует, чтобы свойства определялись с использованием так называемых "меток свойств". Метка свойства - это замечание "с квадратом", соединенное с блоком или дугой с помощью зигзагообразной линии и описывающее это свойство. Описания не всех свойств конкретного блока или дуги помещаются на диаграмму, а только тех, которые проясняют содержание диаграммы. Например, на Рисунок 19-1 показано, как используются метки свойств для описания стандартной частоты выполнения функций в ходе выполнения работ с рабочим комплектом. Эти метки присоединены к блокам диаграммы.
На Рисунок 19-1 видно, как всего несколько меток могут подчеркнуть суть диаграммы. Однако для полноты для каждого блока или дуги должен составляться глоссарий, связанный с их свойствами. Наш опыт показывает, что помещение информации такого рода из глоссария в словарь данных - надежный способ записать эти сведения. Таким образом, описания свойств всегда доступны и их легко находить.

Рисунок 19-1. Добавление меток, описывающих свойства моделируемой системы
Изменение точки зрения
17.5. Изменение точки зренияИзменение точки зрения происходит примерно так же, как изменение уровня абстракции. Это чаще всего характерно для ситуаций, когда точку зрения модели нельзя использовать для декомпозиции конкретного блока, т. е. этот блок можно декомпозировать, только если посмотреть на него с другой позиции. 06 этом может свидетельствовать заметное изменение терминологии.
Обратитесь к диаграмме ПС/А23 из приложения С и рассмотрите функцию прибыть 6 магазин - действие в рамках общей задачи покупки продуктов с целью накормить семью. Попытки разложить этот блок приведут к функциям типа сесть в автобус и поехать на такси, а также к объектам типа переход и автобусная остановка. Неожиданно в модель проникает новый набор терминов. Для того чтобы \ декомпозировать блок прибыть в магазин, мы должны рассматривать человека как нечто, подвергающееся перемещению посредством сложной системы транспорта, а не как кормильца семьи. Поскольку точка зрения изменилась, мы решаем не декомпозировать эту функцию. Это хороший пример, потому что он указывает на часто встречающиеся ситуации, которые сигнализируют о возможной замене точки зрения:
В каждом из таких случаев проверьте, входит ли ваша декомпозиция в модель. Если вы в этом не уверены, пошлите ее на рецензию с конкретной просьбой проследить за изменением точки зрения. Поскольку читательская аудитория обычно анализирует модель в разных аспектах, она - самый лучший источник информации при разрешении подобных проблем, возникающих в процессе моделирования.
Изменение уровня абстракции
17.4. Изменение уровня абстракцииБлоки подвергаются декомпозиции, если они недостаточно детализированы для удовлетворения цели модели. Но иногда при декомпозиции блока выясняется, что диаграмма начинает описывать, как функционирует блок, вместо описания того, что блок делает. В этом случае мы говорим, что произошло изменение уровня абстракции. Таким образом, изменение уровня абстракции можно представить себе как изменения сути того, что должна представлять модель (т.е. изменение способа описания системы). В SADT изменение уровня абстракции часто означает выход за пределы цели модели и, следовательно, это указывает на прекращение декомпозиции.
Например, при попытке декомпозировать блок наладить станок возникают представления о таких действиях, как вращать, двигать, закреплять, поворачивать. Эти действия говорят о том, как наладить станок. Поэтому они лежат вне цели модели, являясь фактически частью описания обязанностей. Цель модели - понять работу механического цеха так, чтобы можно было дать описание всех обязанностей. В модели экспериментального механического цеха, если декомпозиция представляет собой описание обязанностей, блок не нужно декомпозировать. Декомпозицию заменяет абзац текста, описывающий обязанности одного из работников цеха:
Посмотрите на текущее расположение и высоту выбранного вами станка. Теперь опустите или поднимите его, чтобы вам было удобно работать. Затем измените его расположение, чтобы вы могли безопасно вставить, обработать и вынуть деталь. Может быть, для этого вам придется двигать, поворачивать или наклонять станок. Изучите устройство станка, прежде чем пытаться его налаживать.
Изменение уровня абстракции обычно происходит, когда модель уже имеет 2-3 уровня глубины, и их легко заметить. Небольшие изменения, однако, могут остаться незамеченными для автора. Обычно ошибки обнаруживаются в процессе рецензирования диаграмм. Свежий взгляд читательской аудитории определяет замену "что" на "как". Если изменение уровня абстракции не обнаружено во время цикла автор/читатель, то при следующей декомпозиции диаграммы оно обычно становится очевидным.
Начало проекта Успешный проект
Рисунок 20-1. Типичная структура SADT-проектаконтроля. Эти лица должны отвечать за разрешение конфликтов, проведение политики проекта, принятие результатов, интерпретацию и реализацию технического задания. Обеспечьте участие в работе Комитета нескольких специалистов с высоким уровнем компетентности, которые смогут отстоять свои решения. В процессе работы над проектом ваша организационная структура будет иметь вид, аналогичный приведенному на Рисунок 20-1.
Определение терминологии с помощью глоссария
Глоссарий используется для того, чтобы собрать вместе и определить новые понятия, которые вводятся диаграммой, декомпозирующей блок, особенно если это первая декомпозиция родительского блока. Для функциональных SADT-диаграмм такими понятиями могут быть либо новые функции, либо новые объекты, представляемые дугами, либо декомпозиция внешних дуг. На Рисунок 18-2 представлена страница глоссария, который определяет некоторые из новых объектов, введенных на диаграмме подготовить
Рисунок 18-1. Диаграмма, которую необходимо дополнить глоссарием, текстом и рисунками

Рисунок 18-2 Глоссарий новых терминов
рабочее место. Например, дуга выбранный станок проходит только между блоками диаграммы выбрать станок
и наладить станок и ранее в модели экспериментального механического цеха не появлялась, поэтому выбранный станок рассматривается как новое понятие и, следовательно, требует определения.
Пояснение с помощью рисунков
Хотя для определения терминологии и изложения содержания используются текстовые описания, слова следует употреблять экономно. Мы советуем для пояснения тонких моментов и того, что трудно выразить словами, использовать, где это возможно, и рисунки. В SADT любое изображение, которое не является строго диаграммой, считается дополнительным рисунком. SADT-рисунки - это обычно либо картинки, либо диаграммы с дополнительными изображениями, связанные с конкретной диаграммой модели. Связь указывается с помощью добавления к номеру узла поясняемой диаграммы буквы Р и порядкового номера, как показано на Рисунок 18-4.Рисунок-дополнение - это любое изображение, сделанное для дополнения модели. Рисунки часто служат для того, чтобы показать, как выглядит конкретная часть системы (например, станок, готовый к работе),
как соединяются две части системы (например, как зажимают в тисках заготовку перед началом обработки), как правильно использовать часть системы, (например, как обрабатывать алюминий на токарном станке). Рисунки также могут отражать конкретное событие в процессе работы системы (например, пуск станка) или развитие событий во вре-

Рисунок 18-4. Рисунок, показывающий, что представляет собой дуга СТАНОК, ГОТОВЫЙ К РАБОТЕ
мени (например, график поступления заданий). На Рисунок 18-4 показано, как выглядит типичное готовое рабочее место.
Хорошие картинки незаменимы, но их нужно долго рисовать. Автор всегда должен иметь под рукой достаточный запас картинок, готовых к использованию - диаграммы самой SADT-модели. SADT-авторы обычно выделяют некоторые фрагменты изображения на нескольких диаграммах модели, чтобы подчеркнуть отдельные важные моменты. Диаграмма с дополнительной графикой может уточнить какие-либо детали, показывая различные группы дуг, описывая варианты действия блока или функционирование системы при изменяющейся окружающей среде, показывая основной поток данных, детализируя роли обратных связей, описывая принципиально неверные ситуации и случаи ошибочной трактовки или просто документируя важные изменения в диаграмме.
На Рисунок 18- 5 выделены преобразования, которые происходят с оборудованием (т.е. станками и инструментами), при превращении их в оборудованное рабочее место. Сравните это с текстовым описанием подготовки рабочего места, приведенным на Рисунок 18-3.
Для выделения каких-либо частей диаграммы чаще всего используют жирные линии. Мы, однако, при любой возможности пользуемся цветом. Цвет может отразить в диаграмме еще одну важную характеристику информации - разделение ее по типам. Попробуйте раскрасить дуги диаграммы подготовить рабочее место следующим образом: планы изобразите красным, оборудование - синим, остальную информацию -зеленым. Обратите внимание, как цвет по-новому осветил диаграмму, разбив представленные дугами объекты на типы. Раскрасив таким образом всю модель, можно описать влияние определенных данных на функции системы (например, на каких этапах нужен чертеж), а также указать те функции, которым необходим определенный тип данных (например, на каких этапах обрабатываются заготовки). Цвет - не универсальное, но очень эффективное средство, когда имеется не более 10 категорий.
Учтите, что хотя типичные SADT-рисунки - это картинки или диаграммы с SADT - графикой, в принципе для создания рисунка можно воспользоваться любым языком. Мы, например, использовали языки таблиц решений и конечных автоматов для уточнения SADT-моделей систем телефонной коммуникации и графики системы PERT для преобразования SADT-модели, открывающей процесс планирования, в формат, понятный менеджерам очень большого правительственного проекта. Поэтому мы рекомендуем использовать все доступные вам изобразительные средства для дополнения SADT-моделей.
Пояснение содержания с помощью текста
Текстовые страницы, дополняющие диаграммы, пишут обычно для того, чтобы изложить основное содержание диаграммы, помочь согласовать ориентацию читателя с ориентацией автора и описать, как функции самого нижнего уровня модели преобразуют свои входы в выходы под влиянием управлений. Текст помогает читателям изучать диаграмму в том порядке, который уменьшает вероятность неправильного понимания и уточняет детали системы. Например, на Рисунок 18-3 текст описывает последовательность действий, выполняемых при подготовке рабочего места. Этот текст находится на уровне детализации, достаточном для рассмотрения его в качестве учебного руководства для персонала механического цеха.Подготовка хорошего текста требует времени, даже если текст относится к одному блоку. Поэтому обычно текст пишется, когда диаграмма перестает подвергаться изменениям. Иногда текст используется для уточнения важных моментов в процессе создания диаграммы. Мы настоятельно рекомендуем по мере возможности использовать графику и цикл автор/читатель, чтобы избавиться от неясностей и построить диаграмму точно описывающую реальность. После этого вы сможете без труда обобщить или уточнить диаграмму при помощи хорошо организованного и насыщенного фактами текста. Например, если бы мы написали текст сразу после первого наброска диаграммы выполнить задание, представленного на Рисунок 9-2, нам пришлось бы его несколько раз переписывать, потому что, как показано в части III, диаграмма подверглась существенным изменениям в результате рецензирования.
Хороший текст должен быть кратким. Несколько тщательно подобранных слов могут прояснить диаграмму, в то время, как избыточное их количество может совершенно затуманить ее смысл. Обычно все, что нужно для пояснения диаграммы, можно изложить на одной странице текста. Превышение одной страницы снижает качество за счет лишних деталей. Например, текст на Рисунок 18-3 поясняет, как оператор готовит станок и место вокруг него. Обратите внимание, что текст не затрагивает дополнительных (например, правил безопасности) и исключительных ситуации (например, отсутствия контейнеров для отходов).
При таких обстоятельствах разумнее написать отдельные страницы текста, с пояснением как важных, так и второстепенных вопросов, а также с описанием экстремальных ситуаций и путей выхода из них.
Текст может быть использован для объяснения, почему выбрана именно эта декомпозиция или точка зрения, для сообщения о том, как осуществляются сложные операции, или для описания допущений, сделанных автором при создании диаграммы. Однако ни при каких обстоятельствах текст не должен описывать то, что можно прочесть на диаграмме, уточнять уже декомпозированный блок, идентифицировать компоненты декомпозированной дуги, описывать функции блоков или определять названия блоков и дуг (эти названия содержатся на странице глоссария). Следуйте этим рекомендациям и ваши текстовые дополнения будут всегда краткими, четкими, информативными и, самое важное, они будут прочитаны.

Рисунок 18-3 Подготовка рабочего места
Правила действия
Вспомните, что функциональные диаграммыSADT - это диаграммы ограничений, потому что они отражают ограничения, накладываемые функциями системы друг на друга. Законченная функциональная диаграмма дает моментальный снимок всех дуг управления, которые ограничивают функцию в какой-либо момент работы системы. Поэтому, вообще говоря, не все ограничения на функцию действуют одновременно. В большинстве случаев только некоторые ограничения на каждую отдельную функцию действуют в какой-либо момент времени. SADT определяет "действие" как вид работы функции после того, как она "включается" посредством некоторых ее входов или управлений для создания выходов. Таким образом, каждое конкретное действие использует не все возможные управления и входы и производит не все возможные выходы. Количество возможных действий функции зависит исключительно от количества возможных взаимодействий ее данных, а не от количества входящих в блок дуг. Позже об этом будет сказано подробнее.
Описание правила действия в SADT - это примечание (сходное с принятыми в формальных грамматиках), которое описывает отдельную комбинацию управления, входа и выхода для некоторой функции конкретной модели. Правила действия включают номер блока, уникальный идентификатор действия, предусловия и постусловия. Каждое правило действия для модели формулируется в соответствии с синтаксисом:
[Модель/] блок * действие : предусловия--> постусловия
Блок и действие дают правилу уникальное имя. Блок идентифицирует определенный блок модели. Действие идентифицирует одно правило действия для этого конкретного блока. Поэтому сочетание блок и действие однозначно идентифицирует одно правило действия в модели. Одновременно могут рассматриваться правила действия для более чем одной модели. В таком случае модель, точнее имя той модели, к которой относится правило, пишется в начале правила. Предусловия и постусловия - это то, что требуется для действия и что является его результатом. Обобщая, можно сказать, что каждое правило действия может быть интерпретировано следующим образом.

Рисунок 19-2. Функция, имеющая единственное правило действия
Для функции блок правило действия действие определяется так: если истинны предусловия, выполняется функция блок
и делает истинными постусловия.
Как предусловия, так и постусловия представляют собой логические выражения, построенные с помощью ICOM-кодов, где каждый
ICOM-код идентифицирует единичную дугу управления, входную или выходную дугу конкретного блока. Логические операторы
AND, OR и NOT
вместе со скобками представляют средства для записи различных сложных логических выражений. Например, на Рисунок 19-2 показан блок диаграммы ЭМЦ/А2, у которого только одно правило действия. Это правило утверждает, что функции. подготовить рабочее место необходимы выбранное инструменты, станки в цехе, чертеж и указания, чтобы рабочий подготовил оборудованное рабочее место. Это пример правила действия, которое утверждает необходимость участия всех входных дуг, дуг управления и выходных дуг в действии конкретного блока.
Часто возникают ситуации, в которых для правильного действия блока необходимо отсутствие одной или нескольких дуг. Дуги, не участвующие в конкретном действии, отмечаются горизонтальным штрихом (символизирующим NOT) над ICOM-кодом, если они входят в предусловие. Это означает, что объекты, представляемые этой дугой, должны отсутствовать для того, чтобы действие было выполнено. Например, действие 3 на Рисунок 19-3 утверждает, что план выполнения заданий не должен быть представлен в момент оценки задания, который предшествует приемке.

Рисунок 19-3. Функция, имеющая несколько правил действия
Встречаются также ситуации, когда только некоторые из дуг используются в процессе действия для производства выходов. Если входная дуга или дуга управления не участвуют в действии, они просто опускаются в предусловии. Аналогично если только часть выходов блока производится во время действии, то ICOM-коды для этих не создаваемых выходов опускаются в постусловиях. Например, отсутствие 02 и 03 в действии 4 означает, что в процессе этого действия вырабатывается только статус задания.
Иногда функции полностью используют свои входы или управления в процессе действия. В таких случаях эти входные дуги и дуги управления перечисляются в постусловии со штрихом отрицания
NOT над ними. Это означает, что объекты, представленные данными дугами, использованы во время действия функции и недоступны для других блоков или будущих действий.
Прекращение декомпозиции
17.2. Прекращение декомпозицииМы рекомендуем прекращать моделирование, когда уровень детализации модели удовлетворяет ее цель. Другими словами, вы должны закончить моделирование, когда почувствуете, что дальнейшее продвижение не будет удовлетворять информационные потребности проекта или вступит с ними в противоречие. Хотя интуитивно это правило понятно, ему трудно следовать, не оценив модель. В первое десятилетие использования SADT для создания моделей в различных прикладных областях были разработаны некоторые критерии для определения момента завершения моделирования. Этот опыт показал, что для отдельной модели, которая создается независимо от какой-либо другой модели, декомпозиция одного из ее блоков должна прекращаться, если:
Эти правила подчеркивают практические аспекты применения SADT для описания систем реального мира с конкретной целью (например, понять работу телефонной станции, чтобы определить требования к ее программному обеспечению). Предполагая, что большинство наших читателей будут применять SADT именно так, мы далее обсудим более подробно каждый из этих пунктов для иллюстрации приведенных правил и их важных моментов. Мы будем использовать диаграмму Рисунок 17-1, поскольку эта диаграмма находится на самом "дне" модели экспериментального механического цеха.
Принятие решения о завершении моделирования
17.8. Принятие решения о завершении моделированияВероятность принятия неправильного решения о завершении моделирования может быть уменьшена, если вы оцените каждый блок, который хотите детализировать, в соответствии с приведенными выше правилами. Поскольку большинство SADT-моделей обычно содержат от 10 до 320 диаграмм, лучшее время для начала оценки блоков, когда модель достигает этих размеров. Если какая-то часть модели достигла уровня, не требующего дальнейшей декомпозиции, обращайтесь к своему собственному критерию для определения момента завершения моделирования, прежде чем декомпозировать блок, который еще не был детализирован.
Помните, что критерии, приведенные в этой главе, носят характер рекомендаций, следовательно, их нельзя применять механически. Иногда может случиться так, что в какой-то конкретной ситуации два правила будут противоречить друг Другу. Разрешение таких конфликтов требует рассудительности и осмотрительности. А это результат накопленного опыта. Если сложилась подобная ситуация и вы не знаете, что делать дальше, направьте на рецензирование специальную папку. Используйте цикл автор/читатель для привлечения наиболее опытных SADT-аналитиков, тех, кто с большей вероятностью даст вам дополнительную информацию для принятия обоснованного решения. Кроме того, мы советуем вести записи по сложным вопросам, по тому, как они были решены и что этому способствовало. Такие записи помогут вам впоследствии, если окажется, что моделирование следовало закончить раньше. Они помогут также при определении и выборе объектов будущего моделирования.
в методологии SADT необходима координация
20.5. РезюмеПри работе над проектами в методологии SADT необходима координация усилий коллективов авторов, читателей и Комитета технического контроля - органа, осуществляющего прием моделей для их использования. Успех проектов зависит от правильного составления папок и методов их рецензирования, от результатов совместной деятельности специалистов и от их индивидуальных усилий. Проект в методологии SADT, как и любой другой проект, требует тщательного руководства. Правильный подбор участников, разработка технического задания и выполнение сроков способствуют эффективности проекта. Одна из важнейших обязанностей руководителя SADT-проекта заключается в контроле за движением папок и выполнением планов проекта для обеспечения плавного и непрерывного процесса работы.
17.9. Резюме
SADT-модели иерархичны, и поэтому их размер может увеличиваться со скоростью геометрической прогрессии. Хотя многие SADT-модели имеют глубину 5-6 уровней, они чаще всего состоят не более чем из нескольких десятков диаграмм и редко превосходят предел в 100 диаграмм. Декомпозиция модели или ее части немедленно прекращается, если модель достигла уровня детализации, достаточного для достижения цели. Это происходит, когда модель достаточно подробна, чтобы ответить на все вопросы, которые включает цель модели, а также при изменении уровня абстракции или точки зрения. Кроме того, декомпозиция блока может быть прекращена, если окажется, что функции блока очень сходны с другой частью модели, которая уже декомпозирована. Таким образом, достаточность деталей, изменение уровня абстракции, изменение точки зрения и сходная функциональность являются основными критериями, которые применяют SADT-аналитики для определения момента прекращения декомпозиции.
SADT-диаграммы иногда нуждаются в дополнительной информации для описания подробностей, важных для понимания систем. В SADT применяются три типа дополнений к диаграммам: глоссарии, тексты и рисунки. Страницы глоссария содержат определения и часто структурное описание данных системы. Страницы глоссария используются для составления словаря данных модели. Текстовые страницы излагают содержание диаграмм, что часто имеет большое значение при детализации диаграмм самого нижнего уровня модели. Страницы рисунков содержат иллюстрации, поясняющие важные аспекты системы (например, законченную часть, область хранения, карту). Хотя дополнения в определенных ситуациях могут быть очень полезны, мы настоятельно рекомендуем никогда не использовать их вместо диаграмм для декомпозиции модели. Они должны только обеспечивать соответствие диаграмм цели модели. Указатели диаграмм и указатели узлов - это списки (оглавления) с отступами, которые играют роль как краткого конспекта системы, так и средства быстрого поиска при рассмотрении конкретной функциональной области системы.
Метки свойств в SADT
описывают конкретные аспекты системы. Они помещаются на диаграмме в виде примечаний, часто как подготовительный этап к созданию спецификации модели. Правила действия в SADT кодируют набор возможных действий блоков модели. Иногда для какого-либо блока эти правила трудно определить. В этом случае для создания полного набора возможных действий мы советуем использовать методы, применяемые в логическом исчислении.
Сходные функции
17.6. Сходные функцииИногда встречается блок, чрезвычайно похожий на другой блок модели. Два блока похожи, если они выполняют примерно одну и ту же функцию и имеют почти одинаковые по типу и количеству входы, управления и выходы. Если второй блок уже декомпозирован, то разумно отложить декомпозицию и тщательно сравнить два блока. Если нужны ничтожные изменения для совпадения первого блока со вторым, то внесение этих изменений сократит усилия на декомпозицию и улучшит модульность модели (т.е. сходные функции уточняются согласованным образом).
Рассмотрите блок выбрать станок на Рисунок 17-1 и блок выбрать инструменты
на Рисунок 16-3. Оба они связаны с некоторым выбором из заданного множества устройств. Блок выбрать инструменты делает это, подчиняясь следующему шагу задания, а блок выбрать станок -
подчиняясь чертежу. Более подробное изучение этих двух функций может открыть сходство между использованием информации о следующем шаге задания и чертежа. Если это произойдет, эти две функции могут быть далее декомпозированы как диаграмма выбрать инструменты.
Иногда такое изучение и модификация приводят к созданию функции более общего назначения (именно так происходит при введении подпрограмм, создаваемых для улучшения модульности программною обеспечения). Однако функции общего назначения часто трудно выделить, а модификации, необходимые для введения их в модель, требуют много времени. Поэтому мы, рекомендуя использовать при моделировании функции общего назначения, предупреждаем, что слишком высокая степень общности достигается с трудом и с большими затратами времени. Впрочем, мы надеемся, что в будущем автоматизированные средства SADT помогут аналитикам в решении этого и других важных вопросов, существенно улучшив качество моделей и сократив время их создания.
Создание и рецензирование результатов работы
20.2. Создание и рецензирование результатов работыОдин из секретов создания точных и полезных SADT-моделей заключается в постоянном выпуске папок, которые доносят соответствующий объем информации до читательской аудитории. В проектировании по методологии SADT широко применяются папки, состоящие из контекстной диаграммы, рецензируемой диаграммы и страницы глоссария. Однако не всегда
SADT-папки так малы. Мы рекомендуем выпускать папку, когда у вас уже накоплена информация для рецензирования. Ее объем может быть различным в зависимости как от самого проекта, так и от опыта его участников. Приведем несколько примеров, когда размер папки может реально отразиться на продуктивности рецензирования:
Размер папки - это один из аспектов проектирования. Не менее важно количество

Создание модели
20.3. Создание моделиСоздание эффективных SADT-моделей не сводится просто к вычерчиванию правильных диаграмм. Оно требует использования совместной деятельности специалистов для получения утвержденных диаграмм А-0 и АО, назначение авторов для декомпозиции конкретных блоков диаграммы АО, формирования основных задач декомпозиции и кропотливого доведения модели до конца. Мы обычно начинаем работу по моделированию с технического совещания, в котором принимают участие эксперты и разработчики. Совещание длится в течение недели. Руководитель группы управляет этой совместной работой, организуя поток информации от экспертов к авторам и поощряя обмен мнениями между ними. Обсуждение продолжается до тех пор, пока не будут выработаны схемы диаграмм АО и А-0, а также уточнены цель и точка зрения модели (см. уроки в главе 22, где приведено подробное описание такой работы).
Начальные диаграммы и связанный с ними глоссарий составляют первую папку, которая проходит несколько циклов автор/читатель, пока не будут созданы стабильные диаграммы АО и А-0. После этого группа аналитиков определяет цели декомпозиции каждого блока диаграммы АО и назначает для каждого блока по одному автору. Автор детализирует свою часть модели и согласовывает интерфейсы на диаграмме АО с другими авторами. Таким образом коллектив авторов может быстро создать модель, не мешая друг другу (см. уроки в главах 23 и 24).
В ходе совместного творческого процесса каждый автор детализирует свою часть модели, которая рецензируется экспертами и другими авторами. Эта детализация как результат индивидуальной работы требует сбора автором информации (в основном путем чтения документов и опроса экспертов), ограничения каждого декомпозируемого объекта, определения точки зрения декомпозиции, создания диаграммы и ее рецензирования (см. уроки в главах 25 и 26). Для такой работы необходимы внутренняя дисциплинированность и понимание потенциальных проблем. Как и все SADT-авторы, мы выработали за годы работы принципы, позволяющих избежать ловушек.
Некоторые наиболее важные из них заключаются в выборе задания для очередного шага, в определении производительности своего труда и отслеживании необходимых ограничений.
Для успеха любого аналитического проекта чрезвычайно важно, чтобы каждый автор ответственно подходил к выбору очередного шага задания. Деятельность авторов в ходе аналитического проекта разнообразна. Они обдумывают проблемы, читают сопутствующие материалы, опрашивают экспертов, выбирают блоки для декомпозиции, чертят диаграммы, перечерчивают диаграммы, формируют папки, читают их, отвечают на комментарии, беседуют с рецензентами, готовят дополнения, редактируют их, согласовывают интерфейсы, считывают материалы перед публикацией, и вместе с другими авторами участвуют в решении проблем посредством "мозговой атаки". Очень важно тщательно выбирать из всех этих видов деятельности ту, что наиболее необходима на очередном шаге.
Для повышения квалификации SADT-авторов существенное значение имеет их собственное определение производительности своего труда и оценка качества работы. Исключительно полезно для определения производительности труда фиксировать время, затраченное на выполнение конкретных работ при моделировании в рамках SADT. Просматривая эти записи, можно определить, какие виды деятельности вы выполняете хорошо, с какими у вас возникают затруднения и в чем вы далеки от оптимальности. В качестве примера можно использовать табл. 20-1.
Таблица 20-1. Сроки создания SADT-диаграмм.
| Задание | Совершенно заново | Новая версия |
| Черчение | 15-60 минут | 10-30 минут |
| Критика | 10-30 минут | 10-30 минут |
| Комментирование | 10-40 минут | 5-20 минут |
| Количество диаграмм в день | 2-5 | 5-10 |
Таблица 20-2. Критические размеры SADT-продуктов
| Результаты работы | Количество |
| Папка Папка Модель |
2-6 диаграмм 3-6 циклов рецензирования 10-30 диаграмм |
Стратегии дополнения модели
20.4. Стратегии дополнения моделиОписание системы в методологии SADT приводит к созданию модели, которая определяет и описывает функции и объекты системы. Но обычно одной модели недостаточно для выработки спецификаций. Модель, как правило, сопровождается дополнениями для того, чтобы разработать полную систему спецификаций. В главе 27 показано, как модель "Питание семьи" может быть дополнена кратким описанием для разработки спецификации, которую легко читать и выполнять. Теперь определим, какие дополнения к модели будут полезны. Стандарты спецификаций в промышленности весьма различны, поэтому их форму мы обсуждать не будем.
Спецификация системы часто содержит описания функций с точки зрения пользователей, указания и ограничения по проектированию, критерии приемлемости и справочный материал. Можно получить максимум от SADT-моделей, если при документировании такого вида информации применять стратегии, подобными следующим:
Тривиальные функции
17.7. Тривиальные функцииТривиальная функция - это такая функция понимание которой не требует никаких объяснений. В этом случае нам очевидна целесообразность отказа от декомпозиции, потому что роль SADT заключается в превращении сложного вопроса в понятный, а не в педантичной разработке очевидных деталей. Рассмотрим блок выбрать станок на Рисунок 17-1. Его свободно можно считать тривиальной функцией, потому что рабочие прекрасно знают, какой станок больше подходит для определенного рода обработки металла. Поэтому этот "тривиальный" блок не следует декомпозировать, чтобы не обидеть рабочих. Разумно избегать декомпозиции тривиальных блоков, особенно в организациях, имеющих доступ к государственным секретам. В таких случаях декомпозиция определенных блоков может принести больше вреда, чем пользы. Тривиальные функции лучше всего описываются небольшим объемом текста.
Следует заметить, что "тривиальный" не означает "бесполезный". Тривиальные функции выполняют очень важную роль, поясняя работу более сложных функций, а иногда и соединяя вместе основные подсистемы. Поэтому при анализе не следует пропускать тривиальные функции. Наоборот, их существование должно быть зафиксировано и они должны быть детализированы, как и любые другие функции. Однако мы хотим предостеречь читателя от больших затрат времени на анализ тривиальных функций системы. Усиленное внимание к мелочам может привести к созданию модели, которой будет недоставать абстракции, что сделает ее трудной для понимания и использования.
Уровни консенсуса
Рисунок 20-2. Уровни консенсусапапок, рассылаемых в соответствии с конкретным объектом. Мы рекомендуем по каждому рецензируемому объему информации рассылать не одну, а серию папок. Для этого сначала пошлите папку очень опытному эксперту и добейтесь его согласия с вами. Затем отправьте вторую папку с тем же содержанием еще нескольким экспертам и достигните согласия с этой группой. Затем направьте скорректированную папку всей читательской аудитории, чтобы получить общее одобрение вашей работы. Этот процесс достижения возрастающих уровней согласия, начиная от одного человека, затем переходя к небольшой группе лиц и далее - ко всем участникам проекта, типичный путь нашего получения знания в SADT.
Он схематически изображен на Рисунок 20-2, где показаны также уровни достижения согласия. Обычно для достижения согласия со всей читательской аудиторией необходимо несколько папок.
Беседа автор/читатель
16.2. Беседа автор/читательИногда возникают серьезные разногласия, существенное взаимное непонимание или остается непонятым важное замечание. В подобных случаях запишите эти проблемы на титульном листе в форме замечания. Мы рекомендуем в конце каждого такого замечания писать заглавными буквами слова ДАВАЙТЕ ПОБЕСЕДУЕМ. Это укажет читателю на ваше желание провести диалог автор/читатель для более тщательного обсуждения разногласий. Сделав это, вы продемонстрируете читателю ваше желание к интенсификации обратной связи. Но прежде чем вы
встретитесь, подготовьте список вопросов, которые следует обсудить в ходе беседы автор/читатель. Проведите встречу и рассмотрите последовательно все вопросы один за другим. Выработайте решение каждой проблемы и запишите его в папке в виде замечания "с кружком".
Во время встречи придерживайтесь запланированной тематики и старайтесь уложиться в один час. Может оказаться, что встреча затянется из-за того, что вопросы потребуют дополнительного обдумывания или возникнут новые проблемы. Запишите новые проблемы и быстро вернитесь к исходной теме. Если потребуются дополнительные размышления, мы не советуем вам продолжать встречу намного дольше часа. Наш опыт показывает, что после часа интенсивных размышлений над сложной проблемой начинает падать продуктивность беседы. Лучше договоритесь о новой встрече и составьте к ней новый список вопросов. Такой стиль концентрированного взаимодействия очень эффективен, потому что: (1) цикл автор/читатель позволяет разрешать небольшие проблемы без дополнительных обсуждений, (2) ваша беседа будет короткой и насыщенной благодаря заранее подготовленному перечню вопросов.
Цикл автор/читатель
12.5. Цикл автор/читательВ приведенном обзоре представлен полный формализованный набор процедур, составляющий цикл автор/читатель. Входящие в него процедуры дают возможность разрешить любую ситуацию, которая может возникнуть в ходе одновременного рецензирования материала несколькими экспертами, формализованным он называется потому, что предписывает правила координации работы многих людей для достижения ими консенсуса. Опыт показал, что эти процедуры легко модифицируются. Поэтому с их помощью в любом проекте можно осуществить рецензирование, не смотря на то, что каждый проект предъявляет свои требования к полноте и формализованности этого процесса.
Несколько примеров из опыта работы авторов книги могут служить иллюстрацией целесообразности цикла автор/читатель. Так, этот цикл применялся в одном правительственным проекте для учета мнения военных специалистов при классификации специфической военной информации. Цикл автор/читатель использовался также в полном объеме при работе авторов книги над множеством проектов для распространения и рецензирования всех своих проектных материалов, включая программное обеспечение, руководства для пользователей, протоколы собраний и дополняющие их технические материалы. Участники всех этих проектов были хорошо информированы, хотя их не обременяли чрезмерно чтением проектных материалов. Для индивидуальных аналитических проектов, требующих совсем узкий круг читателей, мы обычно организуем свою собственную библиотеку.
Это только несколько случаев применения цикла автор/читатель, облегчающего процесс рецензирования и ведущего к достижению группой специалистов консенсуса относительно работы системы. Следует подчеркнуть, что мы не призываем к использованию цикла автор/читатель в полном объеме в каждом проекте по системному анализу. Напротив, мы советуем всегда учитывать, в какой степени этот процесс соответствует авторам, читательской аудитории, величине и сложности системы, цели аналитического проекта.
Диаграмма и дополнительный материал с ответами автора
пХЯ.16-2. Диаграмма и дополнительный материал с ответами автора
Диаграмма и титульный лист с ответами автора
Рисунок 12-4. Диаграмма и титульный лист с ответами автора
Диаграмма с дополнительным материалом
Рисунок 14-2. Диаграмма с дополнительным материалом
(его входы и выходы) и что ограничивает его выполнение (его управления). Сосредоточившись на конкретном блоке, вы сможете установить, как связаны все касающиеся его дуги. Например, блок 3 на Рисунок 14-2 описывает шаг подготовить рабочее место, во время которого выбранные инструменты и один из станков в цехе используются для организации оборудованного рабочего места в соответствии с чертежом и указаниями.
14.2.3. Изучите внутренние дуги
После изучения блоков переходите к внутренним дугам диаграммы. Это позволит раскрыть детали простых и сложных ограничений, основной поток данных диаграммы и обратные связи. Простые ограничения накладываются одной функцией на другую, а сложные возникают для нескольких функций (когда данные одновременно ограничивают две или более функции). Например, следующий шаг задания оказывает существенное влияние на выполнение всех остальных этапов работы. Основной поток данных лучше всего можно понять, рассматривая наиболее вероятный "нормальный" сценарий преобразований функциями (блоками) основных входов в основные выходы. Например, для блока выполнить задание сценарий "основного пути" мог бы выглядеть так:
План выполнения задания служит для определения следующего шага задания, который затем используется для блоков выбрать инструменты, подготовить рабочее место и, наконец, обработать на станке и собрать деталь.
Затем результаты обработки оцениваются, и весь цикл повторяется, пока не будет закончено задание.
Вспомните, что в SADT можно описывать два типа обратной связи: по данным и по управлению. Например, дуга результаты обработки на диаграмме ЭМЦ/А2 - это обратная связь по данным, а дуга штамп "принято" диаграммы ЭМЦ/АО - обратная связь по управлению. Обратные связи по данным слабее. Это просто "трубопроводы", доставляющие данные от одной функции к другой. Обратные связи по управлению намного сильнее. Они указывают на условия, определяемые одной функцией и влияющие на работу другой функции.
Обращайте на них особое внимание.
14.2.4. Прочитайте авторские замечания
После изучения блоков и дуг прочтите замечания, сделанные автором. Это так называемые замечания "в квадратах", которые обычно уточняют важные моменты или письменно фиксируют какие-то затруднения. Замечания помогут лучше понять, что изложено в диаграмме и обеспечат обратную связь с автором. Благодаря этому авторские замечания могут придать рецензированию особое направление. Закончив чтение авторских замечаний, вы завершите чтение всей диаграммы.
14.2.5. Прочитайте приложения к диаграмме
Последним прочтите весь приложенный дополнительный материал. Иллюстрации, текст и глоссарий часто прилагаются к диаграммам для усиления наглядности контекста, разъяснения ключевых моментов или пояснения терминологии. Во время чтения диаграммы обращайтесь к этому материалу для уточнения содержания диаграммы (если у вас возникают вопросы, на которые можно получить ответ с помощью приложения). В противном случае отложите чтение приложения, пока не закончите изучение самой диаграммы. Например, может оказаться полезным понять форму пола в цехе для того, чтобы понять, как устанавливаются станки.
Начало моделирования
<
Вспомним, что SADT-модель начинается с очерчивания границ системы, определения цели и точки зрения модели и создания диаграмм верхнего уровня. Эта глава, состоящая из семи уроков, рассчитана на то, чтобы провести вас через те этапы, которые чаще всего выполняют SADT-аналитики в начале создания функциональной модели: в уроке 1 очерчивается контекст задачи, в уроке 2 определяется цель и точка зрения модели, в уроке 3 создается диаграмма АО , в уроке 4 - диаграмма А-0, в уроке 5 дается критическая оценка диаграммы А-0, в уроке б критически оценивается диаграмма АО, в уроке 7 обе диаграммы переделываются.
В идеале вы должны выполнить все семь уроков без перерыва. Это даст вам верное представление об объеме работы, необходимой для начала моделирования. В крайнем случае мы рекомендуем выполнить уроки 1-4, затем сделать перерыв, и далее приступить к выполнению уроков 5-7. Исходите из следующего расчета: полчаса на чтение, понимание и выполнение каждого урока. Не огорчайтесь, если вы не укладываетесь в полчаса. Ваша задача - научиться методологии, а не устраивать гонки на скорость. По мере приобретения опыта в SADT ваша производительность будет возрастать, потому что, как при изучении любого языка, чем больше вы пользуетесь языком SADT, тем лучше вы им овладеваете.
Изучение ближайшего контекста диаграммы
14.3. Изучение ближайшего контекста диаграммыИзучив все внутренние детали диаграммы, сосредоточьтесь на их контексте, определив связи между диаграммой и ее родителем. Вы получите более глубокое понимание диаграммы, потому что граница объекта определяет, как диаграмма входит в остальную часть модели. Понять контекст диаграммы позволяет чтение: (1) блока и дуг, появляющихся на родительской диаграмме, представляющих ограничения для изучаемой диаграммы (2) ICOM-меток диаграммы, (3) связей этой диаграммы с другими блоками родительской диаграммы, (4) дополнительного к родительской диаграмме материала. Элементы этой диаграммы также читаются последовательно.
14.3.1. Чтение родительского блока и его дуг
Начните с чтения блока родительской диаграммы. Это освежит в памяти представление об общей функции диаграммы и ее взаимосвязей с остальными частями модели. Например, диаграмма ЭМЦ/АО (Рисунок 14-1) обобщает функцию выполнить задание
как процесс, который преобразует сырье и заготовки и брак в законченное или незаконченное задание в соответствии с планом выполнения задания. При этом используются станки и инструменты и иногда докладывается о статусе задания.
14.3.2. Чтение ICOM-кодов
Теперь прочтите внешние дуги диаграммы и определите их ICOM-коды. Проверьте соответствие каждого ICOM-кода одной из граничных дуг родительской диаграммы. Отметьте все несоответствия или пропуски. Таким образом вы удостоверитесь в том, что автор в процессе анализа ничего не пропустил из необходимых данных. На диаграмме ЭМЦ/А2 брак имеет ICOM - код 13, что соответствует (счет ведется сверху вниз) третьей входной дуге блока 2 на диаграмме ЭМЦ/АО.
14.3.3. Изучение связей диаграммы с ее родителем
Изучив соответствующий блок родительской диаграммы, перейдите к просмотру других блоков. Проследите каждую внешнюю дугу диаграммы до ее соприкосновения с другим блоком родительской диаграммы и разберитесь в причине соединения. Это поможет понять источники и приемники данных для рассматриваемой диаграммы. Например, брак получается из забракованного задания, а статус задания докладывается мастеру.
14.3.4. Чтение дополнительного материала родительской диаграммы
Последним прочтите дополнительный материал, относящийся к родительской диаграмме. Иногда дополнения могут привести к новому пониманию причин именно такого соединения границы объекта с другими блоками родительской диаграммы. Обычно страница глоссария для родительской диаграммы не включается в папку. Вернитесь к последней папке для родительской диаграммы и прочтите ее глоссарий, чтобы знать точные определения граничных дуг.
Изучение деталей диаграммы
14.2. Изучение деталей диаграммыДля понимания деталей отдельной диаграммы необходимо: (1) прочитать название и номер узла, (2) изучить каждый блок, (3) изучить внутренние дуги; (4) прочитать все замечания автора; (5) просмотреть весь связанный с диаграммой дополнительный материал. Чтение осуществляется наиболее эффективно, если все эти элементы диаграммы читаются последовательно. По мере обсуждения этой части процесса обращайтесь к Рисунок 14-1 и 14-2.
14.2.1. Прочитайте название и номер узла
Начните читать диаграмму с просмотра бланка, обратив особое внимание на название и номер узла диаграммы. Например, диаграмма выполнить задание (Рисунок 14-2) имеет номер узла ЭМЦ/А2 и является диаграммой второго уровня модели экспериментального механического цеха. Следовательно, на ней начинается описание некоторых деталей работы механического цеха. Используйте название и номер узла для того, чтобы сосредоточиться на обсуждаемом объекте и уровне его детализации в модели.
14.2.2. Изучите каждый блок
Теперь изучите каждый блок в отдельности. Постарайтесь понять его во всей полноте, т.е. что он делает (его функции), что он преобразует
Когда формировать папку
13.5. Когда формировать папкуМомент для формирования папки в процессе проектирования выбирается отнюдь не случайно. Вообще говоря, папка составляется, если автор чувствует, что появилось достаточно новой информации, чтобы отправить ее на рецензирование. Однако это не единственный повод для формирования папки. Папку также следует составлять, когда автору не хватает информации для продолжения работы или он сомневается в верности сделанного. В этих случаях мы рекомендуем послать папку небольшому числу вполне определенных специалистов, которые могут вам помочь. Например, пошлите незаконченные рабочие материалы самым опытным экспертам или самым опытным SADT-авторам, чьи знания помогут вам. Получив от них замечания, вы сможете, как правило, довести свою работу до степени, необходимой для рассылки папок всей вашей читательской аудитории для получения новых замечаний. В главе 20 обсуждаются подробности рассылки серии папок для достижения консенсуса.
Комментирование работы
12.2. Комментирование работыПолученные библиотекарем папки регистрируются, копируются, посылаются автору и рассылаются читательской аудитории в соответствии со списком адресатов на титульном листе папки. Записываются дата рассылки папки и срок ответа автору. Таким образом, библиотекарь знает, кто и когда получил папку и дату ее возврата. Эта информация нужна для контроля за документами с тем, чтобы обратная связь от читателей поступала своевременно. Читатели после получения папки от библиотекаря знакомятся с включенными в нее материалами, записывают свои комментарии и возвращают ее библиотекарю. Папки с комментариями, полученные библиотекарем, регистрируются и немедленно отсылаются автору. Опаздывающим читателям библиотекарь напоминает о необходимости вернуть задержанные папки. Таким образом обеспечивается своевременная обратная связь между авторами и читательской аудиторией.
Как только у читателя возникает какой-либо вопрос или предложение, он записывает его красным цветом (в книге записи показаны светло-серыми) в форме замечания. С этих записей начинается письменный диалог между читателем и автором, в ходе которого немедленно фиксируются все сомнения читателя. Этот прием немедленной записи сомнений очень важен. Он служит гарантией, что ни одна идея, возникшая в ходе проектирования, не пропадет. Детали беседы часто забываются, а к диалогу в письменной форме всегда можно обратиться при решении проблем или повторном просмотре материалов. Обратите внимание на Рисунок 12-3: читатель согласился помочь автору, сделав соответствующую пометку на титульном листе, поместив комментарии на диаграмме, проставив дату комментирования и указав срок ответа для автора.
Критическая оценка содержания диаграммы
14.5. Критическая оценка содержания диаграммыК этому моменту процесса чтения
SADT-читатель уже достаточно хорошо понимает диаграмму, ее непосредственный контекст и ее расположение в модели. Опытные читатели принимают только то, что написано на бумаге: они не добавляют своих предположений. Таким образом, их понимание целиком основано на модели и ее дополнительном материале. Теперь пришло время для конструктивной критики работы автора. Критическая оценка означает постановку вопросов к содержанию диаграммы. Читатели задают три основных типа вопросов:
Эти вопросы задают в указанном порядке с тем, чтобы вначале разрешить мелкие вопросы, а потом перейти к более глобальным. Вопросы, связанные с синтаксисом, хотя и простые, но они очень важны, потому что хорошее изложение начинается с правильного использования графического языка SADT.
Вопросы о понимании диаграммы стоят на втором месте, потому что критика бесполезна, пока нет ясного понимания. Вопросы о согласии с автором занимают последнее место, как самые важные. Часто они очень сложны, требуют размышлений и разъяснении. В этой главе перечислены специальные вопросы, которые нужно задавать в процессе критической оценки. В главе 15 обсуждается оформление результатов рецензирования с помощью этих вопросов в виде письменных пронумерованных комментариев .
14.5.1. Вопросы о синтаксисе
Анализируя детали диаграммы, задавайте себе вначале следующие вопросы, особенно если вы только начинаете читать SADT-диаграммы или если автор только начинает работать с применением SADT:
Изучая непосредственный контекст диаграммы, задавайте следующие вопросы:
Поэтому для решения вопроса о согласии с автором нужно провести оценку декомпозиции, цели и точки зрения диаграммы, адекватности описания, точности изображения, активизации блоков.
Чтобы оценить декомпозицию диаграммы, спросите себя:
Чтобы оценить непротиворечивость диаграммы, спросите себя:
Чтобы оценить адекватность описания, спросите:
Чтобы оценить точность представления, задайте вопросы:
Для оценки правильности активизации блоков (т.е. какова возможная последовательность их функционирования в ходе реальной работы системы) спросите себя:
И наконец, один из самых полезных вопросов: "что нового я узнал, читая диаграмму?" Он ведет к последнему вопросу: "стоило ли читать диаграмму?".При положительном ответе, возможно, диаграмму стоит включить в модель.
Обобщение читательских комментариев
16.3. Обобщение читательских комментариевКаждое замечание, с которым вы согласились, приводит к изменениям в исходной диаграмме. Зафиксируйте эти изменения с помощью замечания "с кружком" на своем экземпляре папки. Используйте всю мощь графического языка и языка ссылок SADT для того, чтобы быстро делать примечания и легко и аккуратно вносить изменения в диаграмму. На Рисунок 16-3 показаны примечания, сделанные к диаграмме выполнить задание
после обработки читательских комментариев. Обратите внимание, что изменения терминологии привели к изменению метки дуг. А это в свою очередь заставило автора сделать более тесной связь между результатами обработки и законченным и незаконченным заданием.
Часто в процессе реагирования на несколько откомментированных папок два читателя могут дать автору ценные, но противоречивые указания. Когда это случается, автор должен выбрать то из них, которое больше согласуется с целью и точкой зрения модели. Если это вызывает затруднения, автор должен провести беседу автор/ читатель с обоими читателями одновременно для разрешения противоречия. Окончательное решение, которое, как правило, является компромиссом, записывается в авторском экземпляре папки. Даже если конфликта нет, автор может не полностью следовать предложению читателя. Это относится к ситуациям, когда комментарий поднимает очень большую проблему, предлагает большие изменения в модели или когда указанный недостаток может быть устранен не так, как предлагает читатель.
Помните, что внесение записей в свой экземпляр папки - не напрасная работа. Часто в процессе нее авторы вносят новые качественные изменения в диаграммы в дополнение к тем, что предлагают читатели. Это происходит потому, что авторам в ходе обобщения комментариев представляется возможность увязать и объединить идеи сразу всех читателей, что часто приводит к новым плодотворным идеям, реализация которых ведет к новым качественным изменениям исходной диаграммы. Например, на Рисунок 16-3, усилив связь между результатами обработки и законченным и незаконченным заданием, автор проанализировал возможность обратной связи между изготовить на станке и собрать и определить степень выполнения задания.. Это привело к добавлению новой дуги изменение плана, которое отмечено замечанием 7.
Организация папки
13.3. Организация папкиSADT-папка состоит из титульного листа, одной или более диаграмм и, возможно, дополнительного материала. Титульный лист содержит название и краткое содержание рабочих материалов и служит для сопровождения папки в цикле общения автора с читателями. Диаграммы располагаются после титульного листа в порядке возрастания номеров узлов. Листы иллюстраций и глоссария, которые дополняют диаграммы, располагаются сразу же после тех диаграмм, к которым они относятся (дополнения к диаграммам подробно рассматриваются в главе 18).
На Рисунок 13-3 показана SADT-папка, содержащая результаты анализа, проведенного в части I, где обсуждались начало разработки и частичная декомпозиция модели экспериментального механического цеха. На титульном листе указано, что эта папка относится к декомпозиции объекта выполнить задание, на диаграмме ЭМЦ/А2. Кроме того, на титульном листе помещено замечание автора, в котором он просит объяснить понятие деталь. Диаграмма ЭМЦ/АО изготовить нестандартную деталь расположена перед диаграммой выполнить задание для того, чтобы обеспечить читателей контекстом. Лист глоссария ЭМЦ/А2Г1 определяет терминологию, введенную на диаграмме выполнить задание. Он расположен после диаграммы.
Ответы на комментарии
12.3. Ответы на комментарииАвтор просматривает папки с комментариями и пишет ответы на них. Папки с ответами передаются библиотекарю для регистрации и возврата читателям. После этого каждый экземпляр папки остается у своего владельца и библиотекарь никогда больше не обрабатывает их. Опаздывающим читателям библиотекарь напоминает о необходимости вернуть задержанные ими папки. Таким образом поддерживается своевременная связь в обоих направлениях от читателя к автору и обратно.
Просматривая папку с комментариями, автор пишет ответ на каждое замечание синим цветом (в книге эти ответы изображаются темно-серыми) рядом с соответствующим замечанием. Комментарии таким образом связаны со своими ответами, но отличаются от них по цвету. Например, на Рисунок 12-4 автор отметил галочкой замечание читателя, отреагировал на записанный на диаграмме совет относительно деталей и проставил дату своего ответа на титульном листе. По ходу чтения автор может добавить еще какую-либо информацию для пояснения своих ответов или для указания на свое намерение переделать диаграмму в соответствии с рецензией. Таким образом, автор вносит свой вклад в письменный диалог.
В процессе ответов на комментарии каждого читателя, автор вносит изменения в свой экземпляр папки. Комментарии всех читателей сводятся воедино в авторском экземпляре. Это позволяет автору анализировать и обобщать различные и, возможно, противоречивые взгляды читателей. Обобщения используются при переделке диаграмм для получения улучшенной версии разрабатываемой модели. Переделанные диаграммы поступают к библиотекарю, который помещает их в архивы модели. После этого данный цикл рецензирования считается завершенным, и автор может начинать новый цикл на основе переработанного материала (см. пример в главах 14-16).
Папки циклически перемещаются между автором и читателями
Рисунок 13-1. Папки циклически перемещаются между автором и читателями
Переделка диаграмм
16.4. Переделка диаграммПринято или не принято какое-либо замечания читателя отметьте в вашем экземпляре папки. После этого вы готовы к переделке рассматриваемой диаграммы и всех других диаграмм, которые были затронуты. При серьезных изменениях мы рекомендуем начертить диаграмму заново. На Рисунок 16-4 показан результат перечерчивания в соответствии с примечаниями к диаграмме выполнить задание, приведенными на Рисунок 16-3. Обратите внимание, что замечание 7
Перерисованная диаграмма
пХЯ.16-4. Перерисованная диаграмма
заставило автора ввести обратную связь по управлению от блока 4 к блоку 1 и что автор поменял ее метку при переделке диаграммы.
Если вы чертите диаграмму заново, не забудьте отметить заменяемую диаграмму, указав ее С-номер в скобках сразу же после С-номера новой диаграммы, как показано на Рисунок 16-4. Обратите внимание, что С-номер исходной диаграммы (DAM010) заключен в скобки и помещен рядом с С-номером переделанной диаграммы (DAM015). Таким образом с помощью набора указателей, направленных назад, метод SADT связывает между собой различные версии одной и той же диаграммы, чтобы всегда можно было проследить изменения в ходе аналитического проекта.
При переделке диаграммы старайтесь избежать потерь и не вносить ошибок. Это часто происходит в случае полной переделки. Если требуются незначительные изменения, получите от библиотекаря исходную диаграмму, проставьте в служебном поле дату пересмотра, внесите необходимые изменения и вставьте ее в новую папку. Библиотекарь перенесет все изменения в архивную папку модели для поддержания в порядке версий диаграммы. Мы настоятельно рекомендуем отложить окончательную переделку исходной диаграммы до того момента, когда вы ответите всем читателям. Таким образом, вы избежите пустой траты времени, времени читателей и времени библиотекаря, выпустив диаграмму с непринципиальными изменениями. Прежде чем чертить заново исходную диаграмму, подождите, пока не рассмотрите все комментарии, не ответите на них, не устраните все разногласия, не уточните противоречивые рекомендации. Закончив переделку, подготовьте новую папку для рецензирования с переделанной диаграммой.
Подготовка страницы глоссария
Рисунок 13-4. Подготовка страницы глоссария
всех случаях, когда вы сомневаетесь в объеме информации, приемлемом для читателей. Одна диаграмма, декомпозиция хотя бы одного из ее блоков и, возможно, лист глоссария или иллюстрация представляют собой оптимальный размер папки (более подробное рассмотрение факторов, влияющих на размеры папки, см. в главе 20), Мы рекомендуем такой объем в качестве стандарта, чтобы вы никогда не включали в папку для рецензирования слишком много информации. Наш опыт показывает, что, независимо от обстоятельств, папка не должна содержать более одной диаграммы и ее прямых потомков - в общей сложности не более шести диаграмм. Если в папку включен дополнительный материал, количество диаграмм следует уменьшить. Папка с более чем 6 страницами информации может перегрузить ваших читателей, и вы получите очень слабый отклик. Поэтому лучше ошибиться в сторону уменьшения объема информации, чем предъявлять завышенные требования к читательской аудитории. Если большие папки станут для вас нормой, вы можете через некоторое время столкнуться с падением активности читательской аудитории. Единственным исключением является публикация всей модели в виде папки в конце аналитического проекта. Читатели готовы к тому, что такие папки должны быть объемны, но в то же время они знают, что их будет очень немного.
Процесс проверки модели в SADT
Рисунок 12-1. Процесс проверки модели в SADT
из своих рабочих материалов небольшой комплект или папку, которая является основной единицей рецензируемого материала. Папку посылают библиотекарю для распространения материалов среди участников проекта. Прежде чем передать папку для распространения, автор записывает в соответствующие поля титульного листа список адресатов, дату возврата и другую необходимую информацию, как показано на Рисунок 12-2. Одну из копий папки библиотекарь посылает автору.
Размеры папки
13.4. Размеры папкиSADT-папка не всегда формируется для каждой новой диаграммы. Размеры папок могут быть различными и зависят как от проекта, так и от работающих над ним. Сложность изучаемой системы, доступность экспертов и опытность аналитиков также влияют на объем информации, включаемой в папку. Однако для большинства SADT-проектов типичным является рабочая папка, включающая контекстную диаграмму, основную диаграмму и лист глоссария. Мы рекомендуем составлять папки именно такого размера во
Совершенствование моделей
12.4. Совершенствование моделейПосле нескольких циклов автор/читатель читательская аудитория обычно начинает приходить к консенсусу относительно содержания конкретной модели. Появляется общее понимание того, как работает или должна работать данная система. Взаимодействие и согласие достигается в результате высказывании каждого из группы специалистов и обмена их своими идеями. Это приближает к определенной цели. Для аналитического SADT-проекта такой целью является общее понимание системы.
SADT-авторы используют стандартные ключевые выражения, определяющие
степень принятия диаграмм и отражающие уровень достижения консенсуса, относительно данной диаграммы. Значения терминов: "рабочая версия", "эскиз", "рекомендовано", "публикация", составляющих стандартный набор для SADT, определяются на начальной стадии проектирования. Это дает возможность для каждого аналитического проекта вырабатывать свои критерии документального контроля за уровнем достижения консенсуса. Например, термин "рабочая версия" может относиться к первому, черновому варианту диаграммы, "эскиз" может относиться к следующим ее версиям, которые нуждаются в уточнениях, "рекомендовано" может означать, что диаграмма готова для окончательного утверждения, а "публикация"
- что диаграмма окончательно утверждена.
Автор делает на диаграммах пометки, соответствующие степени их принятия читателями, а затем посылает диаграммы библиотекарю, который вносит изменения в архивной модели. Как только автор сочтет, что набор диаграмм, представляющий собой хорошо проработанную часть модели, достиг уровня "рекомендовано", он посылает их на окончательное утверждение в Комитет технического контроля. Диаграммы объединяются в папку для прохождения цикла комментарий/ответ, через который проходили более ранние версии. Комитет технического контроля представляет письменно свои замечания, автор отвечает на них, а библиотекарь обеспечивает своевременность рецензирования, рассылая напоминания.
Авторы переделывают диаграммы в соответствии с замечаниями Комитета технического контроля. Когда Комитет технического контроля сочтет, что данный набор диаграмм можно утвердить, решение об утверждении поступает к библиотекарю, который сообщает о нем автору. Позже в ходе проектирования утвержденные диаграммы печатаются и распространяются как среди участников проекта, так и среди других специалистов. Утвержденные модели печатаются также в виде документов для использования на более поздних стадиях проекта.
Титульный лист и родительская диаграмма
пХЯ.16-1. Титульный лист и родительская диаграмма с ответами автора
Титульный лист папки и диаграмма, подготовленная автором
Рисунок 12-2. Титульный лист папки и диаграмма, подготовленная автором
Титульный лист папки и диаграмма после рецензирования
Рисунок 12-3. Титульный лист папки и диаграмма после рецензирования
Титульный лист папки и родительская диаграмма
Рисунок 14-1. Титульный лист папки и родительская диаграмма
Титульный лист
13.2. Титульный листПервой страницей любой SADT-папки является титульный лист - специальная форма, в которой объединены рабочие материалы, описано содержание папки и отражающая ход ее обработки участниками проекта. Для этих целей титульный лист имеет специальные поля. На Рисунок 13-2 показан титульный лист SADT, который разделен жирными линиями на три поля. Верхнее и нижнее поля заполняются автором, среднее предназначено для библиотекаря проекта.
Кроме того, на титульном листе написаны большие цифры, разбивающие его на пять областей. Область 1 - область идентификации, - авторы заполняют, так же как на диаграммах, проставляя свою фамилию, дату, название проекта,
Индивидуальная подготовка папки
Урок 17. Индивидуальная подготовка папки
Цель
Создать SADT-папку на основе переделанной диаграммы второго уровня и ее глоссария.
Действия
1. Положите рядом диаграмму и глоссарий, убедитесь, что вся информация на этих двух листах согласована.
2. Оформите титульный лист, внесите в него идентифицирующую информацию (автор, проект, дата), название папки, а также укажите что она содержит, кому папка должна быть направлена и когда возвращена.
3. В зону комментариев титульного листа добавьте любые другие комментарии или замечания для читателей.
4. Скрепите страницы - сначала титульный лист, затем контекстную диаграмму, потом вашу диаграмму и, наконец, лист глоссария. После этого пошлите папку библиотекарю проекта.
Примечание
Используйте поле комментариев для сообщения о каких-либо особенностях вашей папки. Такие замечания часто помогают получить полезную рецензию, если обратить внимание читателей на отдельные места, вызывающие у вас озабоченность или представляющие особый интерес для вас. Они могут существенно повлиять на качество рецензии.
Образец
1. Прочтите примечание на титульном листе, относящиеся к проблеме интерфейса. Оно объясняет, как детализация выявляет новые связи между основными функциями модели "Питание семьи".
2. Обратите внимание на то, как упрощение графики прояснило содержание диаграммы А21.
3. Дробление и объединение данных для дуг покупки и продукты хорошо показывают, как можно декомпозировать SADT-дуги .
4. Определения в глоссарии теперь стали достаточно подробными для написания инструкций для подростков.


Индивидуальное построение
Урок 16. Критическая оценка декомпозиции второго уровняЦель
Критически оценить, как диаграммы Ахх детализируют блоки диаграммы Ах.
Действия
1. Просмотрите только что построенную диаграмму и попытайтесь изложить, как диаграмма отображает часть задачи питания семьи. Начните изложение с логического начала - от поступления значимого объекта (например, деньги) или порции информации (например, меню) из блока диаграммы Ах. Непрерывно сверяйтесь с диаграммой Ах, чтобы удостовериться в соответствии изложения контексту. Делайте замечания, если изложение неправильно или неточно.
2. Оцените декомпозицию внешних дуг и способ группировки функций в блоки. Посмотрите, нельзя ли дуги декомпозировать другим способом и лучше сгруппировать функции в блоки.
3. Не забывайте отмечать изменения на вашей диаграмме и на диаграмме Ах, а также уточнять вашу терминологию в процессе критической оценки.
4. Постройте совершенно новую диаграмму с учетом только что сделанных замечаний и переделайте в случае необходимости диаграмму Ах. Не забывайте проверять ICOM-связь с диаграммой Ах.
Примечание
Попытайтесь для уточнения изложения видоизменить декомпозицию или поменять названия блоков и дуг. Иногда различные декомпозиции, использующие синонимы, могут прояснить ситуацию.
Образец
1. Обратите внимание на то, что замечания 2-6 указывают места, где автор без необходимости декомпозировал данные. Слишком большое дробление данных приводит к неоправданной сложности, которая вызывает непонимание и затрудняет последующие декомпозиции.
2. Замечание 7 напоминает автору о необходимости учесть выброшенную испорченную пищу при декомпозиции блока учитывать.
Критическая оценка диаграммы верхнего уровня
ЦельДокументировать все вопросы, возникшие с диаграммой АО.
Действия
1. Внесите в эту диаграмму все исправления, соответствующие исправлениям на диаграмме А-0. Например, если на дуге управления диаграммы А-0 изменилась метка, то измените соответствующую внешнюю дугу на данной диаграмме.
2. Определите смысл данной диаграммы после исправления всех связанных с диаграммой А-0 недостатков. Оцените его адекватность. Определите недостатки нового варианта, запишите их и внесите соответствующие изменения (например, измените метки, объедините дуги).
Примечания
1. Вы сделаете меньше ошибок, если для начала перенесете на диаграмму АО все изменения, сделанные в диаграмме А-0.
2. Проговорив содержание исправленной диаграммы АО, вы скорее увидите ее недостатки.
Образец
1. Обратите внимание, что внешние дуги рецепты, общепринятые и семейные правила и режим дня объединены в новую внешнюю дугу семейные правила.
2. Объединение вкусов и диетических требований в некормленных людей привело к появлению новой внешней входной дуги как к блоку спланировать меню, так и к блоку обслуживать за столом.
3. Нумерация замечаний указывает на последовательность выявления и исправления недостатков.

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

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

Очерчивание границ объекта
ЦельСоздать очерченный контекст для модели "Питание семьи".
Действия
1. Прежде чем начать, вспомните основные понятия SADT-моделирования. Посмотрите, как они применяются к очерчиванию объекта моделирования.
2. Начните составлять список всех основных предметов, которые, по вашему мнению, являются частью системы. Дайте свободу ассоциациям. На этом этапе не беспокойтесь о точности.
3. Теперь оцените исходный список критически. Вычеркните названия, не относящихся к системе объектов. Если есть возможность, объединяйте названия в группы, проводя соединительные линии или обводя слова кружками. Добавляйте новые названия по мере развития ваших идей.
4. Остановитесь, когда поток идей иссякнет.
5. Теперь проделайте то же самое для функций системы. Для перечисления функций пользуйтесь списком данных, затем оцените новый список. Вычеркните те названия, которые не входят в систему. Группируйте сходные функции, соединяя их названия линиями или обводя кружками. Меняйте список данных по мере постижения работы системы.
6. Остановитесь, когда вы перечислите достаточное для создания диаграммы число объектов и функций.
Примечания
1. Это процесс, в ходе которого достигается общее согласие относительно границ "системы".
2. Ясность относительно входящих в систему объектов начнет появляться только после составления исходного списка, исключения из него каких-либо объектов и включения новых.
3. Иногда объекты, которые вначале были исключены, возвращаются снова в очерченный контекст.
4. Список данных изменится в ходе составления списка функций. Возможно, по мере возникновения новых идей вы начнете "метаться" между списками.
Образец
Обратите внимание на то, что по ходу составления списков данных и функций был составлен список характеристик "подростка". Это пример того, как следует документировать предположения, возникающие в ходе анализа.

Определение цели и точки зрения модели
ЦельСформулировать цель модели "Питание семьи" и определить, с чьей точки зрения будет описан этот процесс.
Действия
1. Составьте множество вопросов, на которые должна отвечать модель. Уточните это множество, определив, кто задает вопросы. Запишите по крайней мере 5-10 вопросов. Затем задайте степень точности ответа на каждый из них.
2. С помощью этого набора вопросов определите, как будет использоваться модель. Если вы не можете сформулировать, как она будет использоваться, попробуйте записать еще вопросы или попытайтесь вообразить, кто будет применять модель. В одном предложении сформулируйте, как она будет использоваться. Это станет целью модели.
3. Теперь решите, кто рассказывает о "Питании семьи". Составьте список кандидатов, чтобы убедиться, что вы выбрали самую подходящую точку зрения. Выберите из всех того, кто сможет ответить на большинство вопросов. Его ( ее ) точка зрения станет точкой зрения модели.
Примечания.
1. Составление хорошего списка вопросов приводит к пониманию того, как будет использоваться модель. Чем больше вопросов, тем лучше вы поймете, о чем должна рассказать модель.
2. В качестве точки зрения модели можно выбрать точку зрения одного человека (например, отца) или нескольких (например, родителей). Помните, что каждая точка зрения выделит свои аспекты проблемы. Лучшей будет та, с которой проще всего ответить на все вопросы.
Образец
1. Обратите внимание, что записано множество подробных вопросов о процессе питания семьи. Это приводит к формулировке цели модели как определения всего спектра действий, необходимых для питания семьи.
2. Цель модели включает такое подробное описание для того, чтобы подростки могли реализовать питание семью даже при невозможности проконсультироваться с родителями.
3. В образце приведено несколько вариантов точки зрения (например, точка зрения соседей). Однако была выбрана точка зрения родителей, потому что они "главные специалисты" в своем домашнем хозяйстве.

Переделка декомпозиции первого уровня
Урок 14. Переделка декомпозиции первого уровня
Цель
Проверить и переделать декомпозицию первого уровня и его глоссарий.
Действия
1. Во время работы держите поблизости только что переделанную диаграмму АО.
2. Начертите заново декомпозицию первого уровня. В процессе работы следите за тем, чтобы новое содержание диаграммы имело смысл. По ходу дела определяйте заново термины глоссария. Обращайтесь чаще к диаграмме АО для проверки соответствия деталей вашей диаграммы Ах родительскому блоку.
3. С помощью ICOM-кодов свяжите все внешние дуги вашей диаграммы Ах с диаграммой АО. Делая это, сравнивайте метки внешних дуг на вашей диаграмме с метками дуг, касающихся контекстного блока на родительской диаграмме.
Примечание
Переделка поможет вам упростить диаграмму. При переделке старайтесь быть также точны, как и при работе над предыдущими диаграммами, но используйте меньше слов и более простую графику.
Образец
Обратите внимание на уточнение содержания диаграммы и терминов в ее глоссарии после решения интерфейсных проблем диаграммы АО. Это иллюстрирует, как упрощение диаграммы приводит к уточнению ее и объясняет, почему опытные аналитики, прежде чем всерьез заняться декомпозициями нижнего уровня, отводят время на согласование интерфейсов более высокого уровня.

Урок 20. Переделка декомпозиции первого уровня

Цель
Решить все проблемы, связанные с интерфейсом для диаграммы Ах.
Действия
1. Последовательно перенесите на диаграмму Ах все, что связано с проблемами, возникшими при рецензировании декомпозиции второго уровня. Например, если блок 1 будет ограничивать блок 2, начертите и пометьте соответствующую ограничивающую дугу на диаграмме Ах.
2. Определите содержание диаграммы Ах после отражения в ней всех интерфейсных проблем. Посмотрите, не появятся ли еще какие-нибудь проблемы, и зафиксируйте их.
3. Решайте проблемы интерфейса по очереди. Не спешите, поскольку этот процесс включает также выявление и проверку альтернативных идей. Возвращайтесь к исходной ситуации при каждом неудачном варианте.
Примечания
1. Если вы начнете с последовательного переноса в диаграмму Ах того, что связано с каждой из проблем, это поможет вам выявить и прояснить все неувязки в этой диаграмме.
2. Проговаривая содержание диаграммы, желательно вслух, вы яснее увидите проблемы и, может быть, найдете ключ к наилучшему их решению.
Образец
1. Проблема интерфейса, возникшая в уроке 19 относительно информации о состоянии запасов, влияет на диаграмму А2 двумя способами: (а) внешняя дуга запланированное количество запасов перечеркивается; (6) блок спланировать покупки, являющийся планирующей функцией, должен запрашивать сведения о состоянии кладовой.
2. Обратите внимание на изменение уровня оценки диаграммы А2 (с "рабочей" до "проекта"). Как только интерфейсные проблемы диаграммы решены, существенно уменьшается вероятность изменения диаграммы.
Переделка декомпозиции второго уровня
Урок 21. Переделка декомпозиции второго уровня
Цель
Проверить и переделать как диаграмму Ахх, так и ее глоссарий.
Действия
1. В процессе работы держите рядом только что переделанную диаграмму Ах.
2. Полностью перечертите вашу диаграмму Ахх. В процессе переделки критически оценивайте ход изложения и при необходимости вносите изменения в глоссарий. Обращайтесь чаще к диаграмме Ах для проверки согласованности деталей на вашей диаграмме с содержанием родительского блока.
3. С помощью ICOM-кодов свяжите все внешние дуги вашей диаграммы с диаграммой Ах. Согласуйте метки внешних дуг на вашей диаграмме с метками дуг на диаграмме Ах.
Примечание
Переделка поможет вам лучше описать систему и использовать меньше графики и текста. При переделке будьте так же точны, как при работе с прежними диаграммами, но используйте меньше слов и более простую графику.
Образец
Обратите внимание на то, что после решения проблемы интерфейса, связанной с диаграммой А2 диаграмма А21 и определения ее глоссария стали значительно лучше. Упрощение диаграммы помогает упростить все детализирующие ее диаграммы. Вот почему опытные аналитики не жалеют время на решение проблем интерфейса высокого уровня перед тем, как предпринимать шаги, связанные с декомпозицией нижнего уровня.

Переделка диаграммы верхнего уровня
Урок 13. Переделка диаграммы верхнего уровня
Цель
Решить все интерфейсные проблемы, связанные с диаграммой АО.
Действия
1. Последовательно перенесите на диаграмму АО все спорные вопросы, возникающие при рецензировании декомпозиции первого уровня. Например, если блок 1 неправильно ограничивает блок 2, то поставьте красную галочку на дуге, идущей от блока 1 к блоку 2.
2. Определите новое содержание исправленной диаграммы АО. Посмотрите, не возникнут ли еще какие-нибудь спорные вопросы, и зафиксируйте их.
3. Решайте интерфейсные проблемы последовательно. Не спешите. Выявляйте и исследуйте альтернативные решения, возвращаясь к исходной ситуации после каждого неудачного варианта.
Примечания
1. Согласованный перенос всех спорных вопросов на диаграмму АО поможет вам ясно определить круг проблем, возникших с диаграммой АО.
2. Проговаривая содержание диаграммы, лучше вслух, вы яснее увидите проблемы и, может быть, найдете ключ к наилучшему их разрешению.
Образец
1. В последнем уроке была поднята одна проблема интерфейса. Информация о наличии продуктов не является внешним фактором, а приходит из пополнить запасы. Для решения этой проблемы потребовался ряд изменений: (а) дуги информация о потенциальном количестве продуктов и информация о реальном количестве продуктов вычеркнуты; (6) спланировать меню порождает недельный план питания; (в) дуга меню должна ограничивать блок приготовить; (г) входные дуги блока пополнять запасы должны ограничивать функцию спланировать меню с помощью имеющихся продуктов.
2. Обратите внимание на то, что уровень оценки диаграммы АО повысился с "рабочая версия" до "эскиз". Так часто бывает после разрешения многих интерфейсных проблем, поскольку в этом случае вероятность изменения диаграммы уменьшается.
Переделка обобщающей диаграммы и диаграммы верхнего уровня
ЦельПеределать в соответствии с критической оценкой, выполненной в уроке 6, и начертить заново диаграммы А-0 и АО.
Действия
1. Вначале перечертите диаграмму А-0. По ходу дела обдумывайте изложенное в диаграмме и проверяйте, сохранился ли в ней смысл. Перепишите, если нужно, цель и точку зрения модели. Затем отложите диаграмму А-0 в сторону, но держите ее под рукой, чтобы можно было сверять с ней при переделке диаграмму АО.
2. Перечерчивая диаграмму АО, обдумайте изложенное в ней. Обращайтесь время от времени к диаграмме А-0, чтобы удостовериться, что детали диаграммы АО согласованы с ее контекстом.
3. Свяжите все внешние дуги диаграммы АО с родительской диаграммой А-0, используя ICOM-коды. Это позволит вам избежать потери внешних дуг. Проверьте соответствие меток внешних дуг диаграммы АО меткам дуг диаграммы А-0.
Примечания
1. Сказать много с помощью немногих слов - ключ к хорошему моделированию. При переделке старайтесь сохранить точность, сокращая количество слов и упрощая графику.
2. Внешние дуги имеют важное значение для декомпозиции, потому что они связывают более общее изложение диаграммы А-0 с более подробным изложением диаграммы АО. Убедитесь в том, что они согласованы по именам и количеству в этих двух диаграммах.
Образец
1. Обратите внимание, как проясняется изложение при сокращении числа меток дуг и уточнения их смысла. Это иллюстрирует, почему "меньше - это больше" - принцип, известный аналитикам из опыта. Чем проще сообщение, тем оно доходчивее.
2. Две дуги управления внешние факторы и семейные правила разбивают пять функций на две группы. Первая дуга влияет на подготовительные функции планировать меню и пополнить запасы. Вторая дуга влияет на функции, связанные с собственно питанием:
приготовить, обслужить за столом и убирать со стола. Это пример влияния дуг управления на декомпозицию, т. е. управления объясняют, почему выбрана данная декомпозиция.

Подготовка папки
Урок 10. Подготовка папкиЦель
Собрать в SADT-папке проверенную вами диаграмму первого уровня и связанный с ней глоссарий.
Действия
1. Подготовьте как вашу диаграмму, так и глоссарий и проверьте согласованность информации.
2. Оформите титульный лист: внесите в него идентифицирующую информацию (автор, проект, дата), название папки, а также укажите, что она содержит, кому должна быть направлена и когда возвращена.
3. Добавьте в поле комментариев титульного листа другие специальные комментарии или замечания для читателей.
4. Скрепите страницы - сначала титульный лист, затем диаграмму АО, потом вашу диаграмму и, наконец, глоссарий. После этого пошлите папку библиотекарю проекта.
Примечания
1. Используйте поле комментариев для сообщения о каких-либо особенностях папки. Такие замечания часто помогают получить полезную рецензию, если попросить читателей обратить особое внимание на конкретные моменты (одно замечание может способствовать повышению качества рецензии).
2. Волнистая линия под датой на обложке папки означает, что дата возврата относится ко всем читателям. Мы будем на протяжении всех уроков последовательно использовать это обозначение на титульных листах.
Образец
1. В помещенном на титульном листе примечании содержится просьба к читателям определить термин информация о реальном количестве продуктов. Обратите внимание, как это затруднение отмечено в глоссарии.
2. Запасы, маршрут и список покупок определены в глоссарии через перечисление составляющих их частей.


Построение диаграммы верхнего уровня
ЦельОписать процесс питания семьи в виде одной диаграммы, состоящей из 3-6 важнейших функций, взаимосвязанных через информацию управления (например, меню) и материальные объекты (например, посуду).
Действия
1. Объедините 3-6 функций из списка функций очерченного контекста и расположите их по порядку доминантности. Нарисуйте и назовите блоки по одному для каждой функции в соответствии с порядком доминирования.
2. Нарисуйте и пометьте внутренние дуги, представляющие ограничения для работы каждого блока, используя составленный
список данных. Чтобы сделать это, проанализируйте функцию каждого блока и задайте соответствующий вопрос.
3. Теперь нарисуйте и пометьте дуги, представляющие ограничения "извне" системы, используя составленный список данных. Подумайте, какого рода объекты влияют на питание семьи
4. Наконец, изобразите основной поток данных, прокладывая путь от блока к блоку. Используйте список данных и представьте себе, что вы рассказываете подросткам о том, как реализуется процесс питания.
Примечание
Следите за обратными связями между блоками. Обратные связи часто возникают в системах, ориентированных на процесс (таких, как эта), в которых некоторые функции часто повторяются. Обратные связи возникают также в системах подобных рассматриваемой здесь, в которых эффективно используются побочные продукты или отходы.
Образец
1. Все планирование собрано в первом блоке. Его можно было бы распределить по всем блокам, но показалось, что на необходимость планирования следует указать подросткам сразу.
2. Обратите внимание, что бюджет (абстрактный объект) влияет на план, в то время как деньги (реальный объект) даются функции, пополняющей запас продуктов, и расходуются ею.
3. Обратите внимание, что посуда и остатки возвращаются назад от функции убирать со стола к функциям, которые их используют.
4. Дуги "механизмов" сознательно опущены, потому что они не помогают достижению цели модели.

Уточнение места диаграммы в модели
14.4. Уточнение места диаграммы в моделиПоняв непосредственный контекст диаграммы, посмотрите, как ее данные стыкуются с остальной частью модели. Для этого проследите потоки данных и управления от вершины модели вниз, вплоть до рассматриваемой диаграммы. Это обеспечит полное понимание диаграммы, потому что чтение сверху вниз дает возможность проследить последовательность функциональных деталей, которая привела к созданию диаграммы и указывает пути декомпозиции дуг.
Изучение того, как диаграмма входит в модель, - это итеративный процесс. Начинать нужно с диаграммы, представляющей вершину модели, и читать все диаграммы, связывающие рецензируемую диаграмму с контекстной диаграммой модели (т.е. с диаграммой А-0). Чтение сверху вниз сводится к чтению только блока, образующего контекст для следующей диаграммы в иерархии модели. Это чтение направлено на определение функции блока и взаимосвязей его дуг. Если к какой-либо из этих диаграмм прилагается дополнительный материал, его тоже следует прочесть. (По этой причине необходимо сохранять все предыдущие папки и версии диаграмм. Без них трудно быстро осуществить рецензирование и нельзя прочесть новую папку в аспекте предыдущей работы. Например, часто очень важно знать, что подверглось изменению на конкретной диаграмме.)
Рассмотрим диаграммы А-0, АО и А2 модели экспериментального механического цеха, представленные на Рисунок 6-1, 14-1 и 14-2. Читая эти диаграммы в указанном порядке, мы заметим, что: (1) станки и инструменты оказываются основным входом цеха с точки зрения начальника, (2) рабочий комплект, по-видимому, является единственным источником плана выполнения задания, (3) справочник стандартов качества, похоже не оказывает никакого воздействия на процессы обработки. Страницы глоссария для диаграмм А-0 и АО объяснят природу этих объектов более подробно и, следовательно, помогут прояснить, почему диаграммы именно так описывают ситуацию.
Зоны и области титульного листа SADT-папки
Рисунок 13-2. Зоны и области титульного листа SADT-папки
статус материалов и С-номера. В области 2, предназначенной для информации о содержании папки, авторы записывают номер узла и название папки, а также номер узла, название и С-номер для каждой страницы папки. В области 3 записываются фамилии тех, кому папка должна быть послана. Замечания о папке в целом автор помещает в область 4, а в области 5 он размещает специальные инструкции для библиотекаря.
Блоки имеют доминирование
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 приведены субъект и его границы (блок и прилегающие дуги) и декомпозирующая его диаграмма. Обратите внимание, что граница субъекта изображена жирной линией для того, чтобы подчеркнуть, как внешние дуги связаны с соответствующими граничными дугами. В этом примере мы изобразили на диаграмме пунктирными линиями зрительные связи только между выходными дугами и соответствующими им граничными дугами. (Другие связи легко определить зрительно.) В соответствии со схемой кодирования для Рисунок 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.
Кроме того, несмотря на адекватность начальной стратегии декомпозиции, соответствующей полному жизненному циклу продуктов, все диаграммы модели подвергались пересмотру для получения верного и согласованного изложения этого конкретного сценария. (Полную модель "Питание семьи" см. в приложении С.) Таким образом, даже если ваша исходная стратегия декомпозиции была удачной, ожидайте больших изменений в диаграмме АО.
Инновации: Менеджмент - Моделирование - Софт
- Инновационный менеджмент
- Разработка программного обеспечения
- Россия и инновации
- Управление инновационным менеджментом
- Моделирование
- Финансовое моделирование
- Системы моделирования
- Виды моделирования
- Практическое моделирование
- Пакет Mechanical Desktop
- Моделирование программ
- Софт для моделирования
- Пакет Simulink
- Моделирование в IBM
- MSC Nastran Моделирование -
- AutoCAD
- Unigraphics
- P-CAD