DESIGN OF THE ARCHITECTURE OF THE AUTOMATED SYSTEM FOR CREATING THE ACCOMPANYING DOCUMENTATION OF THE EDUCATIONAL PROCESS

Bulletin of Kyiv Polytechnic Institute. Instrument making series, Jun 2024

Background. The architecture of the automated system is the main source of quality of software and software-hardware systems. It determines how quickly and efficiently a developer is able to analyze, understand, test, extend, and maintain an automated system. Changes in the system architecture have a high cost due to its complexity and the possibility of destruction during expansion. At present, most of the knowledge and information about the design decisions on which the architecture is based are implicitly embedded in it, which leads to problems during the development process, in particular, during the programmatic implementation of its structural elements. It is determined that, despite the long way that the evolution of systems architecture has passed, today there are very few objective, repeatable and empirically based methodologies and tools for the design and analysis of architecture. As a rule, software architects are programmers who have decades of experience in software development practice. Given their experience, they clearly understand that errors in the architecture design are the root causes of lower-level problems that manifest in the software code. Most often, a programmer feels when the architecture of his project is of low quality, because there are a large number of technical flaws, the number of which only increases with time. But most projects continue to be implemented, which leads to a decrease in the quality of the finished automated system. Objective. The purpose of this work is to design and document the software architecture of the automated system for creating the accompanying documentation of the educational process in order to take the first step towards understanding the relationships and the impact of the adopted project decisions on the code base. Conclusions. To achieve the goal, a class of multi-level architectures was chosen, among which the three-level architecture is the most common. Features of implementation of open and closed three-level architectures are considered. On the basis of the MVC architectural template, an architectural project of an automated system for creating accompanying documentation of the educational process has been developed. The main subsystems and data elements are documented.

Article PDF cannot be displayed. You can download it here:

https://visnykpb.kpi.ua/article/download/306737/298394

DESIGN OF THE ARCHITECTURE OF THE AUTOMATED SYSTEM FOR CREATING THE ACCOMPANYING DOCUMENTATION OF THE EDUCATIONAL PROCESS

