Abstract:
Inappropriate selection of Software Development Life Cycle (SDLC) models can lead to increased development time and costs, heightened overhead, elevated risk exposure, difficulty in managing uncertainty, reduced quality, strained client relations, and insufficient project tracking and control. These challenges are exacerbated by the diverse expertise levels of software developers, ranging from novices to seasoned professionals. While experts may conduct in-depth analyses to select suitable SDLC models, beginners often lack the necessary criteria for effective model selection. Previous researches have shown limitations in the criteria used for SDLC model selection, often relying on knowledge-based systems which lack flexibility and scalability. To address this problem, we propose an automatic SDLC model selection system using a machine learning approach tailored to specific project requirements. Our approach encompasses literature review, data preprocessing, the creation of classification models, and the assessment of their performance. We performed comparative experimental analyses utilizing a range of machine learning and deep learning algorithms, including KNN, CNN, NB, ANN, Random Forest, and Decision Trees. Experimental results showed that Decision Tree and Random Forest achieved 99.9% accuracy in the classification task, highlighting their effectiveness in automating the selection of SDLC models for software projects.