首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 406 毫秒
1.
This paper presents an assessment method to evaluate the quality of object oriented software systems. The assessment method is based on source code abstraction, object–oriented metrics and graphical representation. The metrics used and the underlying model representing the software are presented. The assessment method experiment is part of an industrial research effort with the Bell Canada Quality Engineering and Research Group. It helps evaluators assess the quality and risks associated with software by identifying code fragments presenting unusual characteristics. The assessment method evaluates object–oriented software systems at three levels of granularity: system level, class level and method level. One large C++ and eight Java software systems, for a total of over one million lines of code, are presented as case studies. A critical analysis of the results is presented comparing the systems and the two languages. This revised version was published online in June 2006 with corrections to the Cover Date.  相似文献   

2.
The metrics formulated to date for characterizing the modularization quality of object-oriented software have considered module and class to be synonymous concepts. But a typical class in object oriented programming exists at too low a level of granularity in large object-oriented software consisting of millions of lines of code. A typical module (sometimes referred to as a superpackage) in a large object-oriented software system will typically consist of a large number of classes. Even when the access discipline encoded in each class makes for "clean" class-level partitioning of the code, the intermodule dependencies created by associational, inheritance-based, and method invocations may still make it difficult to maintain and extend the software. The goal of this paper is to provide a set of metrics that characterize large object-oriented software systems with regard to such dependencies. Our metrics characterize the quality of modularization with respect to the APIs of the modules, on the one hand, and, on the other, with respect to such object-oriented inter-module dependencies as caused by inheritance, associational relationships, state access violations, fragile base-class design, etc. Using a two-pronged approach, we validate the metrics by applying them to popular open-source software systems.  相似文献   

3.
面向对象度量的研究   总被引:1,自引:0,他引:1  
度量技术是保证软件质量的重要手段,它定量地反映了软件某一方面的特征。随着面向对象技术的发展,传统的结构化度量不再适合面向对象的软件,因此出现了不少针对面向对象程序的度量,这些度量在一定程度上反映了面向对象软件的若干方面的特征。文章详细分析了面向对象软件的主要特征,在此基础上介绍了现在常见的几组面向对象度量和它们的应用价值,并且分析了它们的不足之处。最后,提出了几个构造面向对象度量应该遵循的准则。  相似文献   

4.
Weyuker's Property 9 has received a mixed response regarding its applicability to object oriented software metrics. Contrary to past beliefs, the relevance of this property to object oriented systems is brought out. In support of the new argument, counterexamples to earlier claims are formulated and two new metrics highlighting a notion of complexity that is capturable through Property 9 are also presented.  相似文献   

5.
一种基于切片技术度量Java耦合性的框架   总被引:7,自引:0,他引:7  
在研究面向对象的度量问题时,人们通过简单的统计方法和基于信息源的方法来度量其中的一些特征,例如基本度量、CK度量和AoKi度量等。文中采用一种基于程序切片的方法来度量Java的耦合性问题,通过对J ava源程序中存在的耦合关系的度量,得到了一种比传统方法更精确的耦合度量方法。  相似文献   

6.
在基于Java软件产品开发过程申,如何保证编码阶段的质量,是软件开发人员关注的关键问题之一.软件质量中的方法和工具是保证软件质量的关键,介绍了软件质量的基本概念和模型,说明了基于Java语言编码过程质量保证的关键方法和工具.  相似文献   

7.
In this paper, the quality metrics suite for object oriented (OO) design is partially used as an initial concept to develop metrics for statically measuring quality of KADS-domain knowledge bases. KADS-domain knowledge bases have common characteristics with OO, and other distinct features that limit the usage of some OO quality metrics. Therefore, new sets of domain knowledge quality metrics are proposed. The proposed matrices are enriched with an automatic tool used to measure quality of real world expert systems. In order to assess the effectiveness of these proposed quality metrics, these metrics were applied on a sample of real world agriculture application domains developed by CLAES (The Central Laboratory of Agriculture Expert System). Finally, complete analysis of the results obtained due to applying these metrics is presented.  相似文献   

