- •Содержание
- •Введение
- •Концепция IDEF0
- •Принцип декомпозиции
- •Основные определения IDEF0
- •Синтаксис графического языка IDEF0
- •Соглашения по построению диаграмм
- •Процесс функционального моделирования
- •Подготовка
- •Составление списка данных
- •Составление списка функций
- •Построение диаграммы А0
- •Обобщение диаграммы А0
- •Резюме
- •Сбор информации
- •Что необходимо помнить при опросе
- •Создание диаграмм
- •Бланк диаграммы
- •Декомпозиция функционального блока
- •Составление исходной документации
- •Подготовка папок
- •Комментирование работ
- •Ответы на комментарии
- •Совершенствование моделей
- •Дополнения к диаграммам и моделям
- •Виды дополнений
- •Определение терминологии с помощью глоссария
- •Пояснение содержания текстом
- •Пояснение содержания рисунками
- •Указатели диаграмм и указатель узлов модели
- •Примечания на диаграммах и моделях
- •Информация о свойствах
- •Согласование диаграмм
- •Чтение IDEF0 диаграмм
- •Проверка диаграммы автором
- •Выявление недостатков диаграммы
- •Создание альтернативных декомпозиций
- •Корректировка новой диаграммы
- •Исправление взаимосвязанных диаграмм
- •Процесс рецензирования диаграмм
- •Прекращение декомпозиции
- •Достаточная детализованность
- •Изменение уровня рассмотрения
- •Изменение точки зрения
- •Сходные функции
- •Тривиальные функции
- •Размер моделей
- •Литература
Функциональное моделирование на базе стандарта IDEF0. Учебный курс.
Прекращение декомпозиции
Прекращать моделирование рекомендуется тогда, когда уровень детализации модели удовлетворяет поставленной цели. Т.е. модель отвечает на поставленные вопросы.
Исходя из практического опыта, декомпозиция одного из блоков модели должна прекращаться если:
•блок уже содержит достаточное количество деталей, чтобы ответить на поставленные вопросы;
•необходимо изменить уровень рассмотрения, чтобы получить большую детализацию блока;
•необходимо изменить точку зрения, чтобы лучше детализировать блок;
•блок слишком похож на другой блок той же модели;
•блок очень похож на другой блок другой модели;
•блок представляет тривиальную (слишком простую для декомпозиции) функцию.
Правила следуют из практической цели использования модели. Многое зависит от того, где будет использоваться модель в будущем:
•для разработки ПО,
•для написания руководства,
•для управления технологическим процессом,
•для разработки и внедрения нового процесса и т.д. и т.п.
Достаточная детализованность
Если блок на диаграмме помогает ответить на один или несколько вопросов, сформулированных в цели модели, то его дальнейшая декомпозиция скорее всего не понадобится.
По мере того, как блоки нижних уровней начинает удовлетворять целям моделирования, автор формирует критерии по которым определяется момент завершения моделирования.
Изменение уровня рассмотрения
Входе декомпозиции, зачастую диаграмма начинает описывать КАК функционирует блок, вместо описания того ЧТО он делает. Изменение уровня рассмотрения (абстракции) является изменением сути того, что должна представлять модель (т.е. изменение способа описания).
Врамках функциональных IDEF0 моделей изменение уровня рассмотрения чаще всего означает выход за пределы цели модели и указывает на то, что декомпозицию необходимо прекратить. Если вместо декомпозиции блока для достижения поставленных целей будет достаточно одного абзаца текста, то блок не стоит декомпозировать.
Изменение уровня рассмотрения происходит обычно, когда модель уже имеет 2-3 уровня глубины. Незамеченные автором изменения уровня рассмотрения модели обнаруживаются как правило рецензентами. Если этот факт не обнаруживается рецензентами, при попытке дальнейшей декомпозиции, изменение уровня рассмотрения обнаруживается, поскольку дальнейшее моделирование приходится вести с другой точки зрения.
Изменение точки зрения
Ситуации, которые сигнализируют о возможной замене точки зрения:
•дальнейшую декомпозицию "хорошо понятного" блока трудно проводить без изменения точки зрения модели;
•при декомпозиции блока появляется совершенно новая терминология;
•декомпозиция описывает систему, не входящую в рассмотрение.
33
Функциональное моделирование на базе стандарта IDEF0. Учебный курс.
Сходные функции
Иногда встречаются блоки очень похожие на другие блоки модели. Два блока похожи, если они выполняют подобные функции, имеют почти одинаковые по типу и количеству входы, выходы и управление.
Если один из блоков уже декомпозирован, то предпочтительно отложить декомпозицию второго блока и внимательно сравнить два блока. Если изменения ничтожны, то лучше повысить модульность модели за счет использования одной декомпозиции (второй блок не декомпозируется).
Чрезмерное увлечение обобщенными функциями приводит к усложнению моделирования, а в ряде случаев может снизить читабельность диаграмм.
Тривиальные функции
Тривиальная — функция понимание которой не требует дополнительных объяснений. В этом случае очевидно, что декомпозиция не требуется, поскольку роль моделирования заключается в превращении сложного в простое, а не в педантичной разработке очевидных деталей.
Степень очевидности определяется не автором, а читателями и существенно зависит от целей, для которых создается модель и ее дальнейшего использования. "Тривиальная" функция
— это не "бесполезная" функция. Тривиальные функции выполняют очень важную роль, поясняя содержание более сложных.
Размер моделей
С математической точки зрения, число блоков в модели в зависимости от уровня иерархии растет в геометрической прогрессии (см. Таблица 1).
|
|
Таблица 1 |
|
Общее число блоков в модели |
|
Уровень в |
||
модели |
|
|
|
4 блока на диаграмме |
6 блоков на диаграмме |
Top |
1 |
1 |
0 |
5 |
7 |
1 |
21 |
43 |
2 |
85 |
259 |
3 |
341 |
1553 |
4 |
1365 |
9331 |
Однако на практике это не так. Обычно модель строится слоями, большинство из которых не являются глубокими. Очень часто, диаграммы 3-го уровня строятся только для того, чтобы убедиться, что полученные на диаграммах 2-го уровня ответы на поставленные вопросы являются полными (цель достигнута).
Иногда некоторые, особо важные и сложные функции декомпозируются на глубину 5-6 уровня. Но при этом декомпозируются не все блоки, а только те, декомпозиция которых необходима, чтобы достичь поставленных целей.
Большие аналитические проекты обычно разбиваются на несколько отдельных, более мелких проектов, каждый из которых создает модель одного конкретного аспекта проблемы.
34
