ІНТЕГРАЦІЯ ЕВОЛЮЦІЙНИХ АЛГОРИТМІВ І МЕТОДУ АНАЛОГІЙ ДЛЯ ПІДВИЩЕННЯ ТОЧНОСТІ ОЦІНКИ ВАРТОСТІ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
01.12.2024 13:35
[1. Information systems and technologies]
Author: Мормуль Андрій Романович, магістр, Західноукраїнський національний університет, м. Тернопіль
Розробка програмного забезпечення охоплює низку завдань, спрямованих на ефективне управління життєвим циклом програмного продукту. Цей цикл умовно поділяється на три основні етапи: планування, розробку та підтримку [1]. Кожен із цих етапів вимагає дотримання визначених правил і процедур. На етапі планування одним із найважливіших завдань є оцінка вартості, яка виконується на початкових етапах проєкту [2]. Її точність відіграє вирішальну роль, оскільки від правильності оцінки залежить успіх чи невдача проєкту [3].
Оцінка вартості програмних проєктів є важливою проблемою в індустрії розробки програмного забезпечення, оскільки точність таких оцінок безпосередньо впливає на ефективність управління проєктами, розподіл ресурсів, визначення термінів та уникнення ризиків перевитрат. Традиційні методи оцінки часто не справляються з невизначеністю та різноманітністю характеристик програмних проєктів, що призводить до значних відхилень у прогнозах.
Одним із найбільш перспективних підходів до оцінки є метод аналогій (Analogy-Based Estimation, ABE) [4], що ґрунтується на порівнянні нового проєкту з завершеними, схожими за характеристиками проєктами, інформація про які зберігається в історичних наборах даних. Метод оцінки вартості програмного забезпечення на основі аналогій полягає у тому, що новий проєкт порівнюється із завершеними, схожими за характеристиками проєктами. Такий підхід дозволяє робити прогнози щодо вартості, використовуючи інформацію з історичних даних. Проте точність оцінок значною мірою залежить від правильності визначення схожості між проєктами, що часто є складним завданням через багатофакторність характеристик програмного забезпечення.
Однак, попри простоту та практичність цього підходу, його ефективність може знижуватись через складність налаштування функції схожості між проєктами та визначення ваг для характеристик, які найбільше впливають на точність оцінки.
Для подолання цих недоліків в даному дослідженні пропонується використання моделі навчальної еволюції (Learnable Evolution Model, LEM) [5], яка дозволяє оптимізувати ваги характеристик для функції схожості на основі еволюційних алгоритмів і машинного навчання. Завдяки цьому можливо автоматично виявляти найбільш релевантні характеристики та їх вплив на оцінку вартості, що дозволяє підвищити точність прогнозування.
Для підвищення точності оцінок було запропоновано вдосконалити цей підхід шляхом інтеграції алгоритму LEM із традиційним методом ABE. Завдяки цьому поєднанню модель отримала здатність автоматично оптимізувати ваги характеристик, які використовуються у функції схожості. Це означає, що ваги характеристик адаптуються для кожного нового проєкту, що дозволяє враховувати специфіку різних даних і підвищувати точність прогнозів.
Запропонований підхід працює у два етапи: навчання та тестування [59].
1. Фаза навчання:
• модель аналізує навчальні дані, де кожен проєкт оцінюється за допомогою функції схожості, визначеної вагами характеристик;
• алгоритм LEM поступово оптимізує ваги характеристик, мінімізуючи помилки оцінки (MRE, MMRE) і максимізуючи точність (PRED 0.25);
• в процесі навчання визначаються оптимальні ваги для кожної характеристики, що дозволяє моделі краще адаптуватися до специфіки проєктів.
2. Фаза тестування:
• оптимізовані ваги, отримані на етапі навчання, використовуються для оцінки нових проєктів;
• метод функції схожості та найближчого сусіда дозволяє спрогнозувати вартість, обчислюючи відносну помилку (MRE);
• кінцеві критерії (MMRE, PRED 0.25) використовуються для оцінки точності моделі.
Ключові елементи:
• оптимізація ваг характеристик: LEM знаходить найбільш відповідні ваги, враховуючи нелінійні залежності між параметрами проєктів;
• ефективні критерії оцінки: MMRE, MdMRE та PRED (0.25) дозволяють порівнювати точність моделі з іншими методами.
Переваги:
• забезпечує високу точність оцінок шляхом адаптації до особливостей проєктів;
• мінімізує похибки у прогнозах завдяки оптимізованим вагам;
• поєднує простоту методу аналогій із потужністю машинного навчання.
Цей підхід робить оцінку вартості програмного забезпечення більш точною та надійною, особливо для складних проєктів з великою кількістю змінних.
Література
1. Boehm, B. W. Software engineering economics. IEEE Transactions on Software Engineering. 1984. 10(1). 4–21.
2. Xu, Z., Khoshgoftaar, T. M. Identification of fuzzy models of software cost estimation. Fuzzy Sets Systems. 2004. 145(1). 141–163.
3. Dillibabu, R., Krishnaiah, K. Cost estimation of a software product using COCOMO II. 2000 model-a case study. International Journal of Project Management. 2005. 23(4). 297–307.
4. Benala, T. R., Mall, R. DABE: Differential evolution in analogy-based software development effort estimation. Swarm Evolutionary Computation. 2018. 38(4). 158–172.
5. Wojtusiak, J., Michalski, R. S. The LEM3 implementation of learnable evolution model: User’s guide. In: Reports Machine Learning and Inference Laboratory. George Mason University. 2004. 1–23.