Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Условия прекращения декомпозиции

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

  • функция достаточно детализирована. Достаточность описания системы с нужным уровнем подробности проверяется путем задания вопроса: отвечает ли блок на все или на часть вопросов, составляющих цель модели. Если блок помогает ответить на один или более вопросов, то дальнейшая декомпозиция может не понадобиться. Таким образом, IDEF0-автор создает набор критериев, позволяющих определить момент завершения конкретной модели, по мере того, как блоки нижних уровней начинают удовлетворять цели модели;

  • необходимо изменить уровень абстракции, чтобы достичь большей детализации функции. Иногда при декомпозиции блока выясняется, что диаграмма начинает описывать, как функционирует блок, вместо описания того, что блок делает. В этом случае происходит из-менение уровня абстракции - изменение сути того, что должна представлять модель (т.е. изменение способа описания системы). В IDEF0 изменение уровня абстракции часто означает выход за пределы цели модели и, следовательно, это указывает на прекращение де-композиции. Изменение уровня абстракции обычно происходит, когда модель уже имеет 2-3 уровня глубины, и их легко заметить. Небольшие изменения, однако, могут остаться неза-меченными для автора. Обычно ошибки обнаруживаются в процессе рецензирования диа-грамм. Свежий взгляд читательской аудитории определяет замену «что» на «как». Если из-менение уровня абстракции не обнаружено во время цикла автор/читатель, то при следующей декомпозиции диаграммы оно обычно становится очевидным;

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

-дальнейшая декомпозиция «хорошо понятого» блока является затрудненной без изменения точки зрения модели;

-для декомпозиции блока требуется совершенно новая терминология;

-декомпозиция описывает систему, не входящую в рассмотрение.

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

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

  • определен блок, представляющий тривиальную функцию. Обычно такие тривиальные функции, понимание которых не требует никаких объяснений. Эти функции выполняют очень важную роль, поясняя работу более сложных функций, а иногда и соединяя вместе основные подсистемы. Поэтому при анализе не следует пропускать тривиальные функции. Наоборот, их существование должно быть зафиксировано и они должны быть детализированы, как и любые другие функции. В случае появления тривиальных функций целесообразным является отказ от декомпозиции, потому что роль IDEF0 заключается в превращении сложного вопроса в понятный, а не в разработке очевидных деталей. Разумно избегать декомпозиции тривиальных блоков, т.к. в таких случаях декомпозиция определенных бло-ков может принести больше вреда, чем пользы. Тривиальные функции лучше всего описываются небольшим объемом текста. Эффективность и производительность труда разработчиков функциональных моделей могут быть повышены за счет применения типовых моделей и отдельных диаграмм, ориентированных на применение в конкретных предметных областях.
    Большинство IDEF0-моделей содержат от 10 до 320 диаграмм, поэтому лучшее время для начала оценки блоков, когда модель достигает этих размеров. Если какая-то часть модели достигла уровня, не требующего дальнейшей декомпозиции, то необходимо обратиться к собственному критерию для определения момента завершения моделирования, прежде чем декомпозировать блок, который еще не был детализирован.
    Принятие решения о завершении моделирования в соответствии с приведенными выше правилами позволяет гарантировать, что вероятность принятия неправильного решения о завершении моделирования может быть уменьшена, если производится оценка каждого детализируемого блока.