УПРАВЛІННЯ ПРОЄКТАМИ З РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ НА ОСНОВІ НЕЧІТКОЇ ЛОГІКИ ТА НЕЙРОННИХ МЕРЕЖ
01.12.2024 13:48
[1. Информационные системы и технологии]
Автор: Рипіч Богдан Віталійович, магістр, Західноукраїнський національний університет, м. Тернопіль
Сучасні методи оцінки зусиль використовують машинне навчання для врахування складних залежностей і роботи з великими даними. Ансамблеві підходи, такі як Random Forest і Gradient Boosting, забезпечують високу точність завдяки комбінуванню кількох моделей [1]. Глибокі та рекурентні нейронні мережі ефективно моделюють нелінійні зв'язки між параметрами проєкту [2]. Водночас ML-методи потребують значних обчислювальних ресурсів і якісних великих даних, що ускладнює їх застосування в невеликих проєктах [3].
Метод управління проєктами з розробки програмного забезпечення на основі нечіткої логіки та нейронних мереж є інноваційним підходом, який поєднує переваги методів нечіткої логіки для роботи з невизначеністю та потужність нейронних мереж у прогнозуванні складних залежностей. Цей метод розроблено для забезпечення більш точного прогнозування зусиль, часу та ресурсів, необхідних для реалізації програмного проєкту, що дозволяє ефективніше керувати процесами розробки, оптимізувати витрати та зменшувати ризики, пов'язані з невизначеністю та змінами у проєкті.
Основні елементи концепції:
1. Нечітка логіка для роботи з невизначеністю.
1.1. Нечіткі множини та правила. Нечітка логіка використовується для формалізації невизначених та розмитих понять, таких як "великий", "складний", "середній", що часто виникають у процесі управління програмними проєктами. Це дозволяє створити нечіткі множини для різних параметрів проєкту (наприклад, досвід команди, складність задач, розмір бази даних) та формувати правила на основі цих множин.
1.2. Мамдані-метод. Найбільш поширеним способом використання нечіткої логіки є Мамдані-метод, який дозволяє створювати правила у вигляді "Якщо-то" (If-Then). Наприклад, "Якщо проєкт має високу складність та великий розмір, то необхідний високий рівень зусиль". Нечітка система на основі цих правил дозволяє автоматизувати процес прийняття рішень при розподілі ресурсів та плануванні строків.
1.3. Дефазифікація. Після обчислення нечітких значень відбувається процес дефазифікації, який перетворює результати у чіткі значення, які використовуються для подальшого управління проєктом. Це дозволяє приймати конкретні рішення щодо планування ресурсів, складу команди та розподілу часу.
2. Нейронні мережі для прогнозування та адаптації.
2.1. Рекурентні нейронні мережі (RNN). Рекурентні нейронні мережі, зокрема гіперболічні тангенсні рекурентні радіальні нейронні мережі (HTRR-RNN), використовуються для моделювання складних залежностей між параметрами проєкту та прогнозування зусиль. RNN добре підходять для обробки послідовних даних та врахування попередніх результатів, що дозволяє їм краще моделювати динаміку проєктів у часі.
2.2. Навчання на основі історичних даних. Нейронна мережа навчається на основі історичних даних проєктів, що включають такі параметри, як розмір програмного продукту, досвід команди, тривалість попередніх проєктів, складність завдань тощо. Це дозволяє їй виявляти приховані закономірності та робити точніші прогнози зусиль для нових проєктів.
2.3. Адаптація до змін у проєкті. Використання нейронних мереж дозволяє адаптуватися до змінних умов проєкту, таких як зміна вимог або збільшення складності. Мережа може оновлювати свої параметри на основі нових даних, що дозволяє керівникам проєктів оперативно реагувати на зміни та коригувати прогноз зусиль.
3. Інтеграція нечіткої логіки та нейронних мереж.
3.1. Поєднання переваг обох підходів. Метод поєднує здатність нечіткої логіки обробляти невизначеність із можливістю нейронних мереж моделювати складні нелінійні залежності. Наприклад, на етапі кластеризації проєктів нечітка логіка може використовуватися для визначення подібності між проєктами на основі різних критеріїв, а нейронні мережі — для точного прогнозування зусиль на основі виділених ознак.
3.2. Нечітко-нейронний підхід. Це підхід, у якому нечітка логіка використовується на початкових етапах для формування правил та розподілу даних, а нейронна мережа застосовується для прогнозування та корекції результатів. Така інтеграція дозволяє зменшити обчислювальну складність процесу, підвищити точність та забезпечити більш гнучке управління проєктами.
Переваги та практичні аспекти методу:
• підвищення точності прогнозування зусиль;
• оптимізація використання ресурсів;
• адаптивність до динамічних змін;
• прийняття обґрунтованих рішень.
Метод управління проєктами з розробки програмного забезпечення на основі нечіткої логіки та нейронних мереж є потужним інструментом для прогнозування зусиль у сучасних програмних проєктах. Він забезпечує високу точність та гнучкість у змінних умовах, що дозволяє зменшити ризики, пов'язані з невизначеністю, та підвищити ефективність реалізації програмних проєктів. Це робить його особливо цінним для великих IT-компаній, які працюють у конкурентному середовищі та прагнуть оптимізувати свої процеси управління проєктами.
Література
1. Mittas, N., Angelis, L. Ranking and clustering software cost estimation models through a multiple comparisons algorithm. IEEE Transactions on Software Engineering. 2013. 39(4). 537–551.
2. Ezghari, S., Zahi, A. Uncertainty management in software effort estimation using a consistent fuzzy analogy-based method. Applied Soft Computing. 2018. 67. 540–557.
3. Nhung, H. L. T. K., Van Hai, V., Silhavy, R., Prokopova, Z., Silhavy, P. Parametric software effort estimation based on optimizing correction factors and multiple linear regression. IEEE Access. 2022. 10. 2963–2986.