Файл: Методичка КР Вар 1.doc

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Проектирование информационных систем

Добавлен: 25.10.2018

Просмотров: 5081

Скачиваний: 13

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Приложение 2


Синтаксис и семантика моделей IDEF0 []


1. Синтаксис графического языка IDEF0


Синтаксис языка – это набор структурных компонентов языка, их характеристики и правила, определяющие связи между его компонентами.

Компоненты синтаксиса IDEF0 — блоки, стрелки, диаграммы и правила. Блоки представляют функции, определяемые как деятельность, процесс, операция, действие или преобразование (см. ниже).

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

Правила определяют, как следует применять компоненты; диаграммы обеспечивают формат графического и словесного описания моделей.

Формат образует основу для управления конфигурацией модели.


Блок. Блок описывает функцию. Типичный блок показан на рис. П.2.1.


Рис. П.2.1


Внутри каждого блока помещаются его имя и номер.

Имя должно быть активным глаголом или глагольным оборотом, описывающим функцию.

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


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

Сегменты стрелок могут быть прямыми или ломаными; в последнем случае горизонтальные и вертикальные отрезки стрелки сопрягаются дугами, имеющими угол 90°.

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

2. Синтаксические правила

Блоки

Для блоков установлены следующие синтаксические правила:

  • размеры блоков должны быть достаточными для того, чтобы включить имя и номер блока.

  • блоки должны быть прямоугольными, с прямыми углами;

  • блоки должны быть нарисованы сплошными линиями.

Стрелки

Для стрелок установлены следующие синтаксические правила:

  • ломаные стрелки изменяют направление только под углом 90°;

  • стрелки должны быть нарисованы сплошными линиями. Можно использовать линии различной толщины;

  • стрелки могут состоять только из вертикальных или горизонтальных отрезков; отрезки, направленные по диагонали, не допускаются;

  • концы стрелок должны касаться внешней границы функционального блока, но не должны пересекать ее;

  • стрелки должны присоединяться к блоку на его сторонах. Присоединение в углах не допускается.


3. Границы и связи


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

В IDEF0 также моделируются управление и механизмы исполнения.

Под управлением понимаются объекты, воздействующие на способ, которым блок преобразует вход в выход.


Механизм исполнения — объекты, которые непосредственно выполняют преобразование входа в выход, но не потребляются при этом сами по себе.

Для отображения категорий информации, присутствующих на диаграммах IDEF0, существует аббревиатура ICOM, отображающая четыре возможных типа стрелок:

I (Input) — вход — нечто, что потребляется в ходе выполнения процесса;

С (Control) — управление — ограничения и инструкции, влияющие на ход выполнения процесса;

О (Output) — выход — нечто, являющееся результатом выполнения процесса;

М (Mechanism) — исполняющий механизм — нечто, что используется для выполнения процесса, но не потребляется само по себе.

Рис. П.2.2 показывает возможные типы стрелок в IDEF0, каждый из типов соединяется со своей стороной функционального блока.



Рис. П.2.2


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

Стрелки могут представлять собой людей, места, вещи, идеи или события.

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

Примером блока, не имеющего входа, может служить «принятие решения руководством», где для принятия решения анализируется несколько факторов, но ни один из них непосредственно не преобразуется и не потребляется в результате принятия какого-либо решения.

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

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

Стрелки управления всегда входят в функциональный блок сверху.

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

Управление можно рассматривать как специфический вид входа.

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

Стрелки выхода. Выход — это продукция или информация, получаемая в результате работы функционального блока.


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

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

Например, блок «Прием пациентов» может иметь стрелку «Данные о пациенте» как на входе, так и на выходе. В такой ситуации входящую стрелку можно назвать «Предварительные данные о пациенте», а исходящую — «Подтвержденные данные о пациенте».

Стрелки механизма исполнения. Механизмы являются ресурсом, который непосредственно исполняет моделируемое действие.

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

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


4. Структура IDEF0-модели


IDEF0-модели состоят из документов трех типов:

  • графических диаграмм;

  • текста;

  • глоссария.

Эти документы имеют перекрестные ссылки друг на друга.


4.1. Графические диаграммы IDEF0-модели


Графическая диаграмма — главный компонент IDEF0-модели, содержащий блоки, стрелки, соединения блоков и стрелок и ассоциированные с ними отношения.

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

Процесс декомпозиции продолжается до тех пор, пока объект не будет описан на уровне детализации, необходимом для достижения целей конкретного проекта.

Диаграмма верхнего уровня обеспечивает наиболее общее описание объекта моделирования.

За этой диаграммой следует серия дочерних диаграмм, дающих более детальное представление об объекте.


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

Эта диаграмма называется А—0 (А минус ноль). Стрелки на этой диаграмме отображают связи объекта моделирования с окружающей средой.

Поскольку единственный блок представляет весь объект, его имя — общее для всего проекта.

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

Диаграмма А—0 устанавливает область моделирования и ее границу.

Пример диаграммы А—0 показан на рис. П.2.3.

Рис. П.2.3.


Контекстная диаграмма А—0 также должна содержать краткие утверждения, определяющие точку зрения должностного лица или подразделения, с позиций которого создается модель, и цель, для достижения которой ее разрабатывают. Эти утверждения помогают руководить разработкой модели и ввести этот процесс в определенные рамки.


Точка зрения определяет, что и в каком разрезе можно увидеть в пределах контекста модели. Изменение точки зрения приводит к рассмотрению других аспектов объекта.

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

Формулировка цели выражает причину создания модели, то есть содержит перечень вопросов, на которые должна отвечать модель, что в значительной мере определяет ее структуру.

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

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

Каждая подфункция моделируется отдельным блоком.

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

Все дочерние диаграммы должны быть в пределах области контекстной диаграммы верхнего уровня

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

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

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

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

Таким образом, дочерняя диаграмма как бы вложена в свой родительский блок. Эта структура иллюстрируется рис. П.2.4.



Рис. П.2.4.


Родительская диаграмма — та, которая содержит один или более родительских блоков.

Иными словами, это диаграмма верхнего уровня, на которой располагается декомпозируемая функция со всеми ее связями.

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

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

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

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


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

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

Например показанные на рис. П.2.5 коды означают, что диаграмма является декомпозицией 1-го блока диаграммы, которая, в свою очередь, является декомпозицией 6-го блока диаграммы А0, а сами коды образуются присоединением номера блока.



Рис. П.2.5


Следовательно, код формируется так:


Диаграммы-иллюстрации (FЕО diagrams - For Exposition Only diagrams).

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

Диаграмма FЕО не должна подчиняться синтаксическим правилам IDEF0.

Презентационные диаграммы (FEO diagrams) часто включают в модели, чтобы проиллюстрировать другие точки зрения или детали, выходящие за рамки традиционного синтаксиса IDEF0.

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

Один из способов использования FEO-диаграмм состоит в отделении функционального блока от его окружения посредством создания диаграммы с единственным блоком и всеми относящимися к нему стрелками наподобие контекстной диаграммы (рис. П.2.6).

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

Кроме того, встречаются следующие виды презентационных диаграмм:

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

  • копия диаграммы IDEF0, которая содержит все функциональные блоки, и стрелки, непосредственно относящиеся только к входу и (или) к выходу родительского блока;

  • различные точки зрения, как правило, на глубину одного уровня декомпозиции.



Рис. П.2.6. Диаграмма FEO для выделения функционального блока и его стрелок


4.2. Текст и глоссарий IDEF0-модели


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

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