Назва статті

АРХІТЕКТУРА ПОРТІВ ТА АДАПТЕРІВ В ІТЕРАТИВНІЙ РОЗРОБЦІ З ОБМЕЖЕННЯМИ ПО ЧАСУ

Номер віснику

22

DOI:

10.36994/2707-4110-2019-1-22-24

Автори

Гребенюк О. В., Відкритий міжнародний університет розвитку людини «Україна», Київ, Україна. alexgr.dev@gmail.com Павленко В. І., к.ф.-м.н., Відкритий міжнародний університет розвитку людини «Україна», Київ, Україна. pavlenko.v@i.ua

Ключові слова

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

Анотація

Розглянуто застосування архітектури портів та адаптерів (інші назви цибулинна, шарувата, гексагональна) в ітеративній розробці програмного забезпечення відповідно до вимог, які надходять в хронологічному порядку на практичному прикладі. Кожна ітерація підкріплена схемою архітектури, виниклими проблемами і їх вирішенням. Показана доцільність застосування розглянутої архітектури при ітеративній розробці програмного забезпечення з обмеженнями по часу. Розроблено систему збору даних про концентрацію вуглекислого газу середовища і температуру повітря в режимі реального часу з розподіленої мережі датчиків з заданою геолокацією для медичних закладів. Відомості про датчики (ідентифікатор, дата введення в експ¬луа¬тацію та дата закінчення експлуатації) розмістити в таблиці Google Sheets. Данні з датчиків збирати на сервері сервісом з REST інтерфейсом. Досліджено процес ППЗ в конкретному проекті з суттєвими обмеженнями по часу, застосовуючи правила і принципи, які закладені в архітектурі портів та адаптерів, при цьому, використовуючи основні метрики, зробити оцінку складності додавання нового функціоналу, тестування, паралельної розробки, швид¬кос¬ті та простоти розробки; зробити висновки відносно умов, коли доцільно застосовувати обраний підхід до проектування ПЗ, та відносно здатності такого підходу сприймати зміни вимог до ПЗ. Архітектуру портів та адаптерів корисно використовувати, якщо у системи буде безліч зовнішніх інтеграцій (сервіс пошти, Push-повідомлення, БД, система ведення звітів і т. п.). Односторонній зв’язок з адаптерами га¬рантує цілісність головної алгоритмічної частини програми.Архітектура портів та адаптерів дає можливість паралельної розробки за рахунок малої зв’язності між шарами. Глибоке знання предметної області дозволяє відразу правильно визначити шар домену. Побудова структури системи, яка оптимально відображає предметну область, потребує найбільших затрат часу, при цьому, виправлення помилок, допущених на етапі визначення шарів системи (інтерфейсів і систем взаємодії), дорого коштуватиме в майбутньому. Тестування доменної логіки відбувається швидко за рахунок Unit-тестів, інші тести писати легко за рахунок малої зв’язності між шарами. Дана архітектура не є кардинально новим підходом, але вона бере найкраще з OOP, SOLID, DDD і визначає як застосувати ці принципи в найкращий спосіб.

  • Регистрация
  • Авторизация