IDEF

IDEF, що спочатку була абревіатурою від ICAM Definition, а в 1999 році перейменована на Integration Definition, є сімейством мов моделювання в галузі системної та програмної інженерії. Вони охоплюють широкий спектр використання від функціонального моделювання до даних, імітаційного моделювання, об'єктно-орієнтованого аналізу та проектування, а також набуття знань.

Ці мови опису були розроблені за фінансування Військово-повітряних сил США і, хоча все ще найчастіше використовуються ними та іншими військовими та установами Міністерства оборони США (МО США), є суспільним надбанням.

Найбільш визнаними і використовуваними компонентами сімейства IDEF є IDEF0, мова функціонального моделювання, побудована на SADT, і IDEF1X, яка стосується інформаційних моделей і питань проектування баз даних.

Огляд IDEF методів

IDEF відноситься до сімейства мов моделювання, які охоплюють широкий спектр використання, від функціонального моделювання до даних, імітації, об'єктно-орієнтованого аналізу/проектування та набуття знань. Згодом методи IDEF були визначені аж до IDEF14:

  • IDEF0 : Функціональне моделювання (Моделювання функцій)
  • IDEF1 : Інформаційне моделювання (Information modeling)
  • IDEF1X : Моделювання даних (Data modeling)
  • IDEF2: Проектування імітаційних моделей (Simulation model design)
  • IDEF3: Захоплення опису процесу (Process description capture)
  • IDEF4: Об'єктно-орієнтоване проектування (Object-oriented design)
  • IDEF5: Захоплення опису онтології (Ontology description capture)
  • IDEF6: Захоплення обґрунтування проекту (Design rationale capture)
  • IDEF7: Аудит інформаційних систем (Information system auditing)
  • IDEF8 : Моделювання інтерфейсу користувача (User interface modeling)
  • IDEF9: Виявлення бізнес-обмежень (Business constraint discovery)
  • IDEF10: Моделювання архітектури реалізації (Implementation architecture modeling)
  • IDEF11 : Моделювання інформаційних артефактів (Information artifact modeling)
  • IDEF12 : Моделювання організації (Organization modeling)
  • IDEF13: Проектування відображення трьох схем (Three schema mapping design)
  • IDEF14: Проектування мереж (Network design)

У 1995 році лише IDEF0, IDEF1X, IDEF2, IDEF3 та IDEF4 були повністю розроблені. Деякі інші концепції IDEF мали попередню розробку. Одними з останніх зусиль були нові розробки IDEF у 1995 році, спрямовані на створення надійних методів для виявлення бізнес-обмежень IDEF9, захоплення проектних обґрунтувань IDEF6, проектування людської системи, взаємодії IDEF8 та мережевого проектування IDEF14.

Методи IDEF7, IDEF10, IDEF11, IDEF12 та IDEF13 не були розвинуті далі їх початкового визначення.

Історія IDEF методів

IDEF спочатку розшифровувалася як ICAM Definition, ініційована в 1970-х роках в Лабораторії матеріалів ВПС США на авіабазі Райт-Паттерсон в Огайо Деннісом Е. Вісноскі, Деном Л. Шунком та іншими, і завершена в 1980-х роках. IDEF була продуктом ініціативи ICAM Військово-повітряних сил США. IEEE перефразувала абревіатуру IDEF як "Інтеграційне визначення" (Integration Definition).

Конкретними проектами, які створили IDEF, були пріоритети проектів ICAM 111 і 112 (пізніше перейменовані на 1102). Наступні проекти Інтегрованої системи інформаційної підтримки (IISS), пріоритети 6201, 6202 і 6203, намагалися створити середовище обробки інформації, яке можна було б використовувати в гетерогенних фізичних обчислювальних середовищах.

Подальший розвиток IDEF відбувався в рамках цих проектів як результат досвіду, отриманого від застосування нових методів моделювання. Метою зусиль IISS було створення "загальних підсистем", які могли б використовуватися великою кількістю співпрацюючих підприємств, таких як американські оборонні підрядники і збройні сили дружніх країн.

