机构地区:[1]MOE Key Laboratory for Intelligent Networks and Network Security, Xi'an Jiaotong University, Xian 710049, China [2]Shaanxi Key Laboratory of Satellite-terrestrial Network Technology R~D, Xi'an Jiaotong University, Xian 710049, China [3]Department of Computer Science, Western Michigan University, Michigan, USA
出 处:《Science China(Information Sciences)》2012年第12期2816-2825,共10页中国科学(信息科学)(英文版)
基 金:supported by National Natural Science Foundation of China(Grant Nos.60921003,61203174, 91018011,91118005,912183001);National Science Fund for Distinguished Young Scholars(Grant No.60825202);Key Projects in the National Science & Technology Pillar Program(Grant No.2011BAK08B02);Doctoral Fund of the Ministry of Education in China(Grant No.20110201120010);Fundamental Research Funds for the Central Universities
摘 要: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.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.
关 键 词:software structure evaluation method interaction method encapsulation functional structure hierarchical structure
分 类 号:TP311.5[自动化与计算机技术—计算机软件与理论] TU312.1[自动化与计算机技术—计算机科学与技术]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...