Al-Ahmad Bilal I, Al-Zoubi Ala' A, Kabir Md Faisal, Al-Tawil Marwan, Aljarah Ibrahim
Faculty of Information Technology and Systems, University of Jordan, Aqaba, Aqaba, Jordan.
School of Science, Technology and Engineering, University of Granada, Granada, Spain, Spain.
PeerJ Comput Sci. 2022 Jan 19;8:e857. doi: 10.7717/peerj-cs.857. eCollection 2022.
Software engineering is one of the most significant areas, which extensively used in educational and industrial fields. Software engineering education plays an essential role in keeping students up to date with software technologies, products, and processes that are commonly applied in the software industry. The software development project is one of the most important parts of the software engineering course, because it covers the practical side of the course. This type of project helps strengthening students' skills to collaborate in a team spirit to work on software projects. Software project involves the composition of software product and process parts. Software product part represents software deliverables at each phase of Software Development Life Cycle (SDLC) while software process part captures team activities and behaviors during SDLC. The low-expectation teams face challenges during different stages of software project. Consequently, predicting performance of such teams is one of the most important tasks for learning process in software engineering education. The early prediction of performance for low-expectation teams would help instructors to address difficulties and challenges related to such teams at earliest possible phases of software project to avoid project failure. Several studies attempted to early predict the performance for low-expectation teams at different phases of SDLC. This study introduces swarm intelligence -based model which essentially aims to improve the prediction performance for low-expectation teams at earliest possible phases of SDLC by implementing Particle Swarm Optimization-K Nearest Neighbours (PSO-KNN), and it attempts to reduce the number of selected software product and process features to reach higher accuracy with identifying less than 40 relevant features. Experiments were conducted on the Software Engineering Team Assessment and Prediction (SETAP) project dataset. The proposed model was compared with the related studies and the state-of-the-art Machine Learning (ML) classifiers: Sequential Minimal Optimization (SMO), Simple Linear Regression (SLR), Naïve Bayes (NB), Multilayer Perceptron (MLP), standard KNN, and J48. The proposed model provides superior results compared to the traditional ML classifiers and state-of-the-art studies in the investigated phases of software product and process development.
软件工程是最重要的领域之一,广泛应用于教育和工业领域。软件工程教育在使学生跟上软件行业中常用的软件技术、产品和流程方面起着至关重要的作用。软件开发项目是软件工程课程最重要的部分之一,因为它涵盖了课程的实践方面。这种类型的项目有助于培养学生以团队精神协作开展软件项目的技能。软件项目涉及软件产品和过程部分的组成。软件产品部分代表软件开发生命周期(SDLC)各阶段的软件可交付成果,而软件过程部分记录了SDLC期间的团队活动和行为。期望较低的团队在软件项目的不同阶段面临挑战。因此,预测此类团队的绩效是软件工程教育学习过程中最重要的任务之一。对期望较低的团队的绩效进行早期预测将有助于教师在软件项目的尽可能早的阶段解决与此类团队相关的困难和挑战,以避免项目失败。多项研究试图在SDLC的不同阶段对期望较低的团队的绩效进行早期预测。本研究引入了基于群体智能的模型,其主要目的是通过实施粒子群优化 - K最近邻(PSO - KNN)在SDLC的尽可能早的阶段提高对期望较低的团队的预测性能,并试图减少所选软件产品和过程特征的数量,以通过识别少于40个相关特征来达到更高的准确性。在软件工程团队评估与预测(SETAP)项目数据集上进行了实验。将所提出的模型与相关研究以及最先进的机器学习(ML)分类器进行了比较:序列最小优化(SMO)、简单线性回归(SLR)、朴素贝叶斯(NB)、多层感知器(MLP)、标准KNN和J48。在所研究的软件产品和过程开发阶段,所提出的模型与传统ML分类器和最先进的研究相比提供了更好的结果。