На час роботи над ICAM 1102 існували численні, здебільшого несумісні, моделі даних для зберігання комп'ютерних даних - послідовні (VSAM), ієрархічні (IMS), мережеві (TOTAL і CODASYL компанії Cincom, IDMS компанії Cullinet). Реляційна модель даних тільки зароджувалася як перспективний спосіб структурування даних для легкого, ефективного і точного доступу до них. Реляційні системи управління базами даних ще не стали загальним стандартом для управління даними.

Програмний офіс ICAM вважав важливим створення "нейтрального" способу опису змісту даних у великомасштабних системах. Наукова література, що з'являлася, вказувала на те, що потрібні методи для обробки даних незалежно від способу їх фізичного зберігання. Таким чином, мова IDEF1 була створена для нейтрального опису структур даних, які можна було б застосовувати незалежно від способу зберігання або методу доступу до файлів.

IDEF1 був розроблений в рамках пріоритету 1102 програми ICAM Робертом Р. Брауном (Robert R. Brown) з Hughes Aircraft Company за контрактом з SofTech, Inc. Раніше Браун відповідав за розробку IMS під час роботи в Rockwell International. Rockwell вирішила не виводити IMS на ринок, але компанія IBM, яка виступала в якості підрядника під час розробки, згодом взяла на себе відповідальність за продукт і успішно продовжила його розвиток для ринку.

Браун завдячує своєму колезі з Hughes Тімоті Реймі як винахіднику IDEF1 як життєздатного формалізму для моделювання інформаційних структур. Обидва дослідники Х'юза спиралися на ідеї та взаємодію з багатьма корифеями у цій галузі на той час. Зокрема, IDEF1 спирається на наступні методи:

  • метод інформаційної моделі природної мови, що розвивається (ENALIM) Г. М. Нейссена (Control Data Corporation) - цей метод зараз більш відомий як NIAM або об'єктно-рольова модель ORM;
  • метод мережевих структур даних, відомий як підхід CODASYL, Чарльза Бахмана (Honeywell Information Systems);
  • ієрархічна техніка управління даними, реалізована в системі управління даними IMS компанії IBM, розроблена Р. Р. Брауном (Rockwell International);
  • реляційний підхід до даних Е. Ф. Кодда (IBM);
  • підхід "сутність-зв'язок" (E-R) Пітера Чена (UCLA).

Результатом роботи над IDEF1 став як новий метод інформаційного моделювання, так і приклад його використання у вигляді "еталонної інформаційної моделі виробництва". Цей останній артефакт був розроблений Д. С. Коулманом з компанії D. Appleton Company (DACOM), що діяла як субпідрядник Hughes і під керівництвом Реймі. Співробітники DACOM стали експертами в моделюванні IDEF1 і згодом розробили навчальний курс і супровідні матеріали для техніки моделювання IDEF1.

Досвід роботи з IDEF1 показав, що перетворення інформаційних вимог у проекти баз даних виявилося складнішим, ніж передбачалося спочатку. Найбільш корисною цінністю техніки інформаційного моделювання IDEF1 була її здатність представляти дані незалежно від того, як ці дані будуть зберігатися і використовуватися.

Вона надала моделювальникам даних та аналітикам даних спосіб представлення вимог до даних під час процесу збору вимог. Це дозволило проектувальникам вирішити, яку СУБД використовувати після того, як вони зрозуміли природу вимог до даних, і таким чином зменшило "невідповідність" між вимогами до даних і можливостями та обмеженнями СУБД. Однак переклад моделей IDEF1 в проекти баз даних виявився складним завданням.

Мови моделювання IDEF

IDEF0

Метод функціонального моделювання IDEF0 призначений для моделювання рішень, дій та діяльності організації або системи. Він походить від відомої мови графічного моделювання SADT (Structured Analysis and Design Technique), розробленої Дугласом Т. Россом (Douglas T. Ross) і компанією SofTech, Inc.

У своєму первісному вигляді IDEF0 включає як визначення мови графічного моделювання (синтаксис і семантика), так і опис комплексної методології розробки моделей. Військово-повітряні сили США доручили розробникам SADT розробити метод функціональної моделі для аналізу і передачі функціональної перспективи системи.

