The role of the measure of functional complexity in effort estimation

Background. Currently there are several definitions of measures that should represent the size of software functional requirements. These measures have gained a quite relevant role, since they are one of the few basis upon which effort estimation can be based. However, traditional Functional Size Measures do not take into account the amount and complexity of the elaboration required, concentrating instead on the amount of data accessed or moved. This is a problem, when it comes to effort estimation, since the amount and complexity of the required data elaborations affect the implementation effort, but are not adequately represented by the current measures (including the standardized ones). Objective. The paper evaluates different types of functional size measures as effort estimators. Moreover, the consequences of taking into consideration also the amount and complexity of required elaboration in the effort estimation models are evaluated. Methods. In this paper we take into consideration a representative set of functional size measures (namely, function points, COSMIC function points and use case points) and a recently proposed elaboration complexity measure (Paths) and evaluate how well these measures are correlated with the development effort. To this end, we measured a set of 17 projects and analyzed the resulting data. Results. We found that it is possible to build statistically valid models of the development effort that use the functional size and complexity measures as independent variables. In fact, we discovered that using the measure of elaboration complexity in addition to the functional size substantially improves the precision of the fitting. Conclusions. The analysis reported here suggests that a measure of the amount and complexity of elaboration required from a software system should be used, in conjunction with traditional functional size measures, in the estimation of software development effort. Further investigations, involving a greater number of projects, are however needed to confirm these findings.

[1]  Emilia Mendes,et al.  A Comparison of Length , Complexity and Functionality as Size Measures for Predicting Web Design and Authoring Effort , 2001 .

[2]  A. S. M. Sajeev,et al.  A Vector-Based Approach to Software Size Measurement and Effort Estimation , 2001, IEEE Trans. Software Eng..

[3]  Lionel C. Briand,et al.  Modeling Development Effort in Object-Oriented Systems Using Design Properties , 2001, IEEE Trans. Software Eng..

[4]  Marcela Genero,et al.  Empirical Evaluation and Review of a Metrics-Based Approach for Use Case Verification , 2004, J. Res. Pract. Inf. Technol..

[5]  Gabriela Robiolo,et al.  Transactions and paths: Two use case based metrics which improve the early effort estimation , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[6]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

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

[8]  Naveen Aggarwal,et al.  Web hypermedia content management system effort estimation model , 2009, SOEN.

[9]  Ghislain Lévesque,et al.  Estimating software size with UML models , 2008, C3S2E '08.

[10]  Luciano Baresi,et al.  Three empirical studies on estimating the design effort of Web applications , 2007, TSEM.

[11]  Anne Lohrli Chapman and Hall , 1985 .

[12]  Hamdi A. Bashir,et al.  Models for estimating design effort and time , 2001 .

[13]  Bente Anda,et al.  A multiple-case study of software effort estimation based on use case points , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[14]  Scott A. Whitmire An introduction to 3D function points , 1995 .

[15]  Barbara A. Kitchenham The Problem with Function Points , 1997, IEEE Software.

[16]  Vieri Del Bianco,et al.  Model-based functional size measurement , 2008, ESEM '08.

[17]  S. Weisberg,et al.  Residuals and Influence in Regression , 1982 .

[18]  Luigi Antonio Lavazza,et al.  Using Function Point in the Estimation of Real-Time Software: an Experience , 2008 .

[19]  H. F. Li,et al.  An Empirical Study of Software Metrics , 1987, IEEE Transactions on Software Engineering.

[20]  Luciano Baresi,et al.  W2000: A Modelling Notation for Complex Web Applications , 2006, Web Engineering.

[21]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[22]  Michael Evans,et al.  Software sizing, estimation, and risk management , 2006 .

[23]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[24]  Gustav Karner,et al.  Resource Estimation for Objectory Projects , 2010 .

[25]  Giuseppe Visaggio Structural information as a quality metric in software systems organization , 1997, 1997 Proceedings International Conference on Software Maintenance.

[26]  Magne Jørgensen,et al.  Estimating Software Development Effort Based on Use Cases-Experiences from Industry , 2001, UML.

[27]  Luigi Lavazza,et al.  Introducing the evaluation of complexity in functional size measurement: a UML-based approach , 2010, ESEM '10.

[28]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[29]  Gabriela Robiolo,et al.  Employing use cases to early estimate effort with simpler metrics , 2007, Innovations in Systems and Software Engineering.