Abstract
Software structure is the most important factor affecting the quality of a program. The evaluation of software structure is a foundational technique for software development. However, the traditional evaluation criteria, such as “high cohesion and low coupling”, are no longer appropriate for the new web applications, which are designed with a hierarchical framework. A novel approach is proposed in this paper to evaluate software quality based on the interaction and encapsulation of methods. In particular, two criteria for high quality software, the functional and hierarchical structure, are proposed to support widely used web applications. The cohesion and coupling and layer matching ratios between methods within a software package are calculated to determine whether the package is well implemented in terms of functional or hierarchical structure. This approach enables us to quantify the quality of a software system according to the structural types of its packages. Experiments were carried out on 18 versions of Struts and six open-source software packages. Our evaluation concurs with the intuition that minor upgrades, aimed at fixing bugs and adding minor functionality quickly, reduce software quality, whereas major upgrades, which normally clean up messy code and re-construct the software, improve software quality.
Similar content being viewed by others
References
Chahal K K, Singh H. Metrics to study symptoms of bad software designs. ACM SIGSOFT Softw Eng Notes, 2009, 34: 1–4
IEEE Computer Society. IEEE Std 1016-2009, IEEE Standard for Information Technology-Systems Design-Software Design Descriptions. 2009
ISO/IEC. ISO/IEC 14598, Information technology — Software product evaluation. 1999
Standardization Administration Of China. GB/T 16260.1-2006, Software engineering Product quality Part 1: Quality model. 2006
McCabe T J. A complexity measure. IEEE Trans Softw Eng, 1976, 4: 308–320
Bobbio A, Garg S, Gribaudo M, et al. Compositional fluid stochastic Petri net model for operational software system performance. In: IEEE International Conference on Software Reliability Engineering, Seattle, 2008. 1–6
Yang N H, Yu H Q, Sun H, et al. Modeling UML sequence diagrams using extended petri nets. In: International Conference on Information Science and Applications (ICISA), Seoul, 2010. 1–8
Kalaji A, Hierons R M, Swift S. A search-based approach for automatic test generation from extended finite state machine (EFSM). In: Testing: Academic and Industrial Conference-Practice and Research Techniques, Windsor, 2009. 131–132
Valverde S, Cancho R F, Sol R V. Scale-free networks from optimal design. Euro Phys Lett (EPL), 2002, 60: 512–517
Valverde S, Solé R V. Hierarchical Small Worlds in Software Architecture. Working Paper of Santa Fe Institute SFI/03-07-44. 2003
Myers C R. Software systems as complex networks: Structure, function, and evolve ability of software collaboration graphs. Phys Rev E, 2003, 68: 46116
Ma Y, He K, Li B, et al. A hybrid set of complexity metrics for large-scale object-oriented software systems. J Comput Sci Technol, 2010, 25: 1184–1201
Stahl T, Voelter M, Czarnecki K. Model-Driven Software Development: Technology, Engineering, Management. New York: John Wiley & Sons, 2006
Yourdon E, Constantine L L. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Upper Saddle River: Prentice-Hall, Inc, 1979. 473
Shen C X, Zhang H G, Wang H M, et al. Research on trusted computing and its development. Sci China Inf Sci, 2010, 53: 405–433
Praditwong K, Harman M, Yao X. Software module clustering as a multi-objective search problem. IEEE Trans Softw Eng, 2011, 37: 264–282
Yu L, Schach S R, Chen K, et al. Categorization of common coupling and its application to the maintainability of the Linux kernel. IEEE Trans Softw Eng, 2004, 30: 694–706
Marquis G P. Application of traditional system design techniques to web site design. Inf Softw Technol, 2002, 44: 507–512
Gupta V, Chhabra J. Package level cohesion measurement in object-oriented software. J Brazil Comput Soc, 2012, 18: 251–266
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Zheng, Q., Ou, Z., Liu, T. et al. Software structure evaluation based on the interaction and encapsulation of methods. Sci. China Inf. Sci. 55, 2816–2825 (2012). https://doi.org/10.1007/s11432-012-4542-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11432-012-4542-4