Приклад діаграми IDEF0: функціональна модель процесу обслуговування запасних частин, що підлягають ремонту

IDEF0 має допомогти в організації системного аналізу та сприяти ефективній комунікації між аналітиком і замовником за допомогою спрощених графічних засобів.

IDEF1X

Щоб задовольнити вимоги щодо покращення моделювання даних, які були визначені в проекті IISS-6202, субпідрядник, компанія DACOM, отримала ліцензію на техніку логічного проектування баз даних (LDDT) та її допоміжне програмне забезпечення (ADAM). LDDT була розроблена в 1982 році Робертом Г. Брауном (Robert G. Brown) з The Database Design Group повністю поза програмою IDEF і без знання IDEF1. LDDT поєднувала елементи реляційної моделі даних, моделі E-R та узагальнення у спосіб, спеціально призначений для підтримки моделювання даних і перетворення моделей даних у проекти баз даних.

Графічний синтаксис LDDT відрізнявся від синтаксису IDEF1 і, що більш важливо, LDDT містив взаємопов'язані концепції моделювання, яких не було в IDEF1. Мері Е. Луміс написала стислий опис синтаксису і семантики значної підмножини LDDT, використовуючи термінологію, сумісну з IDEF1, де це було можливо. DACOM позначив результат як IDEF1X і надав його програмі ICAM.

Приклад діаграми IDEF1X

Оскільки програма IDEF фінансувалася урядом, методика є суспільним надбанням. На додаток до програмного забезпечення ADAM, яке продається компанією DACOM під назвою Leverage, ряд CASE-інструментів використовують IDEF1X як техніку представлення даних для моделювання.

Проекти IISS фактично створили робочі прототипи середовища обробки інформації, яке б працювало в гетерогенних обчислювальних середовищах. Сучасні досягнення в таких технологіях, як Java та JDBC, дозволяють досягти цілей повсюдності та універсальності в різних обчислювальних середовищах, що було вперше продемонстровано в IISS.

IDEF2 and IDEF3

Третя IDEF (IDEF2) спочатку була задумана як метод моделювання інтерфейсу користувача. Однак, оскільки програма Integrated Computer-Aided Manufacturing (ICAM) потребувала інструменту імітаційного моделювання, то в результаті IDEF2 стала методом представлення поведінки ресурсів у виробничій системі, що змінюється в часі, забезпечуючи основу для специфікації симуляцій на основі математичних моделей.

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

Приклад розширеної схеми переходу, змодельованої за допомогою IDEF3

Основна проблема з точки зору методології полягає в необхідності розрізняти опис того, що система (існуюча або запропонована) повинна робити, і репрезентативну імітаційну модель, яка прогнозує, що система буде робити. Останнє було в центрі уваги IDEF2, а перше - в центрі уваги IDEF3.

IDEF4

Розробка IDEF4 почалася з усвідомлення того, що модульність, підтримуваність і повторне використання коду, які є результатом об'єктно-орієнтованої парадигми програмування, можуть бути реалізовані в традиційних додатках для обробки даних.

Доведена здатність об'єктно-орієнтованої парадигми програмування підтримувати інтеграцію на рівні даних у великих складних розподілених системах також є основним фактором широкого інтересу до цієї технології з боку спільноти традиційної обробки даних.

IDEF4 була розроблена як інструмент проектування для розробників програмного забезпечення, які використовують об'єктно-орієнтовані мови, такі як Common Lisp Object System, Flavors, Smalltalk, Objective-C, C++ та інші.

IDEF4 діаграма поведінки

Оскільки ефективне використання об'єктно-орієнтованої парадигми вимагає іншого процесу мислення, ніж при використанні звичайних процедурних мов або мов баз даних, стандартних методологій, таких як структурні діаграми, діаграми потоків даних і традиційні моделі проектування даних (ієрархічні, реляційні та мережеві), недостатньо. IDEF4 прагне надати необхідні засоби для підтримки об'єктно-орієнтованого процесу прийняття проектних рішень.

IDEF5

IDEF5, або інтегроване визначення для методу захоплення опису онтології, - це метод програмної інженерії для розробки та підтримки придатних для використання, точних, доменних онтологій. У галузі комп'ютерних наук онтології використовуються для захоплення концепції та об'єктів у певній галузі, а також пов'язаних з ними зв'язків і значень.

