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

Автор(и)

  • O.A. Lytvynov
  • M.O. Lytvynov

DOI:

https://doi.org/10.34185/1562-9945-1-144-2023-11

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

frame-based, software development, code-generator

Анотація

Робота присвячена специфіці застосування фреймового підходу для розробки інформаційних систем. Даний підхід базується на описі прикладної області за до-помогою скриптів на фреймовій мові, особливості якої детально описані в [12]. Важливою рисою такого опису є застосування концепції граней. Так, фрейм опи-сує знання про об’єкт реального світу або сценарій події, слот є складовою час-тиною фрейму, а грань слота є компонентом слоту. При цьому у фреймовому під-ході як на слоти, так і на грані немає обмежень, які існують у класичному об’єктно-орієнтованому підході. Можна сказати, що завдяки саме введенню гра-ней і відсутності обмежень на слоти стає можливим отримати повний і зв’язний опис усіх особливостей та рис об’єкту прикладної області і, відповідно, забезпечити генерацію програмних компонентів з високим рівнем повноти коду. Результати попередніх досліджень опубліковано в роботах [11-13]. Дана робота присвячена питанням впровадження та оцінці використання підходу для побудо-ви інформаційних систем. В роботі запропонована модель системи, що складається з трьох шарів: за-гальної моделі, у ролі якої вступає описання домену на фреймової мові; декількох домено-специфічних моделей в які трансформується фреймова модель; платфо-рмо-специфічні перетворювачі, що відповідають за перетворення домено-специфічних моделей у відповідні програмні компоненти. При цьому для трансфо-рмації домено-специфічних моделей у відповідні програмні компоненти викорис-товуються шаблони та програмні модулі, задачею яких є відображення моделі у код згідно шаблонам. Шаблони і компоненти, що відповідають за перетворення шаблонів у код, формуються на базі досвіду практичної розробки та залежать від архітектури та технологій. Можна казати, що процес навчання генератора про-грамних компонентів у даній системі складається в побудові та модифікації ша-блонів та логіки трансформації. У роботі розглядаються результати проведеного експерименту побудови навчального проекту (рівень магістерської курсової роботи) з застосуванням за-пропонованого підходу. Експеримент складався з двох фаз: вибір та реалізація типових функцій з навчанням генератору; реалізація решти функцій з застосу-ванням генератору. В ході проведення експерименту було отримано наступні результати. Ефе-ктивність генератору залежить від структури проекту, стандартизації компо-нентів, принципів побудови (таких як SOLID). Тобто повинна існувати синергія між архітектурою проекту та генератором. З цього приводу дуже критичними є перші кроки, що складаються у виборі та реалізації типових функцій на яких буде навчатися генератор. Якщо функції для навчання вибрані вірно і далі не буде зна-чних змін в архітектурі – час потрібний для налагодження генератору після його навчання буде мінімальний, реалізація нових функції та адаптація вже існуючої системи під зміну вимог буде проводитися дуже швидко. У нашому випадку при налаштуванні генератору на нову архітектуру за найгрубішими оцінками випе-редження розробки на два тижні, при 17 годинах часу витрачених на навчання та налаштування генератору.

Посилання

Eric Evans 2003 - Domain-Driven Design - Tackling Complexity in the Heart of Software. Addison-Wesley Professional, 2003. 560 p.

Vaughn Vernon. Implementing Domain-Driven Design. Addison-Wesley Profes-sional; 1st edition. 2013. 656 p.

Robert C. Martin. Clean Architecture. A Craftsman’s Guide to Software Structure and Design. 2018. Pearson, 1st edition. 432 p.

Thomas Erl. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall; 2016.

Martin C. Robert Agile Principles, Patterns, and Practices in C#. / C. Robert Mar-tin, Micah Martin // Prentice Hall. – 2006. – 768 p.

Beck K. Test-Driven Development By Example. / K. Beck – Addison-Wesley. – 2002. — 240 p.

North Dan. Introducing BDD. [Електронний ресурс]. Режим доступа: http://dannorth.net/introducing-bdd/ 2006 — Загл. с экрана.

Mary Beth Chrissis. CMMI® for Development Guidelines for Process Integration and Product Improvement, Addison-Wesley Professional; 3 edition (March 20, 2011). – 688 p.

M. Kardoš, and M. Drozdová, “Analytical method of CIM to PIM transformation in model driven architecture (MDA)”, JIOS, vol. 34, no. 1, (2010), pp. 89-99

A.Kriouile, T. Gadi, Y. Balouki, CIM to PIM Transformation: A criteria Based Evaluation, International Journal Computer Technology & Applications, vol. 4, no. 4, pp. 616-625, 2013.

Литвинов О.А., Грузін Д.Л., Гурєєв П.П. Особливості автоматизації розробки функцій в багатошарових інформаційних системах. // Системні технології. Регіональний міжвузівський збірник наукових праць. – Випуск 1(102). – Дніпро, 2016. – С.- 36-41

Litvinov A.A. On a frame-based language used for software modelling. // System technologies. – N.1(108). – Dnipro, 2017. – 55-63 p.

Litvinov A., S. Trotsenko, D. Ponomarenko, A. Sazonova. On improving the pro-cess of multi-layered information system development. II Всеукраїнська науково-практична конференція «ПЕРСПЕКТИВНІ НАПРЯМКИ СУЧАСНОЇ ЕЛЕКТРОНІКИ, ІНФОРМАЦІЙНИХ ТА КОМП'ЮТЕРНИХ СИСТЕМ» MEICS-2017.

Litvinov A. A., Gerasimov V. V., Kovalchuk D. S., Krokhin V. V. On basic princi-ples of minimum valuable information system development and preparation of pro-fessional software developers. System technologies. – N.1(120). – Dnipro, 2019. – 107-114 p."

Опубліковано

2023-05-11