ISSN (p) 0321-2211, ISSN (e) 2663-3450 Автоматизація та інтелектуалізація приладобудування DOI: 10.20535/1970.67(1).2024.306737 УДК 004.4 ПРОЄКТУВАННЯ АРХІТЕКТУРИ АВТОМАТИЗОВАНОЇ СИСТЕМИ СТВОРЕННЯ СУПРОВІДНОЇ ДОКУМЕНТАЦІЇ ОСВІТНЬОГО ПРОЦЕСУ Цибульник С. О., Накорик В. В., Півторак Д. О. Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», Київ, Україна E-mail: , Архітектура програмної автоматизованої системи є основним джерелом якості програмних та програмно-апаратних систем. Вплив архітектури полягає в тому, що вона визначає, наскільки швидко та ефективно розробник здатний проаналізувати, зрозуміти, перевірити, розширити та підтримувати програмну автоматизовану систему. Зміни в архітектурі програмної системи мають високу вартість через її складність та можливість руйнування під час розширення. У даний час більшість знань та інформація про дизайнерські рішення, на яких базується архітектура, неявно вбудовані в неї, що призводить до виникнення проблем під час процесу розроблення, зокрема при програмній реалізації її структурних елементів. Визначено, що, незважаючи на довгий шлях, який пройшла еволюція архітектури програмних систем, на сьогодні існує дуже мало об'єктивних, повторюваних та емпірично обґрунтованих методологій та інструментів для проєктування та аналізу архітектури. Здебільшого архітекторами програмного забезпечення є програмісти з великим досвідом практики розроблення програмного забезпечення. Враховуючи цей досвід, вони чітко розуміють, що помилки в проєкті архітектури є причинами проблем нижчого рівня, що проявляються в програмному коді. Найчастіше програміст відчуває, коли архітектура його проєкту має низьку якість, тому що існує велика кількість технічних недоліків, кількість яких з часом лише зростає. Але більшість проєктів продовжують виконання, що призводить до зниження якості готової програмної автоматизованої системи. Саме тому метою даної роботи є проєктування та документування програмної архітектури на прикладі автоматизованої системи створення супровідної документації освітнього процесу, щоб зробити перший крок у напрямку розуміння взаємозв’язків та впливу прийнятих проєктних рішень на кодову базу. Для досягнення мети було обрано клас багаторівневих архітектур, серед яких найбільш поширеною є трирівнева. Розглянуто особливості реалізації відкритої та закритої трирівневих архітектур. На основі архітектурного шаблону MVC розроблено проєкт архітектури автоматизованої системи створення супровідної документації освітнього процесу. Задокументовано основні підсистеми та елементи даних. Ключові слова: автоматизована система; архітектура; програмне забезпечення; MVC; документування. Вступ Архітектура програмної автоматизованої системи є основним джерелом якості та (з точки зору довговічності) стійкості програмних та програмноапаратних систем. Це пов’язано з тим, що саме архітектура впливає на те, наскільки швидко та правильно розробник здатний проаналізувати, зрозуміти, перевірити, розширити та підтримувати програмну автоматизовану систему [1]. Внесення змін до архітектури програмної системи має високу вартість через те, що вона є дуже складною та може руйнуватися під час розширення. Наразі майже всі знання та інформація про проєктні рішення, на яких базується архітектура, неявно вбудовані в неї, що призводить до виникнення проблем під час процесу розроблення, тобто при програмній реалізації її структурних елементів. Сьогодні зазвичай під архітектурою програмної автоматизованої системи прийнято вважати структурно-функціональну модель, яка описує структуру (склад) системи (підсистеми, рівні, ком- поненти тощо), функції елементів, їх взаємозв’язки та взаємодію (інтерфейси), а також правила їх композиції. Проте дане визначення не єдине. Якщо дивитися з огляду на структури, то архітектура програмної автоматизованої системи охоплює сукупність компонентів (структур), які складаються з елементів програмного забезпечення, їхніх взаємозв’язків та властивостей [2, 3]. З іншого боку [4] архітектуру можна вважати рядом проєктних рішень, які забезпечують якість та стійкість програмної системи в процесі її розроблення, розширення та супроводу. Отже, під архітектурою програмної автоматизованої системи варто розуміти не будь-яку структурно-функціональну модель, а лише таку, в якій внутрішні системні інтерфейси мають точний опис, який виключає двояке розуміння функціональних особливостей, а також забезпечуються якість та стійкість системи в процесі розроблення та супроводу. За останні п’ятдесят років у сфері проєкту- Вісник КПІ. Серія ПРИЛАДОБУДУВАННЯ, Вип. 67(1), 2024. 77 ISSN (p) 0321-2211, ISSN (e) 2663-3450 Автоматизація та інтелектуалізація приладобудування вання архітектури програмних автоматизованих систем було створено багато важливих та інноваційних методологій та засобів, які їх реалізовують [5]. Особливий вплив на розвиток даного напрямку здійснили принципи об’єктно-орієнтовного проєктування. Ідеї абстракції та інкапсуляції (приховування деталей реалізації) змінили погляд програмістів, їх думки та бачення програмних автоматизованих систем завдяки розробленню новітніх принципів програмування (наприклад, SOLID), архітектурних шаблонів [6-8], фреймворків тощо. Однак, незважаючи на довгий шлях, який пройшла еволюція архітектури програмних систем, на сьогодні існує дуже мало об’єктивних, повторюваних та емпірично обгрунтованих методологій та інструментів для проєктування та аналізу архітектури. Зазвичай архітекторами програмного забезпечення стають програмісти, які мають декілька десятиліть стажу практики розроблення програмного забезпечення [5]. Враховуючи їх досвід, вони чітко розуміють, що помилки в проєкті архітектури є корінними причинами проблем нижчого рівня, що проявляються в програмному коді [6, 9]. Найчастіше розробник (програміст) знає або, принаймні, відчуває, коли архітектура його проекту має низьку якість, тобто існує величезна і постійно зростаюча кількість технічних недоліків, через які продуктивність програмної системи падає. Але більшість розробників через брак досвіду і знань про програмну архітектуру мають проблеми з визначенням того, як і чому це відбувається, і ще менше розуміють, як це виправити. Тому їм майже неможливо довести до керівництва, що архітектура проєкту та кодова база мають бути ретельно проаналізовані та перероблені [5]. Оскільки розробники не мають необхідних даних та знань, вони не не можуть надати переконливих доказів того, що у разі проведення рефакторингу ситуація покращиться. З цієї причини більшість проєктів продовжують виконання, що призводить до зниження якості готової програмної автоматизованої системи. Для багатьох галузей промисловості та суспільства [10-13] відсутня необхідність в обговоренні великої важливості використання програмних автоматизованих систем достатнього рівня якості (наприклад, не крихких [14]). Програмні системи стали надзвичайно поширеними, а разом з ними виросла залежність суспільства від автоматизованих систем, які керуються програмним (...truncated)


This is a preview of a remote PDF: https://visnykpb.kpi.ua/article/download/306737/298394
Article home page: https://visnykpb.kpi.ua/article/view/306737/298394

Сергій Цибульник, Накорик Вікторія, Діана Півторак. DESIGN OF THE ARCHITECTURE OF THE AUTOMATED SYSTEM FOR CREATING THE ACCOMPANYING DOCUMENTATION OF THE EDUCATIONAL PROCESS, Bulletin of Kyiv Polytechnic Institute. Instrument making series, 2024, pp. 77-83,