8.
一个面向对象软件度量自动生成工具   总被引:6,自引:0,他引:6  
面向对象软件度量技术是面向对象开发方法中不可缺少的环。但是以往适用于过程性和结构化软件开发的传统度量方式是不适用于面向对象程序设计的。本文分析了面向对象程序设计语言的特点及其对软件度量的影响,并介绍了一个具体的支持C++软件度量的自动生成工具。  相似文献   

9.
Object-oriented metrics aim to exhibit the quality of source code and give insight to it quantitatively. Each metric assesses the code from a different aspect. There is a relationship between the quality level and the risk level of source code. The objective of this paper is to empirically examine whether or not there are effective threshold values for source code metrics. It is targeted to derive generalized thresholds that can be used in different software systems. The relationship between metric thresholds and fault-proneness was investigated empirically in this study by using ten open-source software systems. Three types of fault-proneness were defined for the software modules: non-fault-prone, more-than-one-fault-prone, and more-than-three-fault-prone. Two independent case studies were carried out to derive two different threshold values. A single set was created by merging ten datasets and was used as training data by the model. The learner model was created using logistic regression and the Bender method. Results revealed that some metrics have threshold effects. Seven metrics gave satisfactory results in the first case study. In the second case study, eleven metrics gave satisfactory results. This study makes contributions primarily for use by software developers and testers. Software developers can see classes or modules that require revising; this, consequently, contributes to an increment in quality for these modules and a decrement in their risk level. Testers can identify modules that need more testing effort and can prioritize modules according to their risk levels.  相似文献   

10.
The work presented in this paper describes the design for Graduation Project eCoordination System in our department. The proposed eCoordinator provides effective team–team, supervisor–team and coordinator–supervisors–teams collaboration. eCoordinator is an attribute based framework that serves evolving an object oriented software system into agent oriented software system. Nowadays, agent-oriented software development technologies have evolved rapidly; it is emerging as a new paradigm for constructing intelligent more autonomous software systems. Therefore, several methodologies are available and it is difficult to determine the most appropriate methodology for specific project within different domains. This is especially occurs when re-engineering current object oriented software system. The case study is going to be rebuilding a virtual graduation project coordinator in Information Technology Department at King Saud University.  相似文献   

11.
随着软件的演化,软件规模和复杂性的上升往往会造成代码设计质量的退化,进而导致代码可维护性下降。已有大量软件度量指标用于量化代码设计质量,但是由于数量众多,不同指标体系度量结果可比性较差,使得开发人员难以找到存在设计质量问题的模块。系统调研并整理归类了现有的规模、耦合、内聚、封装、继承和多态等6方面软件度量指标。结合度量指标关系以及实验分析,从每个方面的指标集中发现了与代码设计质量关联度最高的6个指标,从而提出一种面向代码设计质量监控的软件度量指标集。实验表明,该指标集可以有效挑选出存在代码设计质量问题的类,可作为开发人员监控和定位代码设计问题的重点关注指标。  相似文献   

12.
基于相似学的面向对象软件复杂性的定量测度研究   总被引:1,自引:0,他引:1  
针对面向对象软件复杂性的定量评价问题,从相似系统学出发研究了面向对象软件系统的复杂性测度问题,提出了相似度、相异度和关联度杂度计算式,并建立了面向对象分类机制的模糊聚类方法。  相似文献   

13.
文中给出了一种基于软件工程理论的面向交通管理的城市道路编码方法,并从应用角度对城市道路编码中的几个主要组成要素,即编码对象、编码粒度、编码结构和编码属性进行了详细编码设计。从广州市智能交通管理指挥系统的实施效果来看,编码设计方案实用可行。  相似文献   

14.
Gabriele Manduchi 《Software》2001,31(11):1025-1042
The paper describes the experience gained in the development of Java applications in a nuclear fusion experiment. Two Java tools for graphical data display and experiment configuration set‐up are presented as case studies. Based on these tools, the results derived by the application of some metrics for object oriented software and by the analysis of the design patterns imported in the applications are presented to highlight the effective code reuse achieved with Java. The main issues in the applicability of Java in a demanding environment are then introduced and a few weaknesses of the language are finally discussed. Copyright © 2001 John Wiley & Sons, Ltd.  相似文献   

