<На страницу назад | На страницу вперед >

2.3.2. Постепенно детализируемая информация

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

Рис. 2-3. Структура IDEF0-модели

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

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

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

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

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

<На страницу назад | На страницу вперед >