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

         

Что нужно помнить при опросе



7.4. Что нужно помнить при опросе

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

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

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

Следующие рекомендации, помогают поддерживать непрерывность потока и достоверность информации, поступающей от эксперта:

делайте паузы, пока эксперт думает. Дайте эксперту возможность решать, что сказать дальше. Никогда не перебивайте, подсказывая ответ или задавая другой вопрос;

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

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

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



Диаграмма А-О



Рисунок 8-4. Диаграмма А-О


Иногда оказывается, что определить цель и точку зрения в самом начале моделирования чрезвычайно трудно. В таком случае мы советуем составить списки данных и функций и, может быть, нарисовать диаграмму АО. Сделав это, вы начнете чувствовать систему и установите, описывает ли ее диаграмма АО с нужной точки зрения. Может быть, вам придется нарисовать несколько альтернативных АО-диаграмм, прежде чем появится достаточная уверенность для того, чтобы осуществить выбор правильной цели и точки зрения. Мы настоятельно рекомендуем именно такую последовательность действий, если вы не убеждены в правильности цели и направленности своей работы. Уроки к I и II частям демонстрируют, как составление списков начальных данных и функций служит ценной преамбулой для определения цели и точки зрения модели.



Диаграмма после критики рецензента



Рисунок 10-1. Диаграмма после критики рецензента


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

10.2.1. Вопросы о блоках



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

Представляют ли блоки содержательную декомпозицию функции?

Не выглядит ли диаграмма запутанной?

Все ли блоки соответствуют точке зрения модели ?

Несут ли блоки достаточный объем новой информации ?

Все ли блоки имеют одинаковый уровень детализации ?

Соразмерна ли сложность всех блоков?

Отражает ли каждый блок какой-либо аспект блока родительской диаграммы?

Например, на Рисунок 10-1 нет замечаний, связанных с блоками данной диаграммы. Однако для блоков определить степень выполнения задания и обработать на станке и собрать можно было бы выбрать другие названия. Кроме того, имя блока выбрать инструменты

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

10.2.2. Вопросы о связи с родительской диаграммой

Теперь зададим вопросы о связи диаграммы с ее родителем. При этом мы проверим, как диаграмма вписывается в модель.

Все ли внешние дуги имеют ICOM-коды?

Все ли ICOM-коды соединяют дуги с одним и тем же значением?



Исправление взаимосвязанных диаграмм



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 приведен другой способ.) Выполнив декомпозицию, вернитесь назад к исходному блоку родительской диаграммы и соедините каждую внешнюю дугу новой диаграммы с соответствующей дугой, касающейся этого блока. Это позволит избежать пропуска необходимого соединения. Мы советуем использовать оба приема для обеспечения двойного контроля интерфейсных соединений диаграмм.