15.
Filtering is an emerging abstraction in object‐oriented systems. Filtering can be characterized by an ability to filter messages in transit and perform intermediate actions. Filters can be used for carrying out intermediate tasks such as encryption, load balancing, caching, security checks and add‐on computations. A few filtering approaches have been proposed earlier and some commercial implementations with specialized filtering capabilities are available. This paper discusses a model for transparent and dynamically pluggable first class filter objects for object‐oriented systems based on the Java programming language. The filter object model is based on an interclass filter relationship. The model is realized through extensions to the Java programming language. Filter objects can be injected into message paths during execution time and they are transparent to both clients and servers. The properties of filter objects enable them to be employed as a mechanism for evolution promoting reuse of existing code. A method of evolution through filter objects is discussed. A translator for Java filters (TJF) has been designed and implemented. TJF translates an extended Java program involving filter constructs into an equivalent Java code. The translation scheme is presented and the performance of the translated code is analyzed. A brief survey of existing approaches related to filtering in object‐oriented systems has also been presented. Copyright © 2003 John Wiley & Sons, Ltd.  相似文献   

16.
Given the complexity of many contemporary software systems, it is often difficult to gauge the overall quality of their underlying software components. A potential technique to automatically evaluate such qualitative attributes is to use software metrics as quantitative predictors. In this case study, an aggregation technique based on fuzzy integration is presented that combines the predicted qualitative assessments from multiple classifiers. Multiple linear classifiers are presented with randomly selected subsets of automatically generated software metrics describing components from a sophisticated biomedical data analysis system. The external reference test is a software developer’s thorough assessment of complexity, maintainability, and usability, which is used to assign corresponding quality class labels to each system component. The aggregated qualitative predictions using fuzzy integration are shown to be superior to the predictions from the respective best single classifiers.  相似文献   

17.
在分析了多种面向对象度量模型的基础上 ,设计并实现了一种实用的面向对象软件度量工具 .该工具从结构上保证了面向对象度量和面向结构度量的结合 ,与直接度量和间接度量的结合 .详细介绍了对象特征的分析 ,以及特征集和度量指标的存储设计 .最后举例验证该设计的实用性 ,并指出需进一步改进的方面 .  相似文献   

18.
Large-scale object-oriented (OO) software systems have recently been found to share global network characteristics such as small world and scale free, which go beyond the scope of traditional software measurement and assessment methodologies. To measure the complexity at various levels of granularity, namely graph, class (and object) and source code, we propose a hierarchical set of metrics in terms of coupling and cohesion — the most important characteristics of software, and analyze a sample of 12 open-source OO software systems to empirically validate the set. Experimental results of the correlations between cross-level metrics indicate that the graph measures of our set complement traditional software metrics well from the viewpoint of network thinking, and provide more effective information about fault-prone classes in practice.  相似文献   

19.
代码质量度量是软件质量分析的一个重要研究方向。静态分析方法因其具有成本低、容易实现而且不依赖于程序特定的运行环境的优点,在当前软件网络化、服务化的趋势下倍受关注。针对Java代码质量度量进行研究,使用Ant工具整合各种开源的静态测试工具,并制定基于静态分析的Java代码质量综合评价方案,可支持包括代码规模、规范性、可维护性、可扩展性和潜在危险等方面的综合检测,为项目的开发者、管理者和使用者提供了实用的代码质量评价方法。  相似文献   

20.
In recent years, there have been several proposals for amount-of-reuse metrics. However, it is not clear if these metrics measure anything different from other software metrics that are often generally used. Besides, the relationship between these metrics is also unclear. Without a clear understanding, the true added value provided by these metrics remains unknown. In this paper, an analysis of the existing amount-of-reuse metrics is presented and a subset of these is selected, on the basis of their industrial applicability, for further investigation. These metrics are then applied to a collection of different software products to obtain an understanding of the level of correlation that exists between them and other well-known software metrics such as cyclomatic complexity, volume and lines of code. Our analysis suggests that the selected subset of amount-of-reuse metrics provides a relatively independent view of the analyzed code.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号