ТЕМА 14. ПРОЦЕСС МОДЕЛИРОВАНИЯ В SADT
1. SADT-методология
Методология системного анализа и проектирования или, далее, SADT, характеризуется инструментарием(специализированным графическим языком) и самим процессом моделирования, который, вобщем и целом, предполагает сбор информации, ее документирование и представление в виде модели, а также уточнение информации в процессе итеративного рецензирования (лат. Iteratio - повторение).
SADT, как методология, объединяет в себе:
- итеративный процесс создания модели;
- язык ссылок для диаграмм, правила ссылок, адресованные к различным частям модели, облегчающие оформление замечаний при рецензировании модели;
- нотации, управляющие конфигурацией модели и гарантирующие, что новые диаграммы будут корректно встроены в иерархическую структуру модели;
- язык функций моделей с графическим языком описания системы, позволяющий декларативно определять правила работы системы
- рекомендации по реализации аналитических проектов.
- эксперты обеспечивают источники информации;
- аналитики (авторы) создают диаграммы и модели;
- «библиотекарь» координирует обмен письменной информацией;
- разработчики (читатели) рецензируют и корректируют модель;
- служба («Комитет») технического контроля принимает и утверждает модель.
- анализ объектов, определяющих «портрет» изучаемой системы;
- анализ на этой основе функций системы;
- создание диаграммы, объединяющей (до разумного предела) сходные объекты и функции.
- В этом главное преимущество методологии перед аналогичными. Естественный язык позволяет эксперту свободно описывать функционирование системы, пользуясь знакомой и удобной терминологией письменно и в беседе. Пунктуация и графические обозначения SADT обладают высокой степенью точности. Графика SADT устраняет неоднозначность описаний, выполненных экспертом на естественном языке, не жертвуя качеством.
- Неоднозначность устраняется также в результате декомпозиции и уточнения диаграмм высокого уровня, когда полученные диаграммы не обеспечивают максимально точное описание системы. SADT- модель придает строгий смысл изложенному, организуя описание системы в иерархическую структуру, подобно структуре, образуемой главами и разделами книги, в том числе и данной книги.
- SADT организует фразы, отражающие основные направления изучаемых процессов, с помощью иерархических диаграмм, где блоки упорядочены по принципу доминантности, взаимосвязанные связанные факты собраны вместе и излагаются доступным образом без повторений и противоречий.
- выделение одних (важнейших) аспектов системы и игнорирование других;
- точность и согласованность терминологии.
- Опросы для сбора фактов – используются, когда необходимо понять, как функционирует система в настоящее время.
- Опросы для выяснения проблем – необходимы, когда надо понять - что в системе «не так».
- Совещания – необходимы для принятия решения о том, как должна функционировать в идеале система и в отношении способов устранения выявленных недостатков.
- Диалоги аналитик - рецензент в процессе SADT - моделирования
- представиться и сформулировать цель встречи
- обговорить возможность ведения записей
- заверить собеседника в конфиденциальности беседы
- о возможности внести правки в ее запись и, наконец,
- сформулировать первый вопрос
- Можете ли Вы привести пример?
- Когда это произошло?
- Есть ли у этого правила исключения?
- Можете ли Вы привести какие-нибудь цифры в подтверждение Ваших слов?
- Уже получена достаточная информация
- Слишком много ненужной информации
- Обилие информации Вас подавляет
- Эксперт устал
- В процессе беседы возникают конфликты
- Подытожить основные пункты и сделать обзор полученных сведений;
- выделить те, которые могут быть опущены или неверно истолкованы;
- договориться о времени следующей встречи, если она необходима, и получить рекомендации для ближайших опросов;
- поставить эксперта в известность, когда и как он может просмотреть записи, и как Вы собираетесь их использовать в дальнейшем.
- Выяснить, какое место занимает эксперт в своей организации, и является ли предоставляемая им информация фактом, мнением. Задавайте уточняющие вопросы, обращая внимание на числа и количества (объемы, затраты).
- Уточнить источники и назначение данных, их формат, сроки хранения, предполагаемое использование, требуемые изменения и т.д.
- диаграмма А0 (декомпозиция) - отражает важнейшие функции и объекты системы;
- диаграмма А-0 (объединение) - трактует систему как «черный ящик», дает ей название и определяет наиболее важные входы, управления, выходы и, по возможности, механизмы.
- расположить блоки на странице в соответствии с их доминированием (по степени важности или по порядку следования) в виде ступеньки до правого нижнего угла;
- нарисовать основные дуги, представляющие ограничения, проверяя, действительно ли каждая из них соответствует декомпозиции объекта в диаграмме А0;
- нарисовать внешние дуги, т.е. дуги, представляющие данные, поступающие из непосредственного окружения диаграммы. Нужно помнить, что потеря такой дуги - ошибка интерфейса, одна из самых распространенных в системном анализе;
- нарисовать оставшиеся дуги и назначения им соответствующих ICOM -кодов.
- выбор блока диаграммы
- анализ объекта, определенного этим блоком
- создание новой диаграммы
- выявление недостатков новой диаграммы
- создание альтернативных декомпозиций
- корректировка новой диаграммы
- корректировка всех связанных с ней диаграмм
- Представляют ли блоки содержательную декомпозицию функций?
- Не выглядит ли диаграмма запутанной?
- Все ли блоки соответствуют точке зрения модели?
- Несут ли блоки достаточный объем новой информации?
- Все ли блоки имеют одинаковый уровень детализации?
- Соразмерна ли сложность всех блоков?
- Отражает ли каждый блок, какой-либо аспект блока родительской диаграммы?
- Все ли внешние дуги имеют ICOM - коды?
- Все ICOM - коды соединяют дуги с одним и тем же значением?
- Дополняют ли названия внешних дуг информацию, сообщаемую диаграммой?
- Не противоречит ли смысл анализируемой диаграммы смыслу родительской диаграммы?
- не слишком ли их много?
- нет ли блоков без дуг управления?
- нет ли блоков без выходных дуг?
- Правильно ли отражают дуги, представляющие ограничения, доминирование блоков?
- Верно ли решение диаграммы?
- Все ли важные обратные связи отражены?
- Все ли ошибочные ситуации устранены?
- выполнять строго определенные функции;
- иметь одинаковую сложность;
- иметь одинаковый уровень детализации;
- достаточно просто объединяться с другими блоками диаграммы;
- воздействовать на управления, входы и выходы с определенным смыслом;
- совместно с другими блоками работать на реализацию функции диаграммы.
- переопределение расположения блоков. Обычно это делается для более удобного расположения дуг, даже в нарушение принципа «доминантности» - от левого верхнего угла к правому нижнему;
- изменение названия блоков в направлении углубления их содержательности;
- изменение расположения дуг с целью улучшения «читабельности» модели. При этом надо уделить большое внимание их названиям, опять же выбирая компромиссное решение между длинным, но более информативным названием и коротким, соответственно, менее информативным;
- создание списка пояснений. Они должны раскрывать смысл выбранных названий дуг, а не прикрывать недостатки небрежно составленной диаграммы.
2. SADT – моделирование
SADT-моделирование – процесс, представляющий собой итеративную последовательность шагов, приводящих к точному описанию системы. На рис. 14.1 рассмотрен процесс создания SADT-модели. Эффективность этого процесса обусловлена, в конечном счете, его разумной организацией:
Организация процесса подсказывает естественный путь выполнения согласованной и достоверной структурной декомпозиции, что является ключевым моментом в квалифицированном (системном) анализе системы.
Рис. 14.1. Процесс создания SADT-модели
3. Этапы моделирования в SADT
Этап 1. Сбор информации: документы, опрос, интервью - блок А1 (см. рис. 14.1).
Первым шагом здесь всегда является определение потребности в информации, предваряющим выбор непосредственно источника. Работа с источником должна быть целенаправленной. На этом этапе графический язык SADTиспользуется как средство для первоначальных набросков, служащих основой для построения диаграмм.
Этап 2. Создание модели - блок А2 (см. рис. 14.1).
На этом этапе аналитик документирует полученные им знания о данной предметной области, представляя их в виде одной или нескольких SADT- диаграмм. Процесс создания модели является естественным и эффективным - как реализация последовательности действий:
Этап 3. Подготовка материалов для критического анализа (рецензирования) диаграмм и моделей - блок А3 (см. рис. 14.1).
Исполнителем здесь выступает не обязательно «библиотекарь» в известном нам смысле этого слова. Это может быть и целая служба(отдел, департамент), если речь идет о большом проекте.
Этап 4. Итеративное рецензирование - блок А4 (см. рис. 14.1).
Моделирование в SADT - прикладнаянаука. Это означает, что модели должны создаваться исходя из конкретной ситуации и подвергаться последовательному улучшению до тех пор, пока они не будут отвечать на вопросы аналитика, ради чего модели и создаются. Это происходит в процессе многократного взаимодействия Аналитик - Эксперт (устного и письменного), традиционно называемого «рецензированием», или «циклом автор - читатель».
Этап 5. Контроль завершенности (соответствия конечным целям проекта) и принятие модели - блок А5 (см. рис. 14.1).
4. Комментарии
Этап 4 - Рецензирование (блок А4, см. рис. 14.1).
Цикл «автор-читатель» начинается в тот момент, когда автор принимает решение о распространении информации о какой-либо части своей работы с целью получения отзыва о ней. Материал распространяется в виде «папок», содержимое которых критически обсуждается другими специалистами в течение определенного времени. Простота графическогоязыка SADT делает этот процесс эффективным. Сделанные замечания также помещаются в папку в виде нумерованных комментариев, отправляются автору и служат, таким образом, обратной связью, позволяющей быстро обмениваться идеямии чрезвычайно ценной по этой причине для успеха всей работы в целом. Автор отвечает на каждое замечание (устно или письменно) и обобщает критику, содержащуюся в замечаниях.
Модель SADT редко создается одним автором. На практике над различными частями модели могут совместно работать множество авторов, потому что каждый функциональный блок модели представляет отдельный субъект, который может быть отдельно проанализирован и декомпозирован. Методология SADT поддерживает как «параллельный», так иасинхронный» просмотр модели, поддерживая, таким образом, коллективную работунад проектом. Модель по своей структуре сама координирует работу коллектива авторов, а процесс моделирования в целом координирует совместное рецензирование возникающих идей.
Этап 3 - Роль « библиотекаря» (блок А3, см. рис. 14.1).
В SADT роль наблюдателя за процессом рецензирования и главного координатора процесса моделирования в SADT в целом отводится именно этому механизму, который обеспечивает своевременное и согласованное распространение рабочих материалов, контроль их движения и сроков ответов на замечания. В конечном счете, именно этот механизм обеспечивает официальную публикацию одобренных и принятых к использованию моделей.
Этап 5 - Роль Комитета технического контроля (блок А5, см. рис. 14.1)
Это специально созданная группа людей ответственна за то, чтобы выполняемая работа соответствовала конечным целям всего проекта. На основе рецензирования Комитет определяет текущее направление развития проекта и выработку предложений по его корректировке. Модели, которые достигли желаемого уровня детализации и точности с точки зрения технических требований направляются членам Комитета для обсуждения и утверждения.
5. Резюме
SADT – это методология, потому что она интегрирует процесс моделирования, управление конфигурацией проекта, использование дополнительных языковых средств и руководство проектом со своим графическим языком. Процесс моделирования может быть разделен на несколько этапов: опрос экспертов, создание диаграмм и моделей, распространение документации, оценка адекватности моделей и принятие их для дальнейшего использования. Этот процесс хорошо отлажен, потому что при разработке проекта специалисты выполняют конкретные обязанности, а библиотекарь обеспечивает своевременный обмен информацией. Успех SADT-проектов объясняется также и тем, что Комитет технического контроля оценивает модели с точки зрения их реального использования.
ТЕМА 15. SADT - УТОЧНЕНИЕ КОНЦЕПЦИИ МОДЕЛЕЙ
1. Главное преимущество методологии SADT
Модели SADT структурируют естественный язык экспертов с помощью своих графических средств.
2. Точка зрения модели SADT
Точка зрения модели SADTопределяет расстановку акцентов и терминологию в изучаемом процессе. Выбирая точку зрения модели и строго придерживаясь ее, аналитик достигает двух важных целей, определяющих согласованность изложения:
Точку зрения нужно понимать как «вид на систему» с позиции человека, определяемой конкретной ролью, выполняемой этим человеком в моделируемой системе. Точка зрения руководителя предприятия отличается от точки зрения руководителей подчиненных ему служб и, тем более, рядовых исполнителей. Соответствующие SADT- диаграммы выглядят по-разному. Каждой роли соответствует свой жаргон и, соответственно, своя терминология.
Одна из сложнейших задач аналитика, решение которой гарантирует в конечном счете успех анализа – постоянно придерживаться в исследовании конкретной системы рамок выбранной точки зрения, не поддаваясь искушению изложить все выявленные подробности о работе системы, и в то же время выделяя те из них, которые существенны с точки зрения выбранного вида на систему.
Стратегия разделения проблем осуществляется в процессе моделирования, когда аналитик выбирает «точку зрения» для следующей модели. Например, планирование суточного производства продукции на предприятии естественным образом заставляет придерживаться точки зрения мастера смены. Когда речь идет о планировании обработки какой-то сложной детали, то естественно принять точку зрения рабочего. Если создать эти две модели, то они, конечно, будут содержать перекрывающуюся информацию, но в каждой из них акценты будут расставлены правильно, соответственно поставленным целям анализа, подобно прожектору, освещающему предмет нашего интереса в каждый данный момент.
3. Декомпозиция в ходе моделирования
Декомпозиция – процесс создания диаграммы, детализирующей определенный блок и связанные с ним дуги. Результатом декомпозиции является описание, которое представляет «расчленение» так называемого родительского блока на меньшие и более частные функции.
Термин анализ означает разложение на составляющие, что и объясняет титульное название изучаемого предмета: «Методология структурного анализа и проектирования», по первым буквам английского названия - SADT. Но декомпозиция - больше, чем анализ. Это еще и синтез. Декомпозиция, как понятие, предусматривает начальное разделение объекта на более мелкие части и последующем соединении их в более детальное описание объекта.
SADT - модель в целом, таким образом, показывает результат взаимодействия анализа и синтеза. Следуя правилам SADT, аналитик производит последовательно следующие действия:
1. производит анализ и синтез системных объектов, определяя, как именно подверглись разбиению объекты, входящие в систему;
2. просматривает список данных, объединяя, если нужно, его составляющие, чтобы выделить те, которые будут выступать в качестве управляющих;
3. производит такой же анализ функций системы, но уже в соответствии с проанализированным списком данных, создавая список данных для поддержки дальнейшей детализации;
4. объединяет сформированные функциональные части в разумные и сбалансированные наборы из 3-6 блоков в конечном счете подготавливая черновой вариант SADT - диаграммы.
5. выполняет снова анализ и синтез системы, в результате чего формируются наборы объектов, которые представляются дугами, соединяющими блоки.
Такая последовательность действий при выполнении декомпозиций имеет в SADT большое значение, так как анализ объектов оказывает большое влияние на анализ функций системы, что является конечной целью моделирования. Действительно, когда декомпозиция произведена, блоки диаграммы активизируются (оживают!) главным образам благодаря дугам управления. Дуги управления существенно влияют на качество и обоснованность результирующей декомпозиции.
Замечание
Правило «от трех до шести» блоков на одной диаграмме - уникальная особенность SADT. Хорошо известно, что эффективность краткосрочной памяти человека ограничена восприятием примерно семи категорий, каждая из которых может содержать около семи отдельных единиц информации, что и учитывает SADT. Имя блока и его граничные дуги представляют собой единицы информации, проявляющиеся в процессе чтения диаграммы. Таким образом, SADT - диаграммы создаются так, чтобы не подвергать испытанию возможности краткосрочной памяти человека.
Хотя возможности анализа и обработки информации у каждого человека различны, можно высказать определенные выводы в отношении изучаемой методологии, а именно - Диаграммы из 4 - 5 блоков с не более чем пятью дугами, касающимися каждого блока, близки к оптимальным по объему информации, которую можно эффективно донести и до эксперта, и до широкой аудитории.
4. Стратегии декомпозиции.
Стратегий декомпозиции много - им посвящены статьи и целые монографии. Одна из самых распространенных - стратегия функциональной декомпозиции, потому что она заставляет аналитика обдумывать, что делает система, независимо от того, как она работает, поэтому можно рекомендовать такой подход всегда, когда это возможно.
Эффективной для систем команд и управления может оказаться декомпозиция в соответствии с уже известными стабильными подсистемами. Это приводит к созданию набора моделей, по одной модели на каждую подсистему или важную компоненту. Разложение на подсистемы рекомендуется делать всегда, когда разделение системы на основные части не меняется (например, ходовая часть и двигатель в автомобиле).
Стратегия, базирующаяся на понятии жизненного цикла, может оказаться эффективной для систем, преобразующих свои входы в конечный продукт (очистка нефти, питание семьи и т.д.). Можно рекомендовать эту стратегию, когда целью системы является улучшение одного из основных входов и когда можно легко выделить последовательные стадии этого улучшения.
Стратегия по физическому принципу может быть рекомендована всегда, когда ничего другого не подходит (работа промышленного предприятия, модели обучения и т.д.). Результатом такого сорта декомпозиции будет выделение функциональных стадий, этапов завершения или шагов выполнения.
Выбор стратегии декомпозиции лучше производить по методу «проб и ошибок» в начале работы над моделью, когда важнее ясность изложения, чем его правильность. При этом надо помнить, что даже если исходная стратегия декомпозиции была удачной, всегда следует ожидать изменений, часто больших изменений, в диаграмме А0.
Момент прекращения декомпозиции определяется требованиями точности. SADT–модели должны не просто отвечать на определенный набор вопросов. Ответы на них должны иметь заданную степень точности. Поэтому декомпозиция в SADT прекращается, когда диаграммы, образующие нижний уровень модели, достаточно детализованы для достижения цели модели.
5. Резюме
1. SADT - модели организуют естественный язык в точные и сжатые модели, устраняя неоднозначность в описании системы.
2. Выбор точки зрения означает необходимые акценты при моделировании системы и использование соответствующей терминологии.
3. Декомпозиция - процесс, используемый для построения модели и включающий этапы как анализа, так и синтеза.
4. В SADT анализ объектов системы должен предшествовать анализу функций системы.
5. Выбор стратегий декомпозиции - итерационный процесс и может потребовать в итоге многих изменений.
Декомпозиция прекращается, когда модель становится точной настолько, что может отвечать на вопросы, составляющие ее цель.
ТЕМА 16. ПОДГОТОВКА К ПРОЦЕССУ МОДЕЛИРОВАНИЯ
1. Сбор и анализ информации.
Процесс сбора информации – важнейший этап в работе аналитика, содержание которого состоит в том, что он работает с документами и экспертами с целью получения информации о системе, моделирование которой он должен осуществить. Это процесс пошаговый и он тоже может быть описан в терминах SADT - для повышения эффективности этой работы. Источники информации в целом могут включать следующие позиции:
1. Документы. Они обычно доступны и работа с ним может проводиться в подходящем для аналитика темпе; кроме того, их можно накапливать и обобщать, что часто необходимо для последующей работы.
2. Изучение работы системы при ее функционировании. Хорошая возможность для получения нужной информации и ее нужно использовать всегда, когда есть такая возможность, потому что в этом случае часто возникают вопросы, которые никогда не могли бы «всплыть» при изучении документов. Минус здесь состоит в том, что при длительном наблюдении возникает эффект «привыкания» и снижение остроты взгляда эксперта, что может помешать увидеть альтернативные пути описания функций системы.
3. Использование собственного опыта. Полезно и даже необходимо в тех случаях, когда аналитик специализируется на анализе систем определенного типа ( производство, телефонная сеть, бухгалтерия, банки и т.д.) В ходе своей деятельности он приобретает фундаментальные знания в соответствующей предметной обрасти и сам превращается в источник ценной информации. Сочетание собственных фундаментальных знаний с анализом специфики ситуации, которую может оценить эксперт в этой конкретной области обычно приносит замечательные результаты.
4. Анкетирование. Обычно этот способ используется для того, чтобы опросить большие группы экспертов в сжатые сроки, тем более, если одна из задач заключается в оценке работы системы с разных точек зрения. Ценность получаемой при этом информации напрямую зависит от четкости и конкретности задаваемых вопросов, что возможно лишь тогда, когда Вы уже достаточно глубоко познакомились с системой. На начальном этапе сбора информации этот способ малоэффективен.
Отметим, что получаемая в процессе работы аналитика информация о работе системы должна обрабатываться в «режиме реального времени» - только тогда каждый последующий шаг сбора данных можно сделать программируемым и эффективным и с точки зрения уяснения общих принципов функционирования системы и ее деталей. Здесь можно было бы рекомендовать аналитику придумывать в процессе работы собственное описание работы системы и предлагать экспертам для корректировки. При этом, однако, необходимо, чтобы взаимопонимание между аналитиком и экспертами было достаточно глубоким, чтобы эксперты были готовы к восприятию новых возможностей. Конечно, здесь важны и психологические аспекты.
2. Организация процесса опроса для сбора информации.
Распространены следующие типы опросов:
3. Три этапа в процессе опроса.
1) Подготовка, необходимая для минимизации времени и максимизации ценности получаемой информации при работе с экспертом ( например, Президентом компании). Обычно здесь имеются в виду следующие необходимые шаги.
Выбор собеседника. Важность этого момента трудно переоценить. Лучше выбирать нескольких собеседников, соответственно различным иерархическим уровням организации, реально обладающих нужными знаниями.
Согласование времени и места встречи. Необходимо ответственно отнестись к этому вопросу, увязав его с деятельностью других членов группы, с которыми обычно аналитику приходится работать. Необходимо иметь ввиду, что продолжительность встречи не должна превышать часа. Это именно то время, когда информационный поток иссякает. Если вопросов много, то необходимо найти возможность провести несколько встреч, продолжительностью менее часа каждая.
Подготовка предварительной программы работы - должна быть проведена немедленно после того, как назначена встреча. Необходимо определить круг обсуждаемых проблем, тщательно продумать вопросы, ответы на которые необходимы для продолжения работы.
Предварительный анализ имеющийся информации - необходим для выделения круга вопросов, при подготовке которых тоже может быть использована SADT - модель.
Согласование с коллегами из Вашей рабочей группы - необходимо, потому что они заняты той же работой, что и Вы. Не исключено, что они уже встречались с намеченными Вами экспертами и по той же теме - тогда перед своей встречей надо побеседовать с ними.
2) Проведение опроса. Здесь самое важное – правильно организовать и поддерживать поток информации от эксперта к Вам. Начиная разговор, необходимо:
Лучший способ поддерживать поток информации это задавать вопросы, которые уточняют и подтверждают ответы, например:
Общая линия поведения должна сводиться к тому, чтобы дать возможность эксперту говорить то, что он хочет сказать, а не то, что Вы хотите услышать. Желательно записывать то, что Вам говорят и просить подвести итог или дать пояснения. Категорически нельзя возражать, задавать наводящие вопросы или вопросы, на которые можно дать краткий ответ «да» или «нет». Необходимо следить за возникновением ситуаций, каждая из которых является достаточной причиной для завершения беседы:
3) Завершение опроса.
Заканчивать беседу нужно плавно. Необходимо:
Сразу после встречи с экспертом необходимо оформить полученные материалы - чтобы минимизировать потерю важной информации. Составить SADT - глоссарий как средство определения новых понятий и терминологии. Набросать диаграмму, какие еще следует задавать вопросы и какие области исследовать. Оформите диаграммы и глоссарии и отправьте эксперту.
4. Рекомендации аналитику
Как улучшить свое умение собирать информацию?
Перед беседой:
В процессе беседы:
Делайте паузы, пока эксперт думает, дайте ему возможность решать, что сказать дальше. Никогда не перебивайте, подсказывая ответ или задавая другой вопрос. Старайтесь не задавать наводящих вопросов, вопросов - подсказок, вопросов, содержащих ответ, потому что это не позволяет эксперту делиться своими знаниями. Старайтесь не задавать контрольных вопросов, так как это прерывает поток информации.
ТЕМА 17. СОЗДАНИЕ ФУНКЦИОНАЛЬНЫХ МОДЕЛЕЙ И ДИАГРАММ
1. Начало моделирования
Начало моделирования означает создание диаграмм А0 и А-0, которые дают полное представление о системе с минимальной степенью детализации:
Существует разные точки зрения, выделяющие основные этапы моделирования. Мы рассмотрим наиболее часто встречающуюся.
Подготовка – означает выбор цели модели, точки зрения, с которой будет рассматриваться модель (руководитель, исполнитель, контролер), собственно модель (например, модель процесса дистанционного образования) и предполагаемое использование построенной и проверенной модели.
Сбор информации – комбинация из следующих основных видов деятельности: чтение документов, наблюдение за существующими операциями, анкетирование экспертов или группы экспертов, использование собственных знаний, попытка создания собственного описания функционирования системы.
Декомпозиция системы – процесс, включающий: анализ входных и выходных данных для всей системы, составление списка основных типов данных и основных функций, учитывая нормальные и аномальные ситуации, обратные связи и случаи потенциальных ошибок.
2. Выбор цели и точки зрения
Цель и точка зрения модели определяются на самой ранней стадии создания модели. Выбор цели осуществляется с учетом вопросов, на которые должна ответить модель, а выбор точки зрения - в соответствии с выбором позиции, с которой описывается система. Иногда цель и точку зрения можно выбрать до того, как будет сделана первая диаграмма. Например, цель модели экспериментального механического цеха можно определить заранее, потому что она очевидна в постановке задачи: "понять обязанности всех работающих в цехе так, чтобы объяснить их новому персоналу". Настоятельно рекомендуется, как можно раньше определять цель и выбирать точку зрения новой модели. Но вначале попробуйте записать ряд специфических вопросов, на которые модель должна ответить, чтобы убедиться, что цель сформулирована точно, и рассмотрите систему с нескольких различных точек зрения, прежде чем выбрать одну из них. На рис. 17.1 показано, как это делается для задачи, связанной с экспериментальным механическим цехом.
Иногда оказывается, что определить цель и точку зрения в самом начале моделирования чрезвычайно трудно. В таком случае советуют составить списки данных и функций, и, может быть, нарисовать диаграмму АО. Сделав это, вы начнете чувствовать систему и установите, описывает ли ее диаграмма АО с нужной точки зрения. Может быть, вам придется нарисовать несколько альтернативных АО-диаграмм, прежде чем появится достаточная уверенность для того, чтобы осуществить выбор правильной цели и точки зрения.
Рис. 17.1. Определение целей и точки зрения
3. Составление списка данных
Основное правило SADT-моделирования – заключается в том, что сначала составляется список данных и лишь затем – список функций.
Составление диаграммы начинается с выделения всех основных групп и категорий данных, используемых и генерируемых системой. Здесь необходимо соблюдать чувство меры - плохо, когда создаваемый список слишком краток, но также плохо, когда он переполнен.
В современных аналитических методах слишком часто уделяется повышенное внимание функциям в ущерб данным. Обсуждаемый этап важен еще и потому, что позволяет выполнить более глубокий анализ функционирования системы, избегая непродуманной функциональной декомпозиции в самом начале, когда определение цели и даже точки зрения является объективно «сырым».
Глубокий анализ данных позволяет идентифицировать ограничения, определяющие функциональную декомпозицию, потому что SADT - диаграммы сами по себе представляют ограничения, накладываемые на функции. Без этих ограничений функциональная SADT - диаграмма представляет собой не более чем схему потоков данных. Без ограничительных дуг диаграммы не смогут объяснить пользователю, почему аналитик выполнил ту или другую декомпозицию. Обратите внимание, что на рис. 17.2 в список вошло много деталей, хотя аналитик пытался создать диаграмму цеха как единого целого. SADT - диаграмма, благодаря тому, что в ней различаются входные дуги и дуги управления, как раз и дает объяснение его выбору.
Рис. 17.2. Подготовка списка функций и списка данных
4. Составление списка функций
Список функций опирается на составленный список данных, обладающий требуемый полнотой. Необходимо каждой функции поставить в соответствие тип и перечень данных, учитывая при этом, что при выполнении какой-либо конкретной функции системы могут быть использованы различные типы данных. Возможно объединение сходных типов данных в так называемые «метатипы».
Список функций во время этой работы должен находиться на одной странице со списком данных. Обратите внимание на то, сколько объединений сделано на рис. 17.2, чтобы собрать несколько детальных функций в одну более общую. Не следует пытаться объединять функции между собой, не проанализировав достаточно глубоко их связи с соответствующими типами данных. Только после этого можно приступать к «агрегированию» функций, проследив, чтобы выделенные группировки имели один и тот же уровень сложности, а также примерно одинаковый объем функциональности.
5. Построение диаграммы А0
Рекомендуется следующий порядок построения SADT - диаграммы А0:
Таким образом, все данные, входящие в систему, или выходящие из нее, оказываются учтенными на диаграмме. На рис. 17.3 показана обработка сырья и заготовок в соответствии с планом. выполнения задания и контроль качества выполнения задания (иногда неоднократный) и в соответствии с чертежом.
Следует предостеречь начинающего аналитика от, казалось бы, естественного желания построить диаграмму набело. Практически это невозможно. Первые наброски –это всегда черновики, в процессе работы с которыми ситуация начинает проясняться. На такой порядок работы и надо всегда ориентироваться.
Рис. 17.3. Диаграмма АО
6. Диаграмма А-0, как обобщение диаграммы А0
Этот этап является последним важным шагом начального этапа моделирования. Для любой SADT- модели А0 - диаграмма есть родительская диаграмма, содержащая контекст модели, т.е. блок с набором входных дуг, дуг управления и выходных дуг. Диаграмма А-0 имеет несколько предназначений. Во-первых, она объявляет общую функцию всей системы. Например, блок на рис. 17.4 с названием изготовить нестандартную деталь ясно указывает, что делает цех. Во-вторых, она дает множество основных типов или наборов данных, которые использует или производит система. Например, справочник стандартов качества позволяет осуществлять контроль качества при выполнении задания. В-третьих, А-0-диаграмма указывает взаимоотношения между основными типами данных, проводя их разграничение. Например, рабочий комплект рассматривается как входное данное, нечто, изменяемое процессом, в то время как справочник стандартов качества контролирует выполнение цехом заданий. Таким образом, А-0-диаграмма представляет собой общий вид изучаемой системы.
При создании диаграммы А-0 используется информация, уже зафиксированная на диаграмме А0, но она представляет собой уже один единственный блок, название которого совпадает с названием диаграммы А0 с изображением всех внешних. Под этим блоком пишется цель и точка зрения модели.
Построение диаграммы А - 0 завершает начальный этап моделирования. Диаграммы А0 и А-0 представляют совместно законченную картину, потому что они отражают все основные функции системы, ее входы, выходы, «рычаги» управления и механизмы исполнения основных функций.
Рис. 17.4. Диаграмма А-О
7. Резюме
На начальном этапе моделирования SADT-аналитик проводит подготовку к работе, собирает информацию, декомпозирует объект и обобщает эту декомпозицию. В процессе подготовки выбирается цель и точка зрения модели, намечается предполагаемое использование модели. Подготовка должна максимально облегчить сбор информации. Декомпозиция означает, во-первых, составление списка данных, во-вторых, списка функций и, в-третьих, построение диаграммы АО. Последним шагом является обобщение диаграммы АО в диаграмму А-0, содержащую основные входы, выходы, управления, а также формулировку цели и точки зрения модели.
ТЕМА 18. SADT - МОДЕЛИРОВАНИЕ:ДЕКОМПОЗИЦИЯ БЛОКОВ
1. Основные шаги
Процесс декомпозиции в целом проще, чем начальный этап, потому что аналитик поставлен в условия, когда он должен находиться в контексте, определенном блоком со своими дугами одной из диаграмм. Эта граница, называемая границей объекта, определяется двумя обстоятельствами: уже заданными целью и точкой зрения исходной диаграммы А0, - с одной стороны, и полной определенностью функции выбранного для декомпозиции блока.
Процесс декомпозиции состоит из двух частей:
созидательной (собственно декомпозиция)
и аналитической (рецензирование)
Рассмотрим их последовательно.
2. Декомпозиция ограниченного блока
Выбор блока. Декомпозиция начинается с определения самого содержательного блока. Лучшим будет тот, который позволяет наиболее глубоко проникнуть в суть рассматриваемой системы
Анализ блока. Как обычно, составляется для него список данных и функций, используя ICOM - кодирование для того, чтобы не потерять какие-либо интерфейсные данные. Список и того и другого детализируется и теперь действительно отражает более конкретно операции выполняемые рабочим.
Как всегда, необходимо ограничиться разумным уровнем сложности при объединении функций и данных: четыре-пять функциональных блоков, как правило, лучше всего. Слишком много данных и функций часто содержит слишком много информации, что приводит к запутыванию диаграмм. В то же время недостаточное количество блоков дает слишком мало информации, и диаграмма становится почти бесполезной. Необходимо соблюдать баланс - чувство меры здесь также важно, как и вообще во всех сферах человеческой деятельности.
Создание новой диаграммы. Новая диаграмма строится аналогично диаграммам А0 и А-0. Блоки размещаются в соответствии с их доминированием, затем создаются основные дуги, представляющие ограничения и, наконец, внутренние дуги.
Отметим некоторые важнейшие особенности анализа на этом этапе.
Выявление интерфейсных ошибок
Инженерам известно, что существенная доля ошибок падает именно на интерфейсы. В данном случае речь идет о местах соединения диаграмм-потомков с родительскими диаграммами. Вот почему необходимо особенно аккуратно проверять эти стыки, используя ICOM - метки. Реально можно рекомендовать записывать имена и ICOM - коды для всех дуг, образующих границу прежде, чем составлять список данных и функций при декомпозиции. Выполнив декомпозицию, аналитику полезно вернуться к исходному блоку родительской диаграммы и соединить каждую внешнюю дугу новой диаграммы с соответствующей дугой, касающейся этого блока.
Принципы и приемы расположения дуг
Дуги выражают связи между блоками и ничего не говорят о последовательности выполняемых действий. Необходимо при декомпозиции изображать их в максимально полном объеме, устраняя их только после этапа рецензирования, если окажется, что они действительно не нужны. В то же время надо помнить, что опытные аналитики никогда не ставят задачу изображать каждый объект отдельной дугой. И здесь необходим компромисс. Может помочь при его поиске включение описаний сомнительных дуг в глоссарий, в дальнейшем уточняя ее содержимое при декомпозиции тех блоков, которых она касается.
3. Анализ результатов декомпозиции автором
Выявление недостатков новой диаграммы - производится по схеме вопрос - ответ применительно ко всем рассматриваемым объектам: блокам, внутренним дугам, связи с родительскими диаграммами. Типичными вопросами являются следующие:
Применительно к блокам:
Применительно к связи с родительской диаграммой:
Применительно к внутренним дугам:
Создание альтернативных декомпозиций. Это всегда полезно делать, имея ввиду, что в идеальной SADT - диаграмме блоки должны обладать следующими важными качествами:
Ориентируясь на эти идеальные качества блока, не следует понимать их слишком прямолинейно. Например, добиваясь слишком активно одинакового уровня сложности блоков, можно излишне усложнить соединения между ними, а упрощая слишком - потерять важный для этого уровня детализации факт. Так что и здесь нужно искать компромисс, основанный на том, что в конечном счете в результате декомпозиции мы должны добиться наилучшего описания декомпозируемого объекта.
В процессе анализа приходится размышлять также о соединении или разъединении дуг. Принятие решений в этой части должно учитывать то обстоятельство, что объединение дуг скрывает детали, равно как и то, что увеличение их количества усложняет диаграмму. В общем, компромисс, компромисс и еще раз компромисс.
Еще один (активный) способ проверки качества диаграмм заключается в их тестировании - проигрывании того или иного сценария работы системы. Таким образом, можно проверить и точность, и «прозрачность» создаваемой модели.
Полезно иногда для оценки качества диаграммы - разложение одного-двух ее блоков, что эквивалентно выделению некоторых спрятанных до этого функций. Детализация некоторой части новой диаграммы поможет определить сбалансированность декомпозиции и выявить неувязки в распределении функций между новыми блоками.
Корректировка новой диаграммы. Это результат предыдущих действий аналитика по оценке качества диаграмм, имеющий в свою очередь цель донести информацию до читательской аудитории в точном и понятном виде. При этом возможны следующие действия:
Корректировка всех связанных диаграмм. Речь идет об изменениях в родительской диаграмме и диаграммах-потомках по отношению к разработанной диаграмме декомпозиции, которые могут касаться изменений меток внешних дуг, появления новых внешних дуг и при распределении функций. Речь может идти также о перемещении блоков. В последнем случае надо иметь ввиду, что эта операция влечет за собой обилие технической работы и может привести к ошибкам, так что все изменения должны отслеживаться достаточно тщательно.
4. Резюме
Начало процесса декомпозиции заключается в выборе блока рассматриваемой диаграммы и рассмотрении объекта, определяемого этим блоком и его дугами. Детализация блока производится путем составления списка данных и списка функций и последующего построения диаграммы. В процессе декомпозиции целесообразно проверять ICOM-коды, потому что при моделировании весьма распространены ошибки интерфейса. Старайтесь включать сомнительные блоки или дуги в диаграммы, фиксируя свои сомнения посредством записей. Это укажет читателям, что вам нужна помощь в решении данной проблемы.
ТЕМА 19.СОГЛАШЕНИЯ ПО ПОСТРОЕНИЮ ДИАГРАММ
В процессе критической оценки содержания диаграммы автор должен оценивать степень ее сложности, вызванную конкретным размещением ее блоков и дуг.
Соглашения по размещению элементов SADT - диаграмм помогают создавать более «читабельные» диаграммы, подобно тому, как аналогичные соглашения в структурном программировании позволяют писать «читабельные» программы.
В SADT существуют несколько типов соглашений по размещению элементов, соответственно типам используемых конструкций: блоки; дуги; комбинации блоков и дуг.
В этой лекции рассматриваются каждый из этих типов, описываются правила по их построению и приводятся соответствующие примеры. Для закрепления знаний настоятельно рекомендуется изучить все рассмотренные прежде диаграммы с целью отыскать на них примеры формулируемых далее правил.
1. Размещение блоков
Располагайте блоки по диагонали - от левого верхнего угла диаграммы до правого нижнего, и пронумеруйте их в том же порядке.
Получившаяся «каскадная» структура идеальна для подчеркивания доминантности, минимизации поворотов и пересечений дуг, упрощения обратных связей.
Разместите номер каждого блока в его нижнем правом углу. Это позволит при необходимости быстро их находить.
Запишите С-номер SADT- диаграммы, декомпозирующей блок, под правым нижним углом блока. При таком расположении его легко найти, а также установить связь с детализирующей его диаграммой
DAM009
2. Размещение дуг
Чертите дуги только по вертикали и горизонтали. Это позволит визуально выделять блоки как точки сбора дуг, каковыми блоки и являются. Одновременно это соглашение позволяет лучше отслеживать и направления дуг.
Блоки всегда имеют дуги управления, но могут не иметь входных дуг. Дуги управления накладывают ограничения и управляют функциями системы (включают или выключают). Без них система не может работать.
Если данные служат и для управления, и для входа, обозначайте только дугу управления. Этим уменьшается сложность общей картины и подчеркивается управляющий характер данных
Расстояния между параллельными дугами следует делать максимальными, оставляя больше места для меток. Это помогает прослеживать направления дуг и контролировать их количество.
Расстояние между блоками, поворотами дуг, а также пересечениями дуг также следует максимально увеличить для того, чтобы облегчить процесс чтения и уменьшить вероятность перепутать какие - либо из них.
Следует всегда объединять дуги, источники которых не указаны на диаграмме (если они представляют одни и те же данные)
Необходимо использовать обратные связи, чтобы выделить повторно используемые объекты, в первую очередь на диаграмме, декомпозирующей блок.
3. Совместное размещение блоков и дуг.
Следует, насколько это возможно, объединять дуги с общим источником, или общим приемником, если они представляют связанные данные. Общее название, при удачном выборе, даст лучшее представление о всей совокупности данных.
Необходимо стремиться к минимизации числа дуг, касающихся каждой стороны блока при условии, что природа данных, которые они представляют, не слишком разнородна.
Обратные связи по управлению следует рисовать «вверх и над». Это еще один хороший прием для упрощения вида диаграммы, потому что он показывает все ограничивающие обратные связи при минимальном числе линий и пересечений в одной зоне - верхней правой части диаграммы.
Обратные связи по входу следует рисовать «вниз и под». Это позволяет отобразить обратные потоки данных при минимальном числе линий и пересечений и разместить их в своей зоне - теперь уже в нижней левой части диаграммы.
Присоединять дуги к блокам желательно в одной и той же ICOM - позиции. Согласование позиций соединения дуг конкретного типа с блоками значительно упрощает чтение и восприятие диаграмм, составляющих SADT - модель объекта.
Следует особенно избегать необязательных пересечений дуг при соединении большого числа блоков. Это простое правило является, пожалуй, одним из самых эффективных с точки зрения снижения степени сложности диаграмм и, соответственно, улучшения степени их восприятия.
Необходимо по возможности минимизировать число петель и поворотов каждой дуги.
Итак, обобщая изложенное, отметим основные идеи, на основе которых сформировались перечисленные «Соглашения»по построению SADT - диаграмм.
4. Резюме
Элементы диаграммы располагаются строго сверху вниз и слева направо: - блоки - по ступенчатой схеме, дуги - под прямым углом к блокам. Расстояния между дугами сохраняются максимальными, дуги одной природы объединяются в единую дугу. Обратные связи по управлению всегда рисуют «вверх и над», обратные связи по входу - «вниз и под».