An exploratory study of object-oriented software component size determinants and the application of regression tree forecasting models

Software component size estimation is an important task in software project management. For a component-based approach, two steps may be used to estimate the overall size of object-oriented (OO) software: a designer uses metrics to predict the size of the software components and then utilizes the sizes to estimate the overall project size. Using OO software metrics literature, we identified factors that may affect the size of an OO software component. Using real-life data from 152 software components, we then determined the effect of the identified factors on the prediction of OO software component size. The results indicated that certain factors and the type of OO software component play a significant role in the estimate. It is shown how a regression tree data mining approach can be used to learn decision rules to guide future estimates.

[1]  Alexander Repenning,et al.  Using Components for Rapid Distributed Software Development , 2001, IEEE Softw..

[2]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.

[3]  Joseph Schmuller,et al.  SAMS teach yourself UML in 24 hours , 1999 .

[4]  G. V. Kass An Exploratory Technique for Investigating Large Quantities of Categorical Data , 1980 .

[5]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[6]  Ernesto Damiani,et al.  A hierarchy-aware approach to faceted classification of objected-oriented components , 1999, TSEM.

[7]  Stephanie Watts,et al.  Antidotes for high complexity and ambiguity in software development , 1999, Inf. Manag..

[8]  Sandeep Purao,et al.  ODE: a tool for distributing object-oriented applications , 2002, Inf. Manag..

[9]  Barry W. Boehm,et al.  Bayesian Analysis of Empirical Software Engineering Cost Models , 1999, IEEE Trans. Software Eng..

[10]  Douglas Fisher,et al.  Machine Learning Approaches to Estimating Software Development Effort , 1995, IEEE Trans. Software Eng..

[11]  Capers Jones,et al.  Programming Productivity , 1986 .

[12]  Rajiv D. Banker,et al.  A model to evaluate variables impacting the productivity of software maintenance projects , 1991 .

[13]  Ernesto Damiani,et al.  Corrigenda: a hierarchy-aware approach to faceted classification of object-oriented components , 1999, TSEM.

[14]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[15]  Philip M. Johnson,et al.  Empirically Guided Software Effort Guesstimation , 2000, IEEE Softw..

[16]  Chris F. Kemerer,et al.  Reliability of function points measurement: a field experiment , 2015, CACM.

[17]  Robert L. Glass,et al.  Measuring software design quality , 1990 .

[18]  D. Ross Jeffery,et al.  Function Points in the Estimation and Evaluation of the Software Process , 1990, IEEE Trans. Software Eng..

[19]  Luiz A. Laranjeira Software Size Estimation of Object-Oriented Systems , 1990, IEEE Trans. Software Eng..

[20]  Paolo Nesi,et al.  Effort estimation and prediction of object-oriented systems , 1998, J. Syst. Softw..

[21]  David P. Tegarden,et al.  A software complexity model of object-oriented systems , 1995, Decis. Support Syst..

[22]  June M. Verner,et al.  A Software Size Model , 1992, IEEE Trans. Software Eng..

[23]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[24]  Computer Staff,et al.  Function Points , 1994 .

[25]  Barbara G. Tabachnick,et al.  Computer-Assisted Research Design and Analysis , 2000 .

[26]  David Biggs,et al.  A method of choosing multiway partitions for classification and decision trees , 1991 .

[27]  Carlos A. Brebbia,et al.  Software Quality Management II: Building Quality into Software , 1994 .

[28]  Girish H. Subramanian,et al.  An Examination of Some Software Development Effort and Productivity Determinants in ICASE Tool Projects , 1996, J. Manag. Inf. Syst..

[29]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[30]  James Bielak Improving Size Estimates Using Historical Data , 2000, IEEE Softw..

[31]  David P. Tegarden,et al.  Effectiveness of traditional software metrics for object-oriented systems , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[32]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[33]  Jean-Marc Desharnais,et al.  A comparison of software effort estimation techniques: Using function points with neural networks, case-based reasoning and regression models , 1997, J. Syst. Softw..

[34]  Brian Henderson-Sellers,et al.  Identifying Internal and External Charcteristics of Classes Likely to be Useful as Structural Complexity Metrics , 1994, OOIS.

[35]  Lawrence H. Putnam,et al.  A General Empirical Solution to the Macro Software Sizing and Estimating Problem , 1978, IEEE Transactions on Software Engineering.

[36]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[37]  Chun Hung Cheng,et al.  Software development cost estimation: Integrating neural network with cluster analysis , 1998, Inf. Manag..

[38]  James C. Hershauer,et al.  A software reuse measure: Monitoring an enterprise-level model driven development process , 1999, Inf. Manag..

[39]  Mitsuari Hakuta,et al.  A software size estimation model and its evaluation , 1997, J. Syst. Softw..

[40]  José Javier Dolado,et al.  A Validation of the Component-Based Method for Software Size Estimation , 2000, IEEE Trans. Software Eng..

[41]  Eduardo Miranda Improving Subjective Estimates Using Paired Comparisons , 2001, IEEE Softw..

[42]  Siddhartha Bhattacharyya,et al.  Inductive, Evolutionary, and Neural Computing Techniques for Discrimination: A Comparative Study* , 1998 .