Засіб для підбору методології розроблення програмного забезпечення з урахуванням метрик проєкту

Ключові слова: інженерія ПЗ, життєвий цикл розроблення ПЗ, методи машинного навчання, алгоритм, системи підтримки прийняття рішень

Анотація

Проаналізовано найпоширеніші підходи до створення засобів підтримки прийняття рішень для процесу підбору оптимальної методології розроблення програмного забезпечення (ПЗ). З'ясовано, що на сьогодні для досягнення цієї мети використовуються різні методи, переважно багатокритеріальні методи прийняття рішень, але мало застосовуються методи машинного навчання, також у процесі прийняття рішень не повною мірою враховуються метрики проєкту. Визначено, що на цей час існує велика кількість методологій розроблення програмного забезпечення (водоспадна (Waterfall), швидке розроблення додатків (Rapid Application Development), скрам (Scrum), канбан (Kanban) та ін.), які оптимізують процеси у команді та значно полегшують і пришвидшують розроблення програмного забезпечення, але разом з цим, з огляду на різноманітність цих методологій і проєктів, постає питання правильного підбору методології до конкретного проєкту на основі даних про нього, оскільки кожна методологія розроблення програмного забезпечення розрахована на різні типи команд, кількість їх членів, різні типи проєктів та їхню складність. Виділено найбільш значущі метрики проєкту, такі як: розмір та кваліфікація команди, тип проєкту та бюджетування, тривалість виконання проєкту, ризик зміни вимог, локація команди та інтенсивність комунікації зі замовником. Спроєктовано, реалізовано та відтестовано програмний засіб підбору методології розроблення програмного забезпечення з урахуванням наведених вище метрик проєкту та використанням алгоритму random forest, для програмної реалізації якого було обрано мову програмування – Swift 5, середовище розроблення – XCode 10.1, для збереження даних використовується Google Firebase Realtime Data Base. Розроблено засіб у вигляді клієнт-серверного додатку з логічною частиною на стороні клієнта та з базою даних на базі Google Cloud Firestore Data Base, а для зберігання результатів, введених користувачем розробленого засобу, вибрано нереляційну базу даних Google Firebase Database. Здійснено дослідження залежності ймовірності прогнозу відповідності методології проєкту та швидкодії роботи від обсягу даних в Data Set, а також порівняння ефективності використання алгоритмів Random Forest та Linear Regresion для задачі вибору методології розроблення ПЗ.

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

М. М. Сенів, Національний університет "Львівська політехніка", м. Львів

канд. техн. наук, доцент, кафедра програмного забезпечення

Посилання

Forest Algorithm. (2020). Random Forest Algorithm Title of resources. Retrieved from: https://www.javatpoint.com/machine-learning-random-forest-algorithm.

Hernández Ledesma, Gil, Ramos, Erik, Fernández, Carlos, Aguilar Cisneros, Jorge, Rosas-Sumano, Juan, & Morales-Ignacio, Luis. (2017). Selection of Best Software Engineering Practices: A Multi-Criteria Decision Making Approach. Research in Computing Science, 136(136), 47 60. https://doi.org/10.13053/rcs-136-1-4

Kononenko, I. V., & Lutsenko, S. Yu. (2017). Method for selection of project management approach based on fuzzy concepts. Bulletin of NTU "KhPI". Series: Strategic management, portfolio, program and project management, 2(1224), 8 17. https://doi.org/10.20998/2413-3000.2017.1224.2

Kumar, K., & Kumar, S. (2013). A Rule-based Recommendation System for Selection of Software Development Life Cycle Models. ACM SIGSOFT Software Engineering Notes, 38, 1 6. https://doi.org/10.1145/2492248.2492269

Silva, V. B. S., Schramm, F., & Damasceno, A. C. (2016). A multicriteria approach for selection of agile methodologies in software development projects. 2016 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Budapest, Hungary, 2056 2060. https://doi.org/10.1109/SMC.2016.7844542

Sommerville, Ian. (2011). Software engineering. Boston: Pearson, 260 p.

Victor, M., & Upadhyay, N. (2011). Selection of Software Testing Technique: A Multi Criteria Decision Making Approach. In: Nagamalai, D., Renault, E., & Dhanuskodi, M. (Eds.). Trends in Computer Science, Engineering and Information Technology. CCSEIT 2011. Communications in Computer and Information Science, 204, Springer, Berlin, Heidelberg, 453 462. https://doi.org/10.1007/978-3-642-24043-0_46

Yakovyna, V., Seniv, M., & Symets, I. (2020). The Relation between Software Development Methodologies and Factors Affecting Software Reliability, 2020 IEEE 15th International Conference on Computer Sciences and Information Technologies (CSIT), 377 381. https://doi.org/10.1109/CSIT49958.2020.9321937

Опубліковано
2021-04-29
Як цитувати
Сенів, М. М. (2021). Засіб для підбору методології розроблення програмного забезпечення з урахуванням метрик проєкту. Науковий вісник НЛТУ України, 31(3), 120-125. https://doi.org/10.36930/40310318
Розділ
Інформаційні технології