Abstract
Applying metrics to software is a way to measure and improve software quality. Many metrics apply to software implementations (code), so they cannot be used early in the life cycle. We survey ten modularity and structural complexity metrics applicable to software designs, and summarize the results of empirical validation studies when they are available. We present a database schema from which most of these metrics can be computed. Aspects of each metric require further study and refinement. However, using some of them during design may still be beneficial.
Similar content being viewed by others
References
Alexander, C. (1964),Notes on the Synthesis of Form, Harvard University Press, Cambridge, MA, USA.
Benyon-Tinker, G. (1979), “Complexity Measures in an Evolving Large System”, InProceedings on Quantitive Software Models, Kiameshalski, NY, USA, pp. 117–127.
Card, D.N., V.E. Church, and W.W. Agresti (1986), “An Empirical Study of Software Design Practices”,IEEE Transactions on Software Engineering 12, 2, 264–271.
Card, D.N. and W.W. Agresti (1988), “Measuring Software Design Complexity”,Journal of Systems and Software 8, 185–197.
Card, D.N. and R.L. Glass (1990),Measuring Software Design Quality, Prentice-Hall, Inc.
Chapin, N. (1979), “A Measure of Software Complexity”, InProceedings National Computer Conference, pp. 995–1002.
Henry, S. and D. Kafura (1981), “Software Structure Metrics Based on Information Flow”,IEEE Transactions on Software Engineering SE-7, 510–518.
Henry, S., D. Kafura, and K. Harris (1981), “On the Relationship Among Three Software Metrics”, InSIGMETRICS Performance Evaluation Review, pp. 81–88.
Ince, D. (1990), “Software Metrics: Introduction”,Information and Software Technology 32, 297–303.
Kafura, D. and S. Henry (1981), “Software Quality Metrics Based on Interconnectivity”,Journal of Systems and Software 2, 121–131.
Kafura, D. and J. Canning (1985), “A Validation of Software Metrics Using Many Metrics and Two Resources”, InProceedings 8th International Conference on Software Engineering, London, UK, pp. 378–385.
Lamb, D.A. and K. Schneider (1992), “Formalization of Information Hiding Design Methods”, InProceedings of the 1992 Centre for Advanced Studies Conference (CASCON '92), Toronto, Ontario, pp. 201–214.
McCabe, T.J. and C.W. Butler (1989), “Design Complexity Measurement and Testing”,Communications of the ACM 32, 12, 1415–1425.
McClure, C.L. (1978), “A Model for Program Complexity Analysis”, InProceedings 3rd International Conference on Software Engineering, pp. 149–157.
Müller, H.A. (1990), “Verifying Software Quality Criteria Using an Interactive Graph Editor”, InEigth Annual Pacific Northwest Software Quality Conference, Portland, Oregon, pp. 228–241.
Müller, H.A. and B.D. Corrie (1991), “Measuring the Quality of Subsystem Structures”, Technical Report DCS-193-IR, Department of Computer Science, University of Victoria.
Parnas, D.L. (1972), “On the Criteria To Be Used in Decomposing System into Modules”,Communications of the ACM 15, 2, 1053–1058.
Ryman, A. (1992), “Foundations of 4Thought”, InProceedings of the 1992 Centre for Advanced Studies Conference (CASCON '92), Toronto, Ontario, pp. 133–155.
Shepperd, M. (1988a), “A Metrics Based Tool for Software Design”, InProceedings Software Engineering '88, pp. 45–49.
Shepperd, M. (1988b), “An Evaluation of Software Product Metrics”,Journal of Information and Software Technology 30, 177–188.
Shepperd, M. (1989), “Metrics, Outlier Analysis and the Software Design Process”,Information and Software Technology 31, 2, 91–98.
Shepperd, M. (1990), “Design Metrics: An Empirical Analysis”,Software Engineering Journal 5, 1, 3–10.
Stevens, W.P., G.J. Meyer, and L.L. Constantine (1974), “Structured Design”,IBM Systems Journal 13, 2, 115–139.
Yau, S.S. and J.S. Collofello (1985), “Design Stability Measures for Software Maintenance”,IEEE Transactions on Software Engineering SE-11, 9, 849–856.
Yin, B.H. and W. Winchester (1978), “The Establishment and Use of Measures to Evaluate The Quality of Software Design”, InProceedings Software Quality and Assurance Workshop, pp. 45–52.
Yu, X. and D.A. Lamb (1994), “Metrics Applicable to Software Design”, InSoftware Quality Management II, Vol. 1: Managing Quality Systems, M. Ross, C.A. Brebbia, G. Staples and J. Stapleton, Eds., Computational Mechanics Publications, Proceedings of Software Quality Management '94, Edinburgh, Scotland, pp. 333–348.
Yu, X. (1994),Incorporating Metrics into Software Design, Master's Thesis, Department of Computing and Information Science, Queen's University.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Yu, X., Lamb, D.A. Metrics applicable to software design. Ann Software Eng 1, 23–41 (1995). https://doi.org/10.1007/BF02249044
Issue Date:
DOI: https://doi.org/10.1007/BF02249044