Оцінювання витрат на проведення рефакторингу бази даних інформаційної системи, яка експлуатується

Автор(и)

  • Максим Вікторович Євланов Харківський національний університет радіоелектроніки, кафедра ІУС, Україна https://orcid.org/0000-0002-6703-5166
  • Іван Олексійович Юр'єв Харківський національний університет радіоелектроніки, кафедра ІУС, Україна https://orcid.org/0000-0002-5178-519X
  • Дмитро Олександрович Мірошниченко Харківський національний університет радіоелектроніки, здобувач вищої освіти, група УПГІТм-21-1, Україна

DOI:

https://doi.org/10.30837/0135-1710.2023.179.004

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

рефакторинг, база даних, СОСОМО ІІ, SQL, запит на зміну

Анотація

Об’єктом дослідження є робота з прийняття рішення щодо доцільності проведення рефакторингу бази даних інформаційної системи, яка експлуатується. Визначено, що основні рекомендації з формування та прийняття подібних рішень базуються на використанні переважно інтуїції та досвіду особи, яка приймає рішення. Сучасні дослідження в галузі рефакторингу баз даних присвячені, головним чином, аналізу та вдосконаленню прикладних методик рефакторингу. Проблема визначення доцільності рефакторингу бази даних та, зокрема, визначення можливості здійснення рефакторингу в умовах діючих обмежень ІТ-проєкта залишається практично невирішеною. Тому проведення досліджень з вирішення цієї проблеми є актуальним з теоретичної і прикладної точок зору.

Як основі моделі оцінювання витрат було обрано моделі СОСОМО ІІ. Визначені особливості використання цих моделей під час розрахунку трудовитрат для ІТ-проєктів модифікації або розвитку програмних систем. Встановлені основні SQL-команди, які найчастіше використовуються під час рефакторингу бази даних. Розроблено моделі оцінювання кількості рядків вихідного коду кожної з цих SQL-команд. Вдосконалено модель оцінювання кількості рядків вихідного коду для ІТ-проєкту модифікації або розвитку систем, окремим випадком якого пропонується вважати рефакторинг бази даних.

Проведено експериментальну перевірку отриманих наукових результатів. Для такої перевірки було обрано базу даних інформаційно-облікової системи однієї з організацій, яка виконує функції Інтернет-провайдера. Для цієї системи було сформульовано два запити на зміну, за якими слід було проводити рефакторинг бази даних. Описана послідовність дій з оцінювання трудовитрат і витрат часу на рефакторинг бази даних за визначеними запитами на зміну. Отримані результати оцінювання дозволяють прийняти рішення про можливість проведення рефакторингу бази даних інформаційно-облікової системи.

Біографії авторів

Максим Вікторович Євланов, Харківський національний університет радіоелектроніки, кафедра ІУС

доктор технічних наук, професор, професор кафедри ІУС ХНУРЕ, м. Харків, Україна, науковий керівник здобувача вищої освіти Мірошниченка Д.О.

Іван Олексійович Юр'єв, Харківський національний університет радіоелектроніки, кафедра ІУС

кандидат технічних наук, доцент, доцент кафедри ІУС ХНУРЕ, м. Харків, Україна.

Дмитро Олександрович Мірошниченко, Харківський національний університет радіоелектроніки, здобувач вищої освіти, група УПГІТм-21-1

здобувач вищої освіти, група УПГІТм-21-1, факультет комп’ютерних наук, ХНУРЕ, м. Харків, Україна.

Посилання

Fowler M. Refactoring Home Page. Refactoring. URL: https://www.refactoring.com/ (дата звернення: 20.04.2023).

Ambler S. W., Sadalage P. Refactoring Databases: Evolutionary Database Design. Addison-Wesley Longman, Incorporated, 2006. 384 p.

Database Refactoring: Improve Production Data Quality. The Agile Data (AD) Method - Strategies for effective data-oriented development. URL: http://agiledata.org/essays/databaseRefactoring.html (date of access: 07.04.2023).

The evolution of knowledge in the refactoring research field / M. Orrú et al. XP 2015 Workshops: XP 2015 Scientific Workshops Proceedings, Helsinki Finland. New York, NY, USA, 2015. https://doi.org/10.1145/2764979.2764989.

Vial G. Database Refactoring: Lessons from the Trenches. IEEE Software. 2015. Vol. 32. No. 6. P. 71–79. https://doi.org/10.1109/ms.2015.131.

Khumnin P., Senivongse T. SQL antipatterns detection and database refactoring process. 2017 18th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD), Kanazawa, Japan, 26–28 June 2017. 2017. https://doi.org/10.1109/snpd.2017.8022723.

Synthesizing database programs for schema refactoring / Y. Wang et al. PLDI '19: 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, Phoenix AZ USA. New York, NY, USA, 2019. https://doi.org/10.1145/3314221.3314588.

Filatov V., Semenets V. Methods for Synthesis of Relational Data Model in Information Systems Reengineering Problems. 2018 International Scientific-Practical Conference Problems of Infocommunications. Science and Technology (PIC S&T), Kharkiv, Ukraine, 9–12 October 2018. 2018. https://doi.org/10.1109/infocommst.2018.8632144.

Bohm L. Refactoring Legacy T-SQL for Improved Performance. Berkeley, CA: Apress, 2020. https://doi.org/10.1007/978-1-4842-5581-0.

Fernandes I. P., Terra-Neves M., Seco J. C. Automated Refactoring of Unbounded Queries in Software Automation Platforms. 2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), Fukuoka, Japan, 10–15 October 2021. 2021. https://doi.org/10.1109/models-c53483.2021.00065.

Spasić M., Janičić M. V. Verification supported refactoring of embedded SQL. Software Quality Journal. 2020. Vol. 29, no. 3. PP. 629–665. https://doi.org/10.1007/s11219-020-09517-y.

Managing Technical Debt in Database Normalization / M. Albarak et al. IEEE Transactions on Software Engineering. 2020. P. 1. https://doi.org/10.1109/tse.2020.3001339.

How do i refactor this? An empirical study on refactoring trends and topics in Stack Overflow / A. Peruma et al. Empirical Software Engineering. 2021. Vol. 27, no. 1. https://doi.org/10.1007/s10664-021-10045-x.

COCOMO II Model Definition Manual Version 2.1. 2000. 90 р. URL: https://www.rose-hulman.edu/class/cs/csse372/201310/Homework/CII_modelman2000.pdf (дата звернення: 12.04.2023).

SQL | DDL, DQL, DML, DCL and TCL Commands - GeeksforGeeks. GeeksforGeeks. URL: https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/ (дата звернення: 12.04.2023).

SQL DDL Commands | Learn the DDL Commands of SQL. EDUCBA. URL: https://www.educba.com/sql-ddl-commands/ (дата звернення: 12.04.2023).

Євланов М.В., Юр’єв І.О., Мірошниченко Д.О. Оцінювання доцільності проведення рефакторингу бази даних інформаційної системи, яка експлуатується. АСУ і прилади автоматики. 2022. Вип. 178. С. 13–22. DOI:10.30837/0135-1710.2022.178.013

##submission.downloads##

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

2023-11-27