Кафедра інженерії програмного забезпечення має наукову школу, по доменній інженерії, що розвивається більше п’ятнадцяти років.
Відповідно до стандарту ISO-24765-2017 доменна інженерія – галузь, яка регламентує процеси формування знань для повторного використання та подальші процедури їх повторного використання при створенні нових систем та компонентів, які вирішують завдання прикладного домену.
Актуальність розробки програмного забезпечення із застосуванням методів доменної інженерії полягає у тому, що сучасне програмне забезпечення не розроблюється з нуля, а механізми оцінювання доцільності повторного використання артефактів розробки програмного забезпечення та їх грамотне подальше повторне використання повинні відповідати вимогам дотримання зрілості процесів життєвого циклу розробки програмного забезпечення, і простими словами, є ефективною стратегією досягти такої вимоги бізнесу, як low code.
Відповідно до стандарту ISO-24765-2017 артефакт розробки програмного забезпечення – це будь-який предмет, що має до неї відношення, наприклад тест, прототип проекту, текстовий (графічний або інший) опис вимог, архітектури, моделей програмного забезпечення, програмних модулів тощо.
Вагомий внесок у розвиток концептуальних та методологічних основ доменної інженерії зробили такі вітчизняні та закордонні дослідники як: Глушков В.М., Андон П.І., Палагін О.В., Сидоров М.О., Apostolos Ampatzoglou, Thomas Buchman , Marco Autini , Marco Brambilla , Paola Inverardi, Romina Spalanadze, Kevin Lano, Dimitros Kolovos , Jerry Cabot , Luis Ferreira Pires, Massimo Tivoli, Sandra Greiner та інші.
Доменна інженерія в розробці програмного забезпечення складається з двох процесів, а саме, доменного аналізу та інженерії застосувань.
Мета доменного аналізу – систематизація знань, які містяться у наявних артефактах розробки програмного забезпечення. Часто результатом доменного аналізу є доменні моделі, які мають зв’язки трасування з іншими артефактами розробки програмного забезпечення для їх подальшого повторного використання.
Відповідно, процес повторного використання артефактів розробки програмного забезпечення реалізовуються у інженерії застосувань. Вимога сьогодення – підтримка процесу інженерії застосувань у методологіях гнучкої розробки програмного забезпечення. У таких методологіях моделі програмного забезпечення є основними артефактами розробки програмного забезпечення.
Аналіз досліджень провідних наукових шкіл показує, що розвиток доменної інженерії стримує ряд факторів:
- наукові дослідження у сфері повторного використання артефактів розробки програмного забезпечення здебільше проводяться для окремих предметних областей або направлені на розвиток технологій повторного використання певного виду артефактів (метамоделі, інтерфейси користувача тощо) і мають дуже обмежене цільове застосування;
- відсутність стандартів, методологій та формалізованих процедур підготовки метаінформації, що характеризує функціонал та властивості артефактів розробки програмного забезпечення;
- розвиток практичних методів повторного використання артефактів стримується обмеженим функціоналом програмних середовищ керування процесами життєвого циклу розробки програмного забезпечення;
- відсутність гнучкого та точного аналітичного апарату обробки моделей програмного забезпечення, що представляються UML (Unified Modeling Language) діаграмами.
Методи доменної інженерії та методології гнучкої розробки програмного забезпечення складають підґрунтя, яке дозволяє поєднати результати доменного аналізу та процесів інженерії застосувань для подолання вищеперерахованих обмежень.
Актуальні, не вирішені задачі у доменній інженерії, що виходять з практики діяльності провідних наукових шкіл і стосуються різних аспектів доменної інженерії, є передумовою для формування наукових напрямів дослідження співробітниками кафедри. Співробітниками кафедри проводяться дослідження, які відповідають наступним аспектам розвитку доменної інженерії:
Фундаментальні аспекти доменної інженерії:
- розробка нових та удосконалення існуючих методів доменного аналізу;
- розробка нових та удосконалення існуючих методів та методик оцінювання семантики артефактів розробки програмного забезпечення для визначення доцільності повторного використання результатів доменного аналізу у процесах інженерії застосувань (процеси доменного аналізу та інженерії застосувань);
- розробка методик удосконалення процесів життєвого циклу розробки програмного забезпечення у Agile методологіях, що базуються на використанні нових методів обробки моделей програмного забезпечення, що представляються UML діаграмами (процеси інженерії застосувань).
Фундаментально-прикладні аспекти доменної інженерії:
- моделювання та оцінювання ефективності процесів доменного аналізу та інженерії застосувань із використанням як існуючих методів так і нових фундаментальних аспектів, які спрямовані на вирішення актуальних проблем доменної інженерії;
- порівняння ефективності процесів розробки програмного забезпечення як при застосуванні методів доменної інженерії так із використанням інших технологій розробки програмного забезпечення.
Прикладні аспекти доменної інженерії – розробка програмного забезпечення у різних прикладних галузях з застосуванням процедури формування та використання репозиторіїв артефактів розробки програмного забезпечення.
Наукова діяльність кафедри реалізується за наступними напрямками
- кафедральні НДР;
- публікації проведення досліджень співробітниками кафедри із публікацією результатів досліджень у міжнародних наукових виданнях та участь у міжнародних конференціях з інженері програмного забезпечення;
- залучення студентів та аспірантів до фундаментально-прикладних та прикладних досліджень у сфері доменної інженерії;
- проведення на базі кафедри міжнародної конференції Інженерія програмного забезпечення SoftEngine;
- участь співробітників кафедри як організаторів, так і учасників міжнародних наукових конференціях за напрямом «Інженерія програмного забезпечення»;
- інші види діяльності.
тематики кафедральних НДР:
21/09.01.02 – «Методологія інформатизації супроводження експлуатації авіаційної техніки, в тому числі безпілотних літальних апаратів», (2011–2014 рр.),
29/09.01.02 – «Онтології у інженерії програмного забезпечення» (2016–2018 рр.),
58/09.01.02 – «Методологія підвищення ефективності процесів життєвого циклу розробки програмного забезпечення у гнучких підходах його розробки» (2019 – 2022 рр.).
Організація роботи зі студентами
Курси у блоках магістерських дисциплін передбачають формування світогляду, що дозволяє молодому фахівцю аналізувати процеси розробки програмного забезпечення у компанії та програмні середовища підтримки процесів життєвого циклу розробки програмного з метою виявити їх недоліки та зважити ресурси, які необхідні для їх виправлення, та залучення яких фундаментальних основ інженерії програмного забезпечення дозволяє виправити ці недоліки.
Студент може обрати тематики дослідження, що найкращим чином підходять для його кар’єрного зросту та звернутися до викладача, що викладає відповідний курс, для уточнення тематики досліджень та подальше консультування.
Результати досліджень публікуються у міжнародних закордонних наукових виданнях, або проходять апробацію на наукових конференціях (керівник та студент), чи створюють підґрунтя для реалізації statr-up або внесення конкретних пропозицій для удосконалення певних процесів життєвого циклу розробки програмного забезпечення у конкретній компанії, застосовуються при виконанні дипломних робіт тощо.
Організація міжнародної наукової конференції SoftEngine
Міжнародна наукова конференція з інженерії програмного забезпечення SoftEngine проводиться у співпраці з Artificial Intelligence and Knowledge Engineering Research Lab (Cairo, Egypt): The Association of Developers and Users of Intelligent Systems, Faculty of Computer and Information Sciences, Ain Shams University (Cairo, Egypt):, The Institute for Information Theories and Applications FOI ITHEA® (Bulgariya) та V. M. Glushkov Institute of Cybernetics of the NAS of Ukraine (Kyiv, Ukraine).
Тематики конференції
Theoretical Basics of Software Engineering
- AGILE and Model-Driven Approaches to Software Development
- Approaches to Software Development Life Cycle Processes Improvement
- Business Process Management and Engineering
- Empirical Software Engineering
- Formal Foundations of Software Engineering
- Frameworks and Middleware
- Model-Driven Engineering
- Software Development Technologies
- Software Engineering Standards
- Software Patterns and Refactoring
Applied Aspects of Software Engineering
- Approaches and Models to Estimate Expenses of Future Software Project
- Component-Based Software Engineering
- Requirements Engineering
- Service-Oriented Software Engineering
- Software Designing
- Software Quality
- Software Maintains and Evolution
- Software Testing
Software Engineering Application Domains
- Agent and Multi-Agent Systems
- Biotechnologies and Smart Health Technologies
- Cloud Computing
- Data Bases and Knowledge Bases
- Image Processing and Computer Vision
- Internet
- Security
- Software Development for Mobile Operation Systems
- Real-Time Systems
- Network and Data Communications
- User-Centered Software Engineering
Посилання на сторінку конференції: http://www.ithea.org/softengine/
Тези подаються на англійській мові.
Кафедральна науково-дослідна робота
№ 58/09.01.02
“Методологія підвищення ефективності процесів життєвого циклу розробки програмного забезпечення у гнучких підходах його розробки”.
№ 33/09.01.02
“Експертна система ситуаційного синтезу програми технічного обслуговування регіональних транспортних літаків типу АН-32 на базі оптимізаційних нейронних мереж”.
№ 47/09.01.02
“Програмно-апаратний комплекс моніторингу кібернетичного простору”.