Крім того, захоплення онтологій допомагає координувати проекти шляхом стандартизації термінології та створює можливості для повторного використання інформації. Метод захоплення онтологій IDEF5 був розроблений для надійної побудови онтологій у спосіб, що найбільш точно відображає людське розуміння конкретної предметної області.

Приклад композиційної схеми IDEF5 для кулькової ручки

У методі IDEF5 онтологія будується шляхом захоплення змісту певних тверджень про об'єкти реального світу, їх властивості та взаємозв'язки, і представлення цього змісту в інтуїтивно зрозумілій і природній формі. Метод IDEF5 складається з трьох основних компонентів: Графічна мова для підтримки концептуального аналізу онтології, структурована текстова мова для детального опису онтології та систематична процедура, яка надає рекомендації для ефективного запису онтології.

IDEF6

IDEF6, або інтегроване визначення для фіксації проектного обґрунтування, - це метод для полегшення отримання, представлення та маніпулювання проектним обґрунтуванням, що використовується при розробці корпоративних систем.

Обґрунтування - це причина, обґрунтування, основна мотивація або виправдання, які спонукали дизайнера вибрати певну стратегію або елемент дизайну. Простіше кажучи, обґрунтування інтерпретується як відповідь на питання: "Чому цей дизайн робиться саме таким чином?".

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

IDEF6 - це метод, який володіє концептуальними ресурсами і лінгвістичними можливостями, необхідними

  • для представлення природи і структури інформації, яка є обґрунтуванням проектування в рамках даної системи, і
  • пов'язати це обґрунтування з проектними специфікаціями, моделями та документацією системи.
IDEF6 модель проектної діяльності IDEF4

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

IDEF8

IDEF8, або інтегроване визначення для проектування взаємодії між людиною та системою, - це метод для створення високоякісних проектів взаємодії між користувачами та системами, якими вони керують. Системи характеризуються як сукупність об'єктів, які виконують функції для досягнення певної мети.

Системою, з якою взаємодіє користувач, може бути будь-яка система, не обов'язково комп'ютерна програма. Взаємодія людини з системою проектується на трьох рівнях специфікації в рамках методу IDEF8.

  • Перший рівень визначає філософію роботи системи і створює набір моделей і текстових описів загальних процесів системи.
  • Другий рівень проектування визначає рольові сценарії використання системи.
  • Третій рівень проектування IDEF8 призначений для деталізації дизайну "людина-система".

На цьому рівні проектування IDEF8 надає бібліотеку метафор, щоб допомогти користувачам і проектувальникам визначити бажану поведінку в термінах інших об'єктів, поведінка яких більш знайома. Метафори надають модель абстрактних понять в термінах знайомих, конкретних об'єктів і досвіду.

IDEF9

IDEF9, або інтегроване визначення для виявлення бізнес-обмежень, покликане допомогти у виявленні та аналізі обмежень у бізнес-системі. Основною мотивацією для розробки IDEF9 було визнання того, що сукупність обмежень, які формують систему підприємства, як правило, погано визначена.

Знання про те, які обмеження існують і як вони взаємодіють, є неповними, розрізненими, розподіленими і часто зовсім невідомими. Подібно до того, як живим організмам не потрібно знати про генетичні чи автономні обмеження, які керують певною поведінкою, організації можуть (і більшість з них справді можуть) добре працювати без чіткого знання про клей, який структурує систему.

Типові бізнес-системи

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

IDEF14

IDEF14, або інтегроване визначення методу мережевого проектування, - це метод, спрямований на моделювання та проектування комп'ютерних та комунікаційних мереж. Він може бути використаний для моделювання існуючих ("як є") або передбачуваних ("щоб бути") мереж.

Вона допомагає проектувальнику мережі дослідити потенційні проекти мереж і задокументувати обґрунтування проекту. Фундаментальні цілі дослідницького проекту IDEF14 розвинулися з усвідомленої потреби в хороших мережевих проектах, які можуть бути реалізовані швидко і точно.