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

 

Исследование или разработка любой сложной системы должна начинаться с функционального анализа и моделирования системы в целом и всех ее подсистем. Для этой цели разработана методология IDEF0[1], представляющая собой совокупность методов, правил и процедур, предназначенных для построения функциональной структуры сложных иерархических систем. Эта методология может использоваться как для определения требований и функций на начальных этапах проектирования АС, так и при разработке рабочих проектов систем, специфицированных с помощью IDEF0. Методология IDEF0 позволяет повысить производительность и уменьшить вероятность появления ошибок при анализе систем.

В основе IDEF0 лежат следующие концепции:

- графическое представление модели в виде иерархии блок-схем, обеспечивающее компактность информации;

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

- строгость и точность, обеспечивающие качество модели;

- пошаговые процедуры, обеспечивающие эффективные процессы разработки модели, ее просмотра и объединения;

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

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

Язык спецификации функциональной модели представляет набор графических знаков, помеченных предложениями на естественном языке, и правил их применения. Функциональная модель системы - набор графических диаграмм на языке функционального моделирования (ЯФМ), описывающих систему на одном или нескольких уровнях абстрагирования. На диаграммах функции отображаются в виде блоков, а их связи - в виде стрелок. Каждая функция-блок одного уровня может быть декомпозирована в виде диаграммы из 3-6 подфункций на следующем уровне.

Основным графическим элементом ЯФМ является блок - прямоугольник, обозначающий выделенную проектировщиком функцию (рис.3.1). Каждая из четырех сторон блока имеет определенное назначение: левая - входы, правая - выходы, верхняя - управление, нижняя - механизмы. Все стрелки имеют метку, т.е. стрелочную надпись.

 

Входы

Рис.3.1 Функциональный элемент IDEF0

 

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

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

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

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

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

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

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

 

а)                                                            б)

Рис.3.2 Сопряжения функциональных элементов IDEF0

 

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

Стрелки данных подобно блокам функций имеют разные уровни детализации. Верхние уровни стрелок данных имеют надписи более общего характера.

Блоки на одной диаграмме располагаются "лесенкой", что определяет доминирование верхних блоков над нижними (рис.3.3). Однако доминирование не определяет последовательность выполнения функций во времени.

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

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

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

Для обозначения диаграмм, блоков и стрелок существует язык ссылок. Ссылка на блок образуется из порядкового номера блока на диаграмме с добавлением перед этой цифрой номера блока более высокого уровня, который детализируется данной диаграммой. Блок, обозначенный указанным номером с добавлением латинской буквы А называют узлом диаграммы (рис.3.3). Ссылка на стрелку формируется путем добавления к индексу узла кодов-обозначений стрелок: I-входная, C-управляющая, O-выходная, M-механизма (рис.3.3). Например, A0.1I2- означает вторую входную стрелку первого блока на диаграмме A0, а A1.I2 - граничную входную стрелку I1 на диаграмме A1.

Дата: 2019-05-29, просмотров: 223.