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