logo search
Лекции_2012

Декомпозиция

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

После описания контекстной модели строят следующие диаграммы в иерархии. Каждая последующая диаграмма является более подробным описанием (декомпозицией) одной из работ на вышестоящей диаграмме (рис. 4.4).

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

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

Рисунок

Доминирование понимается как влияние, которое один блок оказывает на другие блоки диаграммы. Порядок доминирования обозначается цифрой, размещенной в правом нижнем углу каждого прямоугольника (А1, А2, А3).

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

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

Номером узла диаграммы, декомпозирующей контекстную диаграмму, является тот же номер узла, но без дефиса (например, ЭМЦ/АО). Все другие номера узлов образуются посредством добавления к номеру узла родительской диаграммы номера декомпозируемого блока.

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

IDEF0 требует, чтобы все внешние дуги (ведущие к краю страницы) диаграммы были согласованы с дугами, образующими границу этой диаграммы, т.е. диаграмма должна быть «состыкована» со своей родительской диаграммой посредством согласования по числу и наименованию дуг.

В методологии принята схема кодирования дуг «IСОМ», которая получила название по первым буквам английских эквивалентов слов: вход (Input), управление (Control), выход (Output), механизм (Mechanism). При построении диаграммы следующего уровня дуги, касающиеся декомпозируемого блока, используются в качестве источников и приемников для дуг, которые создаются на новой диаграмме. После завершения диаграммы ее внешние дуги стыкуются с родительской диаграммой для обеспечения согласованности. Стыковка осуществляется посредством присваивания кодов ICOM внешним дугам новой диаграммы. Таким образом, IDEF0-диаграмма составлена из блоков, связанных дугами, которые определяют, как блоки влияют друг на друга. Дуги на диаграммах изображают интерфейсы между функциями системы, а также между системой и ее окружающей средой.

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

В методологии SADT можно выделить только пять типов взаимосвязей между блоками для описания их отношений:

Отношение входа возникает тогда, когда выход одного блока становится входом для блока с меньшим доминированием

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

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

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

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

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

Обратные связи по управлению и входу представляют итерацию или рекурсию.

Связи "выход-механизм" отражают ситуацию, при которой выход одной функции становится средством достижения цели для другой.

Связи выход-механизм характерны при распределении источников ресурсов.

Поскольку дуги в IDEE0 обычно символизируют наборы объектов, они могут иметь множество начальных точек (источников) и конечных точек (приемников), поэтому дуги могут разветвляться и соединяться различными способами.

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

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

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

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

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

После слияния результирующая дуга всегда помечается для указания нового набора объектов, возникшего после объединения. Кроме того, каждая ветвь перед слиянием может помечаться или не помечаться в соответствии со следующими правилами:

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

Дуги могут быть "помещены в тоннель".

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

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

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

Одна из наиболее частых проблем, возникающих в процессе моделирования, - определение момента завершения построения модели процесса. Рекомендуется прекращать моделирование, когда уровень детализации модели удовлетворяет ее цели.

Существуют некоторые критерии для определения момента завершения моделирования:

а) блок содержит достаточно деталей;

б) необходимо изменить уровень абстракции, чтобы достичь большей детализации блока;

в) необходимо изменить точку зрения, чтобы детализировать блок;

г) блок очень похож на другой блок той же модели;

д) блок очень похож на блок другой модели;

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

Подводя итог приведенному краткому представлению методологии IDEE0, следует отметить, что она может служить единой методологической основой совершенствования управления системой. IDEE0-моделирование поддерживается, например, CASE-средствами ЕPWin и IDEFO/EM Tool.

Конечным результатом этого процесса моделирования по методологии IDEE0 является набор взаимосогласованных описаний (диаграмм) — от описания самого верхнего уровня всей системы, представленного контекстной диаграммой, до подробного описания деталей или операций системы. IDEF0 - модель объединяет и организует диаграммы в иерархические структуры, в которых диаграммы верхних уровней менее детализированы, чем диаграммы нижних уровней.