This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Metrics Suite for Object Oriented Design
June 1994 (vol. 20 no. 6)
pp. 476-493

Given the central role that software development plays in the delivery and application of information technology, managers are increasingly focusing on process improvement in the software development area. This demand has spurred the provision of a number of new and/or improved approaches to software development, with perhaps the most prominent being object-orientation (OO). In addition, the focus on process improvement has increased the demand for software measures, or metrics with which to manage the process. The need for such metrics is particularly acute when an organization is adopting a new technology for which established practices have yet to be developed. This research addresses these needs through the development and implementation of a new suite of metrics for OO design. Metrics developed in previous research, while contributing to the field's understanding of software development processes, have generally been subject to serious criticisms, including the lack of a theoretical base. Following Wand and Weber (1989), the theoretical base chosen for the metrics was the ontology of Bunge (1977). Six design metrics are developed, and then analytically evaluated against Weyuker's (1988) proposed set of measurement principles. An automated data collection tool was then developed and implemented to collect an empirical sample of these metrics at two field sites in order to demonstrate their feasibility and suggest ways in which managers may use these metrics for process improvement.

[1] J. Banerjeeet al., "Data model issues for object-oriented applications,"ACM Trans. Office Information Systems, Jan. 1987.
[2] V. Basili and R. Reiter, "Evaluating automatable measures of software models," inIEEE Workshop Quantitative Software Models. Kiamesha, NY, 1979, pp. 107-116.
[3] S. C. Bilow, "Applying graph-theoretic analysis models to object oriented system models," inOOPSLA 92 Workshop on Metrics for Object Oriented Software Eng., Position Paper, 1992.
[4] G. Booth,Object-Oriented Design with Applications. Redwood City, CA: Benjamin Cummings, 1991.
[5] M. Bunge,Treatise on Basic Philosophy: Ontology I: The Furniture of the World. Boston: Riedel, 1977.
[6] M. Bunge,Treatise on Basic Philosophy: Ontology II: The World of Systems. Boston: Riedel, 1979.
[7] D.N. Card and W. W. Agresti, "Measuring software design complexity,"J. Syst. Software, vol. 8, pp. 185-197, Mar. 1988.
[8] J. C. Cherniavsky and C. H. Smith, "On Weyuker's axioms for software complexity measures,"IEEE Trans. Software Eng., vol. 17, pp. 636-638, 1991.
[9] V. Cherniavsky and D. G. Lakhuty, "On the problem of information system evaluation,"Automatic Documentation and Mathematical Linguistics, vol. 4, pp. 9-26, 1971.
[10] S.R. Chidamber and C.F. Kemerer, "Toward a metrics suite for object oriented design," inProc. 6th ACM Conf. Object Oriented Programming, Systems, Languages and Applications (OOPSLA), 1991.
[11] P. Coad and E. Yourdon,Object-Oriented Design, Prentice Hall, Englewood Cliffs, N.J., 1991.
[12] J. Coplien, "Looking over one's shoulder at a c++ program," AT&T Bell Labs. Tech. Memo., Jan. 1993.
[13] D. deChampeauxet al., "The process of object oriented design," in theSeventh Annu. Conf. Object Oriented Programming Syst., Lang. and Applicat., Vancouver, Canada, 1992, pp. 45-62.
[14] N. E. Fenton,Software Metrics: A Rigorous Approach. London, U.K.: Chapman&Hall, 1991.
[15] R. Fichman and C. Kemerer, "Object-oriented and conventional analysis and design methodologies: comparison and critique."IEEE Comput., vol. 25, pp. 20-39, 1992.
[16] D. A. Gustafson and B. Prasad, "Properties of software measures," inFormal Aspects of Measurement. T. Denviret al., Eds. New York:
[17] M. Halstead,Elements of Software Science. New York: Elsevier-North Holland, 1977.
[18] W. Harrison, "Software science and Weyuker's fifth property," Internal Rep., Univ. of Portland, Comput. Sci. Dept., 1988.
[19] R. Kalakota, S. Rathnam, and A. Whinston, "The role of complexity in object-oriented development," in26th Annu. Conf. Syst. Sci., Maui, HI, 1993, pp. 759-768.
[20] A. A. Kaposi, "Measurement theory," inSoftware Engineer's Ref. Book, J. McDermid, Ed., Oxford: Butterworth-Heinemann Ltd., 1991.
[21] J. K. Kearney, R. L. Sedlmeyer, W. B. Thompson, M. A. Gray, and M. A. Adler, "Software complexity measurement,"Commun. ACM, vol. 29, no. 11, pp. 1044-1050, Nov. 1986.
[22] C. F. Kemerer, "Reliability of function points measurement: A field experiment,"Commun. ACM, to appear in Feb. 1993.
[23] J. Kim and J. F. Lerch, "Cognitive processes in logical design: Comparing object-oriented and traditional functional decomposition software methodologies," Working Paper, Carnegie Mellon Univ. Graduate School of Industrial Admin., 1991.
[24] J. Kriz,Facts und Artifacts in Social Science: An Epistemological and Methodological Analysis of Empirical Social Science Techniques. New York: McGraw Hill, 1988.
[25] A. Lake and C. Cook, "A software complexity metric for C++," Tech. Rep. 92-60-03, Oregon State Univ., 1992.
[26] M. Lejteret al., "Support for maintaining object-oriented programs,"IEEE Trans. Software Eng., vol. 18, pp. 1045-1052, 1992.
[27] W. Li and S. Henry, "Maintenance metrics for the object oriented paradigm," inFirst Int. Software Metrics Symp., Baltimore, MD, 1993, pp. 52-60.
[28] K.J. Lieberherr, I. Holland, and A.J. Riel, "Object-Oriented Programming: An Objective Sense of Style,"Proc. Object-Oriented Programming System, Languages, and Applications Conf., ACM, New York, 1988, pp. 323- 334.
[29] T. J. McCabe, "A complexity measure,"IEEE Trans. Software Eng., vol. SE-2, pp. 308-320, 1976.
[30] D. R. Moreau and W. D. Dominick, "Object oriented graphical information systems: Research plan and evaluation metrics,"J. Syst. and Software, vol. 10, pp. 23-28, 1989.
[31] K. Morris, "Metrics for object oriented software development," Masters thesis, M.I.T., Sloan School of Management, Cambridge, MA, 1988.
[32] J. Parsons and Y. Wand, "Object-oriented systems analysis: A representational view," Working Paper, Univ. of British Columbia, Jan. 1993.
[33] S. L. Pfleeger and J. D. Palmer, "Software estimation for object-oriented systems," in1990 Int. Function Point Users Group Fall Conf., San Antonio, TX, 1990, pp. 181-196.
[34] R. E. Prather, "An axiomatic theory of software complexity measures,"Comput. J., vol. 27, pp. 340-346, 1984.
[35] C. Rajaraman and M. R. Lyu, "Some coupling measures for C++ programs,"TOOLS USA 92, vol. 6, pp. 225-234, 1992.
[36] F. Roberts,Encyclopedia of Mathematics and its Applications. Reading, MA: Addison-Wesley, 1979.
[37] R. C. Sharble and S. S. Cohen, "The object oriented brewery: A comparison of two object-oriented development methods,"ACM SIGSOFT Software Eng. Notes, vol. 18, pp. 60-73, 1993.
[38] S. D. Sheetz, D. P. Tegarden, and D. E. Monarchi, "Measuring object oriented system complexity," Working Paper, Univ. of Colorado, 1992.
[39] K. Tagaki and Y. Wand, "An object-oriented information systems model based on ontology," inObject Oriented Approach in Inform. Syst., F. Van Assche and B. M. C. Rolland, Eds. New York: Elsevier Science Publishers B.V. (North Holland), 1991.
[40] D. P. Tegarden, S. D. Sheetz, and D. E. Monarchi, "Effectiveness of traditional software metrics for object oriented systems," presented at the25th Annu. Conf. Syst. Sci., Maui, HI, 1992.
[41] I. Vessey and R. Weber, "Research on structured programming: An empiricist's evaluation,"IEEE Trans. Software Eng., vol. SE-10, pp. 394-407, 1984.
[42] Y. Wand, "A Proposal for a Formal Model of Objects," inObject-Oriented Concepts, Databases, and Applications, W. Kim and F. Lochovsky, eds., ACM Press, New York, 1989, pp. 537-559.
[43] Y. Wand and R. Weber, "An ontological evaluation of systems analysis and design methods," inInformation Systems Concepts: An In-depth Analysis, E. D. Falkenberg and P. Lindgreen, Eds. Amsterdam: Elsevier Science,, 1989.
[44] Y. Wand and R. Weber, "An ontological model of an information system,"IEEE Trans. Software Eng., vol. 16, pp. 1282-1292, 1990.
[45] Y. Wand and R. Weber, "Toward a theory of the deep structure of information systems," inInt. Conf. Inform. Syst., Copenhagen, Denmark, 1990, pp. 61-71.
[46] R. Weber and Y. Zhang, "An ontological evaluation of Niam's grammar for conceptual schema diagrams," inProc. Twelfth Int. Conf. Inform. Syst., New York, 1991, pp. 75-82.
[47] E. Weyuker, "Evaluating software complexity measures,"IEEE Trans. Software Eng., vol. 14, pp. 1357-1365, 1988.
[48] S. Whitmire, "Measuring complexity in object-oriented software," presented at theThird Int. Conf. Applicat. Software Meas., La Jolla, CA, 1992.
[49] N. Wilde and R. Huitt, "Maintenance support for object-oriented programs,"IEEE Trans. Software Eng., vol. 18, pp. 1038-1044, 1992.
[50] H. Zuse, "Properties of software measures,"Software Quality J., vol. 1, pp. 225-260, 1992.

Index Terms:
object-oriented programming; object-oriented methods; software metrics; object oriented design; metrics suite; software development; process improvement; software measures; organization; automated data collection tool; measurement principles; object oriented programming
Citation:
S.R. Chidamber, C.F. Kemerer, "A Metrics Suite for Object Oriented Design," IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476-493, June 1994, doi:10.1109/32.295895
Usage of this product signifies your acceptance of the Terms of Use.