Skip to main content
Log in

Metrics applicable to software design

  • Published:
Annals of Software Engineering

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Alexander, C. (1964),Notes on the Synthesis of Form, Harvard University Press, Cambridge, MA, USA.

    Google Scholar 

  • 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.

    Google Scholar 

  • Card, D.N. and W.W. Agresti (1988), “Measuring Software Design Complexity”,Journal of Systems and Software 8, 185–197.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Kafura, D. and S. Henry (1981), “Software Quality Metrics Based on Interconnectivity”,Journal of Systems and Software 2, 121–131.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Shepperd, M. (1989), “Metrics, Outlier Analysis and the Software Design Process”,Information and Software Technology 31, 2, 91–98.

    Google Scholar 

  • Shepperd, M. (1990), “Design Metrics: An Empirical Analysis”,Software Engineering Journal 5, 1, 3–10.

    Google Scholar 

  • Stevens, W.P., G.J. Meyer, and L.L. Constantine (1974), “Structured Design”,IBM Systems Journal 13, 2, 115–139.

    Google Scholar 

  • Yau, S.S. and J.S. Collofello (1985), “Design Stability Measures for Software Maintenance”,IEEE Transactions on Software Engineering SE-11, 9, 849–856.

    Google Scholar 

  • 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.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02249044

Keywords

Navigation