This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Vector-Based Approach to Software Size Measurement and Effort Estimation
April 2001 (vol. 27 no. 4)
pp. 337-350

Abstract—Software size is a fundamental product measure that can be used for assessment, prediction, and improvement purposes. However, existing software size measures, such as Function Points, do not address the underlying problem complexity of software systems adequately. This can result in disproportional measures of software size for different types of systems. We propose a Vector Size Measure (VSM) that incorporates both functionality and problem complexity in a balanced and orthogonal manner. VSM is used as the input to a Vector Prediction Model (VPM) which can be used to estimate development effort early in the software life cycle. We theoretically validate the approach against a formal framework. We also empirically validate the approach with a pilot study. The results indicate that the approach provides a mechanism to measure the size of software systems, classify software systems, and estimate development effort early in the software life cycle to within +/-20 percent across a range of application types.

[1] A.J. Albrecht, “Measuring Application Development Productivity,” Proc. IBM Applications Development Symp., SHARE-Guide, pp. 83-92, 1979.
[2] F. Ayres, Jr., Theory and Problems of Differential and Integral Calculus, second ed. New York, N.Y.: McGraw-Hill, 1972.
[3] B. Boehm, Software Engineering Economics, Prentice Hall, Upper Saddle River, N.J., 1981, pp. 533-535.
[4] B.W. Boehem, B. Clar, E. Horowitz, C. Westland, R. Madachy, and R. Selby, “Cost Models for Future Software Life Cycle Processes: COCOMO 2.0.0,” Ann. Software Eng., vol. 1, no. 1, pp. 1-30, 1995.
[5] G. Booch, Object-Oriented Analysis and Design with Applications, Addison-Wesley, Reading, Mass., 1994.
[6] T. DeMarco, Controlling Software Projects: Management, Measurement and Estimation. New York, N.Y.: Yourdon Press, 1982.
[7] L.O. Ejiogu, Software Engineering with Formal Metrics. Boston, Mass.: QED Technical Publishing Group, 1991.
[8] N.E. Fenton, Software Metrics, A Rigorous Approach. Chapman&Hall, 1991.
[9] N. Fenton and L. Pfleeger, Software Metrics–A Rigorous and Practical Approach, second ed. Boston, PWS-Publishing, 1997.
[10] T. Fetcke, A. Abran, and T. Nguyen, “Mapping the OO-Jacobson Approach into Function Point Analysis,” Proc. TOOLs USA 97, 1997.
[11] A.J. Field and P.G. Harrison, Functional Programming. Wokingham, UK: Addison-Wesley, 1988.
[12] J.V. Guttag and J.J. Horning, “The Algebraic Specification of Abstract Data Types,” Acta Informatica 10, pp. 27-52, 1978.
[13] M.H. Halstead, Elements of Software Science. North-Holland, 1977.
[14] T.E. Hastings, “Adapting Function Points to Contemporary Software Systems: A Review of Proposals,” Proc. Second Australian Conf. Software Metrics (ACOSM '95), pp. 103-114, 1995.
[15] T.E. Hastings and A.S.M. Sajeev, “A Vector Based Software Size Measure,” Proc. Australian Software Eng. Conf. (ASWEC '97), pp. 7-15, 1997.
[16] W.S. Humphrey, Managing the Software Process, Addison-Wesley, Reading, Mass., 1989.
[17] W.S. Humphrey, A Discipline for Software Engineering, Addison-Wesley, Reading, Mass., 1995.
[18] IEEE Guide to Software Requirements Specifications. New York, N.Y.: IEEE Press, 1984.
[19] Counting Practices Manual, Release 4.0. Westerville, Ohio: International Function Point Users Group, 1994.
[20] I. Jacobson, M. Christerson, P. Jonsson, and G. Overgaard, Object-Oriented Software Engineering: A Use Case Driven Approach. Reading, Mass.: Addison-Wesley, 1992.
[21] R. Jeffery and G. Low, “Function Points and Their Use,” Australian Computer J., vol. 29, no. 4, pp. 148-156, 1997.
[22] C. Jones, Applied Software Measurement, McGraw-Hill, New York, 1991.
[23] B.A. Kitchenham, S.L. Pfleeger, and N. Fenton, “Towards a Framework for Software Measurement Validation,” IEEE Trans. Software Eng., vol. 21, no. 12, pp. 929-944, Dec. 1995.
[24] D.H. Longstreet, “How Are Function Points Useful?” Am. Programmer, pp. 25-32, Dec. 1995.
[25] B. Meyer,Object-Oriented Software Construction. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[26] Full Function Points: Counting Practices Manual, Technical Report 1997-04. Montreal, Canada: Software Eng. Management Research Laboratory and Software Eng. Laboratory in Applied Metrics, Univ. of Quebec Montreal, 1997.
[27] J. M. Spivey,The Z Notation: A Reference Manual. Englewood Cliffs, NJ: Prentice-Hall, 1989.
[28] C.R. Symons, “Function Point Analysis: Difficulties and Improvements,” IEEE Trans. on Software Eng., vol. 14, no.1, Jan. 1988.
[29] C.R. Symons, Software Sizing and Estimating MKII FPA. John Wiley and Sons, 1991.
[30] The Unified Modeling Language Definition, Version 1.1. Rational Software Corporation, 1998, http:/www.rational.com.
[31] S.A. Whitmire, “3D Function Points: Scientific and Real-Time Extensions to Function Points,” Proc. Pacific Northwest Software Quality Conf., 1992.
[32] H. Zuse, A Framework for Software Measurement. Germany, Berlin: DeGruyther, 1997.

Index Terms:
Algebraic specification, effort estimation, functionality, gradient, magnitude, problem complexity, semantic properties, software metrics, software size, software life cycle, software specification, syntactic properties, validation, vector.
Citation:
T.e. Hastings, A.s.m. Sajeev, "A Vector-Based Approach to Software Size Measurement and Effort Estimation," IEEE Transactions on Software Engineering, vol. 27, no. 4, pp. 337-350, April 2001, doi:10.1109/32.917523
Usage of this product signifies your acceptance of the Terms of Use.