An improved method for increasing maintainability in terms of serverless architecture application

2023;
: 9-16
https://doi.org/10.23939/ujit2023.01.009
Received: April 28, 2023
Accepted: May 02, 2023

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

Citation APA: Lakhai, V. Y., Kuzmych, O. M., Seniv, M. M. (2023). An improved method for increasing maintainability in terms of serverless architecture application. Ukrainian Journal of Information Technology, 5(1), 09–16. https://doi.org/10.23939/ujit2023.01.009

1
Lviv Polytechnic National University, Lviv, Ukraine
2
Lviv Polytechnic National University, Lviv, Ukraine
3
Lviv Polytechnic National University, Lviv, Ukraine

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.

[1] ISO25010/57. (2022). Maintainability. https://iso25000.com/index.php/en/iso-25000-standards/iso-25010/57-maintainability

[2] Alenezi, M., & Zarour, M. (2020). On the relationship between software complexity and security. International Journal of Software Engineering & Applications (IJSEA), 11(1), 51–60. https://doi.org/10.5121/ijsea.2020.11104

[3]  Abeyrathne, T. K. L., Gayal, B. A. I., Jayathilake, R. D. C. K., Weththasinghe, W. V. S. A. (2021). Increase Maintainability of a Software Product using Structuredness. University of Kelaniya. https://www.researchgate.net/publication/354363138_Increase_Maintainability_of_a_Software_Product_using_Structuredness

[4] Hasselbring, W. (2018). Software Architecture: Past, Present, Future. Gruhn, V., Striemer, R. (eds.). The Essence of Software Engineering. Springer, Cham. https://doi.org/10.1007/978-3-319-73897-0_10

[5] Lakhai, V., Kuzmych, O., Seniv, M. (2022). An improved approach to the development of software with increased requirements for flexibility and reliability in terms of creating small and medium-sized projects. IEEE 17th International Conference on Computer Sciences and Information Technologies (CSIT). Lviv. https://doi.org/10.1109/csit56902.2022.10000787

[6] Bondyopadhyay, A., & Dr. Mandal, A. C. (2022). Improvement of Software Reliability using Data Mining Technique. International Journal of Scientific and Research Publications, 12(6), 183–187. http://dx.doi.org/10.29322/IJSRP.12.06.2022.p126XX

[7] Anwer, F., Aftab, S., Waheed, U., Muhammad, S. S. (2017). Agile Software Development Models TDD, FDD, DSDM, and Crystal Methods: A Survey. International Journal of Multidisciplinary Sciences and Engineering, 246–270. https://www.researchgate.net/publication/316273992_Agile_Software_Development_Models_TDD_FDD_DSDM_and_Crystal_Methods_A_Survey

[8] Landre, E., Wesenberg, H., Olmheim, J. (2007). Agile enterprise software development using domain-driven design and test first. 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2007. https://doi.org/10.1145/1297846.1297967

[9] Uludag, O., Hauder, M., Kleehaus, M., Schimpfle C., Matthes, F. (2018). Supporting Large-Scale Agile Development with Domain-Driven Design. International Conference on Agile Software Development, 232–247. http://dx.doi.org/10.1007/978-3-319-91602-6_16 

[10] Martin, R. C. (2017). Clean Architecture: A Craftsman’s Guide To Software Structure And Design, London: Pearson [in England].

[11] Radon. (2020). Code Metrics. https://radon.readthedocs.io/en/latest/intro.html