IDEF4 — (Integrated DEFinition for Object-Oriented Design) — мова моделювання об'єктно-орієнтованого проєктування клієнт-серверних систем, що базуються на компонентах. Вона була розроблена для підтримки плавного переходу від моделей аналізу предметної області застосування та вимог до дизайну, і до фактичної генерації вихідного коду. Вона описує об'єкти проєкту з достатньою деталізацією щоб згенерувати вихідний код.

Приклад IDEF4: Діаграма поведінки для методів, що належать до «Гучніше».

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

Опис ред.

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

Метод IDEF4 багатовимірного підходу до об'єктно-орієнтованого проєктування програмного забезпечення системи складається з наступних пунктів:

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

IDEF4 концепти ред.

Розміри об'єктів проєктування IDEF4 ред.

 
Розміри об'єктів проєктування IDEF4

IDEF4 використовує об'єктно-орієнтований метод проєктування або процедуру, яка дуже схожа на метод об'єктивного моделювання Рамбо і техніку об'єктно-орієнтованого аналізу та методику проєктування (ООА/ООД) Шлаєр-Мелора. Проте, між ними існують суттєві відмінності:

  • IDEF4 була спеціально розроблена, для того аби бути сумісною з іншими методами IDEF,
  • IDEF4 дозволяє відстежувати стан проєктних артефактів від об'єкта домену шляхом переходу до проєктної специфікації,
  • IDEF 4 вміщує в собі елемент з документації обґрунтування прийнятих проєктних рішень

Ці додаткові розміри показані на малюнку. Краї куба показують хід проєктування від початку до кінця розробки кожного з цих вимірів.

Проєктна діяльність IDEF4 ред.

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

 
IDEF4 Проєктна діяльність.

Проєктування системного рівня починається після того, як «сировину» (об'єкти предметної області) буде зібрано. Це розвиває контекст розробки, забезпечує підключення до унаслідуваним системам, і ідентифікує додатки, які повинні бути розроблені для задоволення вимог. Статичні, динамічні, поведінкові, і обґрунтувальні моделі побудовані для об'єктів на системному рівні. Ці характеристики стають вимогами до рівня додатків — наступний рівень проєктування. Прикладний рівень проєктування ідентифікує і визначає всі компоненти програмного забезпечення (розділів), необхідних при проєктуванні. Статичні моделі, динамічні моделі, моделі поведінки, а також компонент обґрунтування побудовані для об'єктів на прикладному рівні. Ці характеристики стають вимогами до наступного рівня — низькорівневого проєктування. Статичні моделі, динамічні моделі, моделі поведінки, а також компонент обґрунтування дизайну побудовані для об'єктів проєкту нижнього рівня. В межах кожного шару можуть бути побудовані підшари, щоб зменшити складність.

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

IDEF4 об'єктно-орієнтовані концепти ред.

IDEF4's визначає набір об'єктно-орієнтованих концептів:

  • Предметна область: проєкти IDEF4 визначаються предметною областю. Предметну область можна спостерігати в межах системи, що розробляється. Проєктуючи систему, програмне забезпечення переходить між трьома предметними областями: прикладний рівень, рівень проєктування та рівень реалізації.
  • Особливості, артефакти та об'єкти
  • Екземпляр об'єкту: Об'єкти можуть бути екземплярами об'єктів, класами об'єктів та розділами об'єктів. Екземпляри об'єктів є індивідуальними особливостями, що зустрічаються в предметній області.
  • Клас: Класи є узагальненням об'єктів і використовуються для управління складністю, скориставшись їх схожістю в примірників об'єктів і групування в клас або категорію.
  • Підклас/суперклас: Термін «підклас» відображає концепцію групування конкретних екземплярів класу до більш спеціалізованого класу.
  • Розділи: Об'єкт розділів містить об'єкти та зв'язки.
  • Атрибути: Атрибути реалізовують вибір, як представляти стан об'єкту.
  • Стани об'єкту: Стани об'єкту представляють ситуації або умови примірника об'єкту, у сенсі проєктування.
  • Методи: Методи є реалізацією поведінки (тобто, набір інструкцій, відповідно до якого об'єкт виконує деяку операцію).
  • Повідомлення та поліморфізм: Об'єкти спілкуються, надсилаючи повідомлення один одному.
  • Подія: Подія — це сигнал, що генерує метод у об'єкті, аби повідомити про певний стан об'єкту.
  • Життєві цикли об'єкту: У будь-якій системі об'єкти представляють паттерни поведінки, як їх цикл між різними станами.
  • Клієнт-сервер: Об'єкти грають роль відношення клієнту до повідомлення, якщо вони є відправниками повідомлення.
  • Взаємозв'язки та ролі: Об'єкти з'єднуються дугою докупи. Ці дуги називаються зв'язками і показують асоціації між об'єктами.
  • Наслідування: Специфічний тип відношення, що використовується у об'єктно-орієнтованій технології, називається наслідування.
  • Інкапсуляція та приховання інформації: Інкапсуляція та приховання інформації є двома об'єктно-орієнтованими концепціями, що допомагають легше зрозуміти, коли та якими даними об'єкти можуть обмінюватись.

Примітки ред.