русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Державний комітет зв’язку та інформатизації України


Дата додавання: 2014-11-28; переглядів: 818.


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

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

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

§ выбор блока диаграммы;

§ рассмотрение объекта, определенного этим блоком;

§ создание новой диаграммы;

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

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

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

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

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

Шаги 4-7 составляют этап саморецензирования, в ходе которого аналитик, создав новую диаграмму, проверяет, какую она несет информацию и в каком она находится отношении с родительской диаграммой. Затем в созданную диаграмму и соответственно в связанные с ней диаграммы вносятся изменения, чтобы достичь ясности для других.

Рассмотрим подробнее перечисленные шаги:

Выбор блока

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

Рассмотрим диаграмму АО для модели экспериментального механического цеха (рис. 9-1). На ней три блока: Управлять выполнением задания, Выполнить задание и Контролировать качество выполнения. На первый взгляд кажется, что Управлять выполнением задания является самым сложным блоком, потому что он самый доминантный и с ним связано самое большое количество дуг. Но при внимательном рассмотрении можно заметить, что многие из его дуг являются просто обратными связями или выходами. Контролировать качество выполнения, видимо, является простейшей функцией, так что ее декомпозиция не даст нам много новой информации. Поэтому эти два блока – плохие кандидаты для первой декомпозиции. Выполнить задание выглядит более интересным, потому что этот блок участвует во многих циклах и имеет широкий спектр входов, управлений и выходов. Поняв, как рабочий выполняет задание, мы, видимо, окажемся в лучшем положении для дальнейшей декомпозиции остальной части модели.

Анализ объекта, определяемого блоком

Блок 2 Выполнить задание становится теперь самостоятельным объектом декомпозиции.

Для выполнения этой декомпозиции вначале бегло осмотрим обобщающую диаграмму (диаграмма А-0 на рис. 8-4) и вспомним цель и точку зрения модели. Сделав это, мы увидим, что должны описать блок Выполнить задание с точки зрения начальника цеха, чтобы можно было разработать инструкции для обучения нового персонала цеха.

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

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

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

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

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

Создание новой диаграммы

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

Далее задаются вопросы о связи диаграммы с ее родителем, при этом проверяется, как диаграмма вписывается в модель:

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

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

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

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

Заканчивают поиск ошибок в диаграмме обычно вопросами о внутренних дугах, т.е. анализом деталей диаграммы:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Например, дуги Статус задания и Незаконченное задание не были объединены в одну выходную дугу. Они отражают различные типы данных (первая – понятие, вторая – физическую реальность) и каждая влияет на свою часть родительской диаграммы (Управлять выполнением задания и Контролировать качество выполнения соответственно). Поэтому их раздельное изображение дает более ясную картину результатов работы блока Определить степень выполнения задания.

· Тестирование

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

· Схематичное изображение декомпозиции следующего уровня

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

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

Корректировка новой диаграммы

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

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

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

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

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

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

Создание диаграммы, ответы на связанные с ней вопросы и переделка ее обеспечивают более глубокое понимание родительской диаграммы и диаграмм - потомков вновь построенной диаграммы. Зафиксируйте свое понимание во время исправления диаграммы. (Это как раз тот случай, когда перенесение информации снизу-вверх естественным образом вписывается в технику декомпозиции.) Автор вынужден переносить информацию на другие диаграммы в трех ситуациях: при изменении меток внешних дуг, при появлении новых внешних дуг и при перераспределении функций.

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

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

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

Державний комітет зв’язку та інформатизації України

—————————————————

ОДЕСЬКА НАЦІОНАЛЬНА АКАДЕМІЯ ЗВ’ЯЗКУ ім. О. С. Попова

 

Кафедра обчислювальної техніки та мікропроцесорів

 


<== попередня лекція | наступна лекція ==>
Основы общения на иностранном языке: фонетика, лексика, фразеология. Грамматика. | І. В. Хіхловська


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн