Глава 10
Home Up Глава 17. Завершение моделирования Глава 7 Глава 8 Глава 9 Глава 10 Глава 11  

© Рубцов С.В. 2000

Глава 10. Проверка диаграммы автором

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

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

10.1. Процесс авторской проверки

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

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

  1. выявление недостатков новой диаграммы;

  2. создание альтернативных декомпозиции;

  3. корректировка новой диаграммы;

  4. корректировка всех связанных с ней диаграмм.

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

10.2. Выявление недостатков новой диаграммы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 10-2. Примеры расположения дуг

Дополняют ли названия внешних дуг информацию, сообщаемую диаграммой?

Не противоречит ли смысл анализируемой диаграммы смыслу родительской диаграммы ?

Замечания 3 и 4 на рис. 10-1 исправляют ошибку в названии дуги (12) станки и инструменты, а замечания 7 и 8 отражают развитие спора автора с самим собой относительно природы отходов и сырья - проблема, которая нередко возникает в связи с производственными процессами.

10.2.3. Вопросы о внутренних дугах

Вопросами о внутренних дугах обычно заканчивают поиск ошибок в диаграмме. Теперь, после разрешения основных вопросов, следует проанализировать детали диаграммы. Мы можем задать вопросы типа:

Не слишком ли много внутренних дуг?

Нет ли блоков без дуг управления?

Нет ли блоков без выходных дуг?

Правильно ли отражают дуги, представляющие ограничения, доминирование блоков?

Верно ли решение диаграммы?

Все ли важные обратные связи отражены?

Все ли ошибочные ситуации учтены?

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

10.3. Создание альтернативных декомпозиций

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

10.3.1. Альтернативная декомпозиция и объединение функций

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

выполнять строго определенные функции;

иметь одинаковую сложность;

иметь одинаковый уровень детализации;

просто соединяться с другими блоками диаграммы;

воздействовать на управления, входы и выходы с определенным смыслом;

работать вместе с другими блоками для выполнения функции диаграммы.

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

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

10.3.2. Альтернативное объединение и разъединение дуг

Иногда можно обнаружить две дуги, которые начинаются и кончаются в одних и тех же местах диаграммы. То есть обе дуги начинаются и кончаются у одних и тех же блоков (см. рис. 10-2). В этом случае посмотрите на эти две дуги внимательно. Может оказаться, что их следует объединить в одну. Если вы можете придумать хорошее наименование, объединяющее названия этих дуг, объедините их. Если наличие двух дуг имеет определенный смысл, не объединяйте их. Объединение скрывает детали, поэтому не делайте это механически. Исчезновение деталей повредит диаграмме. Например, замечания 7 и 8 на рис. 10-1 отражают попытку объединить брак и сырье, отвергнутую из-за того, что они оказались различными вещами.

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

Рис. 10-3. Пересмотренная диаграмма

10.3.3. Тестирование

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