Удосконалений метод підвищення зручності супроводу за умов застосування безсерверної архітектури

Abstract

З’ясовано, що досягнення високих показників якості програмного забезпечення (ПЗ), зокрема зручності його супроводу (англ. maintainability [1]), з кожним робом стає дедалі більшою проблемою через появу нових технологій, зокрема хмарних технологій та безсерверної архітектури. Попри це, вимоги до рівня зручності супроводу ПЗ тільки зростають, а дана характеристика його якості отримує все більше уваги. Раніше розроблені науковими та інженерними спільнотами численні інструменти, методології, підходи та методи розробки ПЗ для його підвищення якості є недостатньо ефективними за наявних умов. Було підтверджено, що застосування удосконаленого методу підвищення зручності супроводу ПЗ за умов застосування безсерверної архітектури є нагальною необхідністю. Було проаналізовано поточний стан підходів до підвищення зручності супроводу ПЗ. Внаслідок цього була обрана так звана “чиста архітектура” (з англ. Clean Architecture) як найкращий наявний підхід із причини того, що він успадковує основні переваги конкурентних підходів, надає чіткіші настанови та охоплює ширший спектр процесу розроблення ПЗ. Незважаючи на те, що він забезпечує істотне підвищення основних характеристик зручності супроводу ПЗ, таких як модульність (англ. modularity) і зручність перевикористання (англ. resusability), все ще є інші характеристики, які потрібно розглянути, такі як аналізованість (англ. analyzability), модифікованість (англ. modifiability) і тестування (англ. testability). Було визначено вимоги та розроблено удосконалений метод підвищення зручності супроводу ПЗ за умов застосування безсерверної архітектури, який задовольняє всі попередньо сформульовані вимоги. Зокрема, цей підхід покращує роботу з залежностями, надає базову структуру для компонент, підвищує згуртованість та зменшує зчепленість функціоналу. Для оцінювання ефективності створеного методу було розроблено дві реалізації одного й того ж проекту: на підставі Clean Architecture та з використанням удосконаленого методу. Для них були розраховані такі метрики оцінювання зручності супроводу ПЗ: показник зручності супроводу ПЗ (англ. Maintainability Index, MI) та його варіація, за якої до уваги беруться тільки файли з показником менше 100, яку будемо називати відфільтрований показник зручності супроводу ПЗ (англ. Filtered Maintainability Index, FMI). Проаналізувавши отримані результати, було виявлено, що застосування удосконаленого методу підвищує значення першої метрики на 2,1 % та другої на 8,3 %. Отже, було доведено ефективність розробленого вдосконаленого методу.
It has been found that achieving high quality indicators, in particular maintainability [1], is becoming an increasing problem due to the emergence of new technologies, in particular cloud technologies and serverless architecture. Despite this, requirements for the level of ease of support are only growing, and this characteristic of software quality is receiving more and more attention. The numerous tools, methodologies, approaches and methods of software development previously developed by the scientific and engineering communities for its enhancement are insufficiently effective under the existing conditions. It was confirmed that the use of an improved method to increase the convenience of maintenance under the conditions of using a serverless architecture is an urgent necessity. The current state of approaches to increasing the convenience of support was analyzed. As a result, Clean Architecture was chosen as the best existing approach because it inherits the main advantages of competing approaches, provides clearer instructions, and covers a wider range of the development process. Although it provides significant improvements in key maintainability characteristics such as modularity and reusability, there are still other characteristics that need to be considered, such as analyzability. modifiability and testability. The requirements for the improved method were determined and an improved method was developed to increase the convenience of support in the conditions of using a serverless architecture, which satisfies all the previously formulated requirements. In particular, this approach improves work with dependencies, provides a basic structure for components, increases cohesion and reduces coupling of functionality. To evaluate the effectiveness of the created method, two implementations of the same project were developed: based on Clean Architecture and using the improved method. The following maintainability assessment metrics were calculated for them: the Maintainability Index (MI) and its variation, in which only files with an index of less than 100 are taken into account, which we will call the Filtered Maintainability Index FMI. Analyzing the obtained results, it was found that the application of the improved method increases the value of the first metric by 2.1 % and the second by 8.3 %. In this way, the effectiveness of the developed improved method was proven.

Description

Keywords

чиста архітектура, інверсія залежностей, ін’єкція залежностей, безсерверність, clean architecture, dependencies inversion, dependency injection, serverless

Citation

Лахай В. Я. Удосконалений метод підвищення зручності супроводу за умов застосування безсерверної архітектури / В. Я. Лахай, О. М. Кузьмич, М. М. Сенів // Український журнал інформаційних технологій. — Львів : Видавництво Львівської політехніки, 2023. — Том 5. — № 1. — С. 9–16.