The issue of estimating the size of the software in the first stages of work on the project is important, because the obtained size can be used to predict the cost, duration and labor intensity. The share of web applications among all software projects developed today is significant, as is the popularity of programming languages used in web development. The leader in frequency of use is the PHP language with its numerous frameworks. The purpose of the study is to build a non-linear regression model for estimating the size of web applications created using the Symfony PHP framework, using a normalizing decimal logarithm transformation. To build the model, 50 web application projects were found on the GitHub platform, which were created using the Symfony framework. Using the PhpMetrics tool, the following class diagram metrics for these projects were obtained: the number of classes, the average number of methods per class, the depth of the inheritance tree. This choice of metrics is due to the possibility of obtaining such information about the project under development at the early stages of design and the absence of multicollinearity among the selected metrics. Empirical data were tested for normality. The check showed that the data are non-Gaussian, so they were normalized using a decimal logarithm, an outlier check was performed, the outliers were eliminated, and for the remaining data, a linear regression model was built for the normalized data and a nonlinear one for the original data. For comparison, a linear regression model was also constructed for the empirical data under the assumption of normal distribution. The comparison of the models showed a significant improvement in the quality of estimating the size of web applications created using the Symfony framework when applying non-linear regression analysis.
Read full abstract