Cyclomatic Complexity-Based Encapsulation, Data Hiding, and Separation of Concerns
- 1 Colorado State University, Fort Collins, USA
- 2 Colorado State University, Fort Collins, USA
Abstract
Three design principles are prominent in software development-encapsulation, data hiding, and separation of concerns. These principles are used as subjective quality criteria for both procedural and object-oriented applications. The purpose of research is to quantify encapsulation, data hiding, and separation of concerns is quantified using cyclomatic-based metrics. As a result of this research, the derived design metrics, coefficient of encapsulation, coefficient of data hiding, and coefficient of separation of concerns, are defined and applied to production software indicating whether the software has low or high encapsulation, data hiding, and separation of concerns.
- Xu, J., Ho, D. and Capretz, L.F. (2008) An Empirical Validation of Objected-Oriented Design Metrics for Fault Prediction. Journal of Computer Science, 4, 571-577. https://doi.org/10.3844/jcssp.2008.571.577
- Selvarani, R., Nair, T.R.G. and Prasad, V.K. (2009) Estimation of Defect Proneness Using Design Complexity Measurements in Object-Oriented Software. International Conference on Signal Processing Systems, Singapore, 2009, 766-770. https://doi.org/10.1109/ICSPS.2009.163
- Zage, W., Zage, D., McDonald, P. and Khan, I. (1993) Evaluating Design Metrics on Large-Scale Software. IEEE Software, 10, 75-81. https://doi.org/10.1109/52.219620
- Basili, V.R., Briand, L. and Melo, W.L. (1995) A Validation of Object-Oriented Design Metrics as Quality Indicators. University of Maryland, College Park.
- Sarkar, S., Kak, A.C and Rama, G.M. (2008) Metrics for Measuring the Quality of Modularization of Large-Scale Object-Oriented Software. IEEE Transactions on Software Engineering, 34, 700-720. https://doi.org/10.1109/TSE.2008.43
- Coleman, D., Ash, D., Lowther, B. and Oman, P. (1994) Using Metrics to Evaluate Software System Maintainability. IEEE Computer, 27, 44-49. https://doi.org/10.1109/2.303623
- Chidamber, S.R. and Kemerer, C.F. (1994) A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, 20, 476-493. https://doi.org/10.1109/32.295895
- Bansiya, J. and Davis, C.G. (2002) A Hierarchical Model for Object-Oriented Design Quality Assessment. IEEE Transaction on Software Engineering, 28, 4-17. https://doi.org/10.1109/32.979986
- Tang, M.-H., Kao, M.-H. and Chen, M-H. (1999) An Empirical Study of Object-Oriented Metrics. Proceedings of the Software Metrics Symposium, Boca Raton, 4-6 November 1999, 242-249.
- Page-Jones, M. (2000) Fundamentals of Object-Oriented Design in UML. Addison-Wesley Longman Publishing Co., Inc., Boston.
- Parnas, D.L. (1972) On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the ACM, 15, 1053-1058. https://doi.org/10.1145/361598.361623
- Dijkstra, E.W. (1982) On the Role of Scientific Thought. Springer-Verlag, New York, 60-66. https://doi.org/10.1007/978-1-4612-5695-3_12
- McCabe, T.J. (1976) A Complexity Measure. IEEE Transactions on Software Engineering, 2, 309-320. https://doi.org/10.1109/TSE.1976.233837