Тип работы:
Предмет:
Язык работы:


Исследование методов машинного обучения в оценке трудоемкости разработки корпоративных информационных систем

Работа №110830

Тип работы

Магистерская диссертация

Предмет

информатика

Объем работы70
Год сдачи2021
Стоимость4945 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
112
Не подходит работа?

Узнай цену на написание


Введение 4
Глава 1 Анализ предметной области 8
1.1 Обзор существующих работ 9
1.2 Аналитический обзор существующих систем 13
1.2.1 Jira 13
1.2.2 GoodDay 14
1.2.3 COCOMO II Web 15
1.2.4 SLIM-Estimate 15
1.3 Вывод 17
Глава 2 Анализ существующих методов и подходов 18
2.1 Обзор существующих математических моделей для решения задачи
трудоемкости разработки корпоративных информационных систем 18
2.1.1 Регрессия опорных векторов 18
2.1.2 Случайный лес 20
2.1.3 Искусственная нейронная сеть 21
2.1.4 Сеть радиальных базисных функций 23
2.1.5 Обобщенная регрессионная нейронная сеть 24
2.1.6 Ансамбль 27
2.2 Вывод 28
Глава 3 Проектирование и реализация модели 29
3.1 Проектирование системы 29
3.1.1 Составление требований к системе 29
3.1.2 Функциональные требования к системе 29
3.1.3 Нефункциональные требования к системе 29
3.1.4 Варианты использования системы 30
3.2 Проектирование системы 31
3.2.1 Компоненты системы 31
3.2.2 Схема базы данных 33
3.3 Построение модели анализатора 35
3.3.1 Выбор меры эффективности алгоритмов 35
3.3.2 Описание данных 37
3.3.3 Предобработка данных 48
3.4 Описание параметров модели 51
3.5 Реализация системы 53
3.5.1 Средства реализации 53
3.5.2 Реализация доступа к данным 53
3.5.3 Авторизация в системе 55
3.5.4 Реализация анализатора 57
3.6 Вывод 59
Глава 4 Анализ результатов исследования 60
4.1 Сравнение моделей машинного обучения 60
4.2 Анализ результатов работы анализатора и перспектив
реализованной веб-системы 62
4.3 Рекомендации по практическому применению полученных
результатов и перспектива развития исследования 65
Заключение 66
Список используемых источников 68

За последние десятилетия программные системы становились все более сложными. Информационные технологии оказывают влияние на все области знаний. В связи с усложнением программного обеспечения возрастает важность исследований и создание методов оценки трудоемкости разработки программного продукта. Оценка количества усилий, необходимых для разработки программного обеспечения, является важной задачей управления проектом. Трудоемкость разработки напрямую связана с составлением бюджета и планированием проектов. Точная оценка программного обеспечения влияет на успех проекта. Ошибки, допущенные при оценке, приводят к перерасходу средств на проект, задержке выдачи решений, закрытию проектов. Все это сказывается на репутации компании на рынке. Библиографический анализ, сделанный Янгом и другими [1], обнаруживает тревожные данные: от 59% до 76% проектов выполняются с усилием, превышающим начально прогнозируемые сроки. И от 35% до 80% доставляются с опозданием.
По данным компании International Data Corp, занимающейся аналитикой рынка ИТ, расходы организаций на автоматизацию бизнеса к 2022 году достигнут 1,97 триллиона долларов США [2]. По этой причине цена ошибки на этапе планирования проекта может принести бизнесу большие убытки. В отчете PMI (Project Management Institute, Институт управления проектами) - американской некоммерческой профессиональной организации по управлению проектами, в 2016 году на каждый миллиард долларов, вложенных в проекты в США, 122 миллиона долларов были потрачены впустую из-за некачественного планирования и выполнения проекта [3]. По отчету за 2017 год, 27% проектов превысили запланированный бюджет [4]. В 2018 году 9,9% каждого доллара тратится впустую из-за плохой работы проекта - это 99 миллионов долларов на каждый вложенный миллиард долларов [5].
В связи с этим, возникает потребность в создании системы для оценки трудоемкости разработки программного обеспечения корпоративных информационных систем с использованием методов машинного обучения, которая предоставляет модель для прогнозирования затрат на исполнение программного продукта. В отчете PMI за 2019 год 85% организаций считают, что искусственный интеллект для управления проектами значительно изменят их методы ведения бизнеса в ближайшие пять лет [6]. Использование методов машинного обучения обусловлено следующими преимуществами: возможность обрабатывать большие наборы данных, возможность вовремя заметить и проанализировать изменения в процессе, возможность объективно и точно оценить результат, возможность свести к минимуму ошибки, возникающих в результате человеческого фактора.
Таким образом, получение качественных результатов прогнозирования трудоемкости разработки является актуальной задачей на сегодняшний день. Это будет полезно как бизнесу, предоставляя инструмент для прогнозирования трудоемкости затрат и оценки планируемого бюджета, так и исполнителям, осуществляя анализ существующих проектов компании и на основе анализа прогнозируя затраты на новые проекты.
Целью работы является исследование методов машинного обучения в оценке трудоемкости разработки программного обеспечения корпоративных информационных систем.
Объектом исследования является процесс оценивания трудоемкости разработки программного обеспечения на основе имеющихся исторических данных о проектах, представленных в виде датасетов. Предметом исследования являются методы машинного обучения для прогнозирования трудоемкости разработки программного обеспечения.
Для достижения поставленной цели необходимо решить следующие задачи:
- провести обзор методов машинного обучения для оценки трудоемкости разработки корпоративных систем,
- провести предварительный эксперимент на данных с использованием выбранных методов машинного обучения,
- определить оптимальный метод для прогнозирования трудоемкости с использованием классических методов машинного обучения, нейронных сетей и ансамблей методов, который позволяет обеспечить точность прогнозирования трудоемкости с наименьшим значением средней квадратичной ошибки (MSE),
- спроектировать веб-систему,
- реализовать веб-систему.
Гипотеза: исследование будет более эффективно, если
1. будут рассмотрены существующие методы машинного обучения для оценки трудоемкости разработки корпоративных систем;
2. будут определены наиболее эффективные методы для оценки трудоемкости, а также найдены их недостатки;
3. будут рассмотрены существующие корпоративные системы для оценки трудоемкости разработки;
4. будут определены преимущества и недостатки;
5. будет создана модель на основе проведенного анализа с учетом проанализированных методов и существующих корпоративных систем, выявленных их достоинств и недостатков;
6. будут выбраны технологии, с помощью которых будет реализована модель;
7. она будет реализована;
8. будет проведен эксперимент на данных с использованием созданных моделей.
Научная новизна состоит в том, что будет реализован новый ансамблевый метод для решения поставленной задачи из наиболее эффективных методов машинного обучения.
Основные положения, выносимые на защиту:
1. Модель на основе ансамблевого метода машинного обучения, показывающая наиболее эффективный результат для решения задачи оценки трудоемкости разработки корпоративных информационных систем.
2. Результат применения созданной модели в веб-системе, показывающий эффективность и корректность ее реализации.
Объем и структура диссертации: диссертация состоит из введения, четырех глав, заключения и библиографии (33 наименования). Работа содержит 68 страниц, 15 рисунков, 11 таблиц.
Основные результаты исследования представлены в следующих публикациях:
1. Хвостова М.Ю. Обзор алгоритмов для решения задачи оценки трудоемкости разработки программного обеспечения корпоративных систем // Студенческий вестник: электронный научный журнал. 2021. № 3(148).
2. Хвостова М. Ю. Применение алгоритмов для решения задачи оценки трудоемкости разработки программного обеспечения корпоративных систем // Молодой исследователь: вызовы и перспективы: сб. ст. по материалам CCVI Международной научно-практической конференции «Молодой исследователь: вызовы и перспективы».


Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В рамках исследования был проведен анализ литературы и электронных источников, касающихся использования методов машинного обучения в оценке трудоемкости разработки. По итогам статистических данных был сделан вывод, что проблема оценки трудоемкости программного обеспечения является актуальной темой. Применение методов машинного обучения для получения оценки трудоемкости разработки корпоративных информационных систем дает следующие преимущества: возможность обрабатывать большие наборы данных, возможность вовремя заметить и проанализировать изменения в процессе, возможность объективно и точно оценить результат, возможность свести к минимуму ошибки, возникающих в результате человеческого фактора.
Был проведен обзор методов машинного обучения для оценки трудоемкости разработки корпоративных систем. В процессе анализа научных статей был сделан вывод о том, что чаще всего для оценки трудоемкости используются классические методы машинного обучения, ансамблевые методы используются реже, поскольку они сложны в проектировании, долго обучаются.
Был проведен обзор существующих корпоративных систем. Имеющиеся системы не применяют методы машинного обучения для получения оценки трудоемкости разработки, поскольку это достаточно новая технология.
Был проведен предварительный эксперимент на данных с использованием выбранных методов машинного обучения. В рамках эксперимента был определен оптимальный метод для прогнозирования трудоемкости с использованием классических методов машинного обучения, нейронных сетей и ансамбля методов, который позволяет обеспечить точность прогнозирования трудоемкости с наименьшим значением средней квадратичной ошибки (MSE). Результаты эксперимента показали, что предложенный ансамблевый метод значительно превосходит по качеству другие рассматриваемые методы машинного обучения. Для датасета Desharnais ансамбль лучше по сравнению с лучшим методом (SVR), помимо ансамбля, в 4,135 раз по средней квадратичной ошибке. Для Maxwell датасета ансамбль лучше по сравнению с лучшим методом (NN), помимо ансамбля, в 182096,92 раз по средней квадратичной ошибке. Для датасета SiP ансамбль лучше по сравнению с лучшим методом (RF), помимо ансамбля, в 29,06 раз по средней квадратичной ошибке.
Была спроектирована и реализована веб-система с применением созданных модели.
Для достижения поставленной цели исследования были решены все поставленные задачи. Таким образом, можно утверждать, что цель исследования была достигнута.



1. Yang, DA. Et al (2008) “A Survey on Software Cost Estimation in the Chinese Software Industry”. Of: ESEM -08: Proceedings of the Second ACM- IEEE International Symposium on Empirical Software Engineering and Measurement, pp.253-262.
2. 5 Worldwide Semiannual Digital Transformation Spending Guide, International Data Corp., 2018
3. Pulse of the Profession 2016 (2016), PMI
4. Pulse of the Profession 2016, PMI
5. Pulse of the Profession, 2018, PMI
6. Pulse of the Profession, 2019, PMI
7. Banimustafa, Ahmed. (2018). Predicting Software Effort Estimation Using Machine Learning Techniques. 249-256.
8. Braga, Petronio & Oliveira, Adriano & Meira, Silvio. (2007). Software Effort Estimation using Machine Learning Techniques with Robust Confidence Intervals. 352-357.
9. Alhazmi, Omar & Khan, Mohammed. (2020). Software Effort Prediction Using Ensemble Learning Methods. Journal of Software Engineering and Applications. 13. 143-160.
10. Carvalho, Halcyon & Lima, Marilia & Santos, Wylliams & Fagundes, Roberta. (2020). Ensemble Regression Models for Software Development Effort Estimation: A Comparative Study.
11. Singh, Mukesh & Kumar, Mukesh. (2020). Comparative Study On Effort Estimation Using Different Data Mining Techniques. International Journal of Scientific & Technology Research.
12. Singh, A. & Kumar, Mukesh. (2020). Comparative Analysis on Prediction of Software Effort Estimation Using Machine Learning Techniques. SSRN Electronic Journal.
13. Nassif, Ali & Azzeh, Mohammad & Capretz, Luiz & Ho, Danny. (2016). Neural network models for software development effort estimation: a comparative study. Neural Computing and Applications. 27.
14. Varshini, A. (2020). Predictive analytics approaches for software effort estimation: A review. Indian Journal of Science and Technology. 13. 2094-2103.
15. GoodDay Platform [Электронный ресурс] // URL:
https://www.goodday.work/(дата обращения: 20.10.2019) // URL:
https://www.atlassian.com/ru/software/j ira(дата обращения: 20.10.2019)
17. COCOMO II Web Tool [Электронный ресурс] // URL: http://softwarecost.org/tools/COCOMO/(дата обращения: 20.10.2019)
18. SLIM-Estimate Tool [Электронный ресурс] // URL:
https://www.qsm.com/tools/slim-estimate(дата обращения: 20.10.2019)
19. Drucker, Harris; Burges, Christ. C.; Kaufman, Linda; Smola, Alexander J.; and Vapnik, Vladimir N. (1997); "Support Vector Regression Machines", in Advances in Neural Information Processing Systems 9, NIPS 1996, 155-161, MIT Press.
20. Leo Breiman. Random Forests // Machine Learning, October 2001, Volume 45, Issue 1, pp 5-32.
21. Breiman L. Bagging predictors // Machine Learning, 1996, vol. 24, no. 2, pp. 123-140.
22. Caruana R., Niculescu-Mizil A. An Empirical Comparison of Supervised Learning Algorithms // Department of Computer Science, Cornell University, Ithaca, NY 14853 USA.
23. Mark R. Segal. Machine Learning Benchmarks and Random Forest Regression // Division of Biostatistics, University of California, San Francisco, CA 94143-0560, April 14, 2003.
24. M.J.D. Powell, ’’Radial basis functions for multivariable interpolation: A review”, in IMA Conf, on Algorithms for the approximation of functions and data, pp. 143-167, 1985.
25. D. F. Specht, “A General Regression Neural Network”, Neural Networks, IEEE Transactions on, vol. 2, 1991, pp. 568-76.
26. S. E. Fahlman and C. Lebiere, The cascadecorrelation learning architecture, Technical Report CMU-CS-90-100, School of Computer Science, Carnegie Mellon University, 1991.
27. M. Hoefeld and S. E. Fahlman, Learning with limited numerical precision using the cascadecorrelation algorithm, Technical Report CMUCS-91-130, School of Computer Science, Carnegie Mellon University, 1991.
28. S. E. Fahlman, The recurrent cascadecorrelation architecture, Technical Report CMU-CS-91-100, School of Computer Science, Carnegie Mellon University, 1991.
29. T. R. Schultz, F. Rivest, L. o Egri, J. P. Thivierge, Knowledge-based Learning with KBCC, Proceedings in the 5th International Conference on Development and Learning, 2006.
30. RY Wang, VC Storey, CP Firth, A Framework for Analysis of Data Quality Research, IEEE Transactions on Knowledge and Data Engineering 7 (1995) 623-640.
31. Wolpert, David. (1992). Stacked Generalization. Neural Networks. 5. 241-259
32. Sayyad Shirabad, J. and Menzies, T.J. (2005) The PROMISE Repository of
Software Engineering Databases. School of Information Technology and Engineering, University of Ottawa, Canada Available:
http://promise.site.uottawa.ca/SERepository
33. _Github репозиторий [Электронный ресурс] // URL: https://github.com/KhMaria/effort-esimation-ml (дата обращения:
01.04.2021).


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2024 Cервис помощи студентам в выполнении работ