共查询到20条相似文献,搜索用时 31 毫秒
1.
Although H. S. Chae's class cohesion measure considers not only the number of interactions, but also the patterns of the interactions among the constitute members of a class (which overcomes the limitations of previous class cohesion measures) it, however, only partly considers the patterns of interactions, and might cause the measuring results to be inconsistent with intuition in some cases. This paper discusses the demerits and proposes constructive amendments to Chae's cohesion measure. Copyright © 2001 John Wiley & Sons, Ltd. 相似文献
2.
3.
4.
In object‐oriented systems, cohesion refers to the degree of the relatedness of the members in a class and strong cohesion has been recognized as a highly desirable property of classes. We note that the existing cohesion measures do not take into account some characteristics of classes, and thus often fail to properly reflect the cohesiveness of classes. To cope with such a problem, we propose a new cohesion measure where the characteristics of classes are incorporated. Our cohesion measure takes into account the members that actually have impact on the cohesiveness of a class, and is defined in terms of the degree of the connectivity among those members. We develop a cohesion measurement tool for C++ programs, and perform a case study on a well‐known class library in order to demonstrate the effectiveness of our new measure. By performing principal component analysis, we also demonstrate that our measure captures a new aspect of class properties which is not captured by the existing cohesion measures. Copyright © 2000 John Wiley & Sons, Ltd. 相似文献
5.
一种基于依赖性分析的类内聚度度量方法 总被引:8,自引:2,他引:8
内聚度是指模块内各成分之间的联结强度.在面向对象程序中,内聚度主要是指类内部各成分之间的联结强度.在深入剖析了类的属性与属性、方法与属性以及方法与方法之间的关系及其性质的基础上,提出了一种基于依赖性分析的内聚度度量方法,并证明了它满足优良的内聚度度量方法应该具有的性质,从而克服了已有方法只是分析了某个方面的不足,为综合评价类内聚度提供了指南。 相似文献
6.
Jehad Al Dallal 《Software》2013,43(6):685-704
Class cohesion metrics apply different approaches to quantify the relatedness of the attributes and methods in a class. These relations can be direct or transitive. Method invocations are among the key sources of potential transitive attribute–method relations. That is, a method is not only related to the attributes that it references, but it may also be transitively related to the attributes referenced by the methods that it invokes. A few of the existing class cohesion metrics capture this potential transitive cohesion aspect. In this paper, we classify the method invocations as direct or transitive. The definitions of the class representative models used by 16 existing low‐level design (LLD) metrics are extended to incorporate the cohesion caused by the two types of method invocations. The impact of incorporating the transitive relations because of the two types of method invocations on the cohesion values and on the ability of the LLD metrics to predict faulty classes are studied empirically. The results show that the transitive relations because of both types of method invocations featured a considerable degree of cohesion that is not captured by most of the existing LLD metrics. However, practically, incorporating transitive relations in cohesion measurement was found to be ineffective in improving the fault‐prediction powers of most of the LLD metrics. Copyright © 2012 John Wiley & Sons, Ltd. 相似文献
7.
在软件开发过程中,面向对象方法和形式方法的综合使用有助于充分利用这两种方法的优点并克服它们的不足。在Z规格说明语言的基础上,作者设计了一种结构化的面向对象形式规格说明语言OOZS,以提高形式规格说明的层次性及模块化能力。本文简要介绍了OOZS语言的设计思想及其面向对象特征。 相似文献
8.
Object‐oriented technology is gaining popularity among software engineers with the goal of building reusable and adaptable software. Unfortunately, however, most methods introduced so far are not domain‐oriented and do not address the issue of reuse directly. For these methods, software reuse is not the primary goal; it is only a by‐product. The feature‐oriented reuse method, FORM, is extended in this paper for improving the object‐oriented engineering of applications for reuse. FORM concentrates on analyzing and modeling commonalities and differences in the applications of a given domain in terms of capability, operating environment, domain technology, and implementation technique features. These features are used to systematically derive objects that are tied to the features, and to develop reusable and adaptable domain architectures. We found that FORM facilitates analysis of variability (and commonality) of software before engineering and implementation start, and with this understanding, adaptability and reusability can be built into software. Feature modeling has been found to be an effective method for identifying and modeling reusable objects. Copyright © 2000 John Wiley & Sons, Ltd. 相似文献
9.
Complexity metrics for object‐oriented systems are plentiful. Numerous studies have been undertaken to establish valid and meaningful measures of maintainability as they relate to the static structural characteristics of software. In general, these studies have lacked the empirical validation of their meaning and/or have only succeeded in evaluating partial aspects of the system. In this study we have determined, through limited empirical means, a practical and holistic view by analyzing and comparing the structural characteristics of UML class diagrams as those characteristics relate to or impact maintainability. Class diagrams are composed of three kinds of relation, association, generalization, and aggregation, which make their overall structure difficult to understand. We propose combining these three relations in such a way that enables a comprehensive measure of complexity. Theoretically, this measure is applicable among different class diagrams (including different domains, platforms or systems) to the extent that the measure is widely comparative and context free. Further, this property does not preclude comparison within a specific class diagram (or family) and is therefore very useful in evaluating a given class diagram's strengths and weaknesses. We are reporting empirical results that provide a small measure of validity to enable an objective appraisal of both complexity and maintainability without equating the two. Therefore, to evaluate our structural complexity metric, we determined the level of understandability of the system by measuring the time needed to reverse engineer source code into class diagrams including the number of errors produced while creating the diagram. The number of errors produced offers one indicator of maintainability. The results, as compared with other complexity metrics, indicate that our metric shows promise especially if proven to be scalable. Copyright © 2006 John Wiley & Sons, Ltd. 相似文献
10.
11.
Michael Philippsen 《Concurrency and Computation》2000,12(10):917-980
During the last decade object‐oriented programming has grown from marginal influence into widespread acceptance. During the same period, progress in hardware and networking has changed the computing environment from sequential to parallel. Multi‐processor workstations and clusters are now quite common. Unnumbered proposals have been made to combine both developments. Always the prime objective has been to provide the advantages of object‐oriented software design at the increased power of parallel machines. However, combining both concepts has proven to be notoriously difficult. Depending on the approach, often key characteristics of either the object‐oriented paradigm or key performance factors of parallelism are sacrificed, resulting in unsatisfactory languages. This survey first recapitulates well‐known characteristics of both the object‐oriented paradigm and parallel programming, and then marks out the design space of possible combinations by identifying various interdependencies of key concepts. The design space is then filled with data points: for 111 proposed languages we provide brief characteristics and feature tables. Feature tables, the comprehensive bibliography, and web‐addresses might help in identifying open questions and preventing re‐inventions. Copyright © 2000 John Wiley & Sons, Ltd. 相似文献
12.
状态依赖的类内聚度量 总被引:1,自引:0,他引:1
类是面向对象软件中的模块,包含属性和方法。类内聚度量是对类属性和方法相关程度的度量。通过对类方法和属性的分类及其与类状态之间的关系分析,提出了类核的概念和状态依赖的类内聚度量方法。该方法有利于克服类内聚度量复杂性和判断模糊性问题,并可以在设计阶段对类的内聚进行度量。 相似文献
13.
We have developed a Graphics Class Library (GCL) for graphics recognition using the object‐process methodology and object‐oriented implementation. The purpose of the library is to supply generic code for graphics recognition algorithms to be used as ready made and easily extendible components in future systems. The library consists of reusable classes of graphic objects that appear in engineering drawings as well as in other classes of line drawings. A generic integrated graphics recognition algorithm is at the basis of the library, serving useful standard operations required for graphics recognition applications. Copyright © 1999 John Wiley & Sons, Ltd. 相似文献
14.
Joseph R. Laracy 《Software》2009,39(1):105-110
As the use of computer simulation grows in a variety of science and engineering fields, the quality of random variate generators becomes increasingly important. Unfortunately, a number of standard implementations are grossly inadequate and exhibit poor statistical properties. This paper presents a software pattern for efficiently implementing an extensible, high‐quality random variate generator. Copyright © 2008 John Wiley & Sons, Ltd. 相似文献
15.
Jehad Al Dallal 《Journal of Software: Evolution and Process》2015,27(5):373-400
Intuitively, in a certain class, a pair of methods that share an attribute of an object type is potentially more cohesive than those that share an attribute of a primitive type because the attribute of a reference type could implicitly refer to multiple data. Existing class cohesion measures ignore the implicit access to or sharing of attributes due to the encapsulation feature. As a result, the obtained cohesion values can be inaccurate and could lead to incorrect quality indications. This paper aims at demonstrating how to account for data encapsulation (DE) in cohesion measurement and reports empirical studies that investigate the impact of considering DE in cohesion measurement on cohesion values and the abilities of cohesion measures to predict class fault proneness. To differentiate between attributes and parameters of different types, we propose a weight assignment algorithm. The weight that is assigned to an attribute or a parameter of a type depends on the number of encapsulated attributes of the type. Seven cohesion measures are extended to consider the assigned weights in cohesion measurement. The results of the empirical study show that the cohesion values and the corresponding fault-proneness prediction results can significantly change when accounting for DE in cohesion measurement. Copyright © 2015 John Wiley & Sons, Ltd. 相似文献
16.
17.
This paper presents CMOS circuit designs of a ternary adder and a ternary multiplier,formulated using transmission function theory.Binary carry signals appearing in these designs allow conventional look-ahead carry techniques to be used.compared with previous similar designs,the circuits proposed in this paper have advantages such as low dissipation,low output impedance,and simplicity of construction. 相似文献
18.
Reengineering legacy systems written in conventional procedural languages to equivelent OO systms makes software more maintainable and reliable.This paper proposes a method for extracting objects from legacy Ada83 systems using module features.Firest.metrics are developed to measure module cohesion.Then,effects on cohesion from changing module components are analyzed and rules about how to extract inheritance relations among objects are given.At the end of this paper,an object-extracting algorithm usin module features is proposed. 相似文献
19.
This article discusses the problem of constructing robust class libraries. Further design criteria include the flexibility of class libraries, the efficiency of the implementations, and their safe extensibility. We show that it is possible to design robust libraries to satisfy any two of the requirements at the same time. Although the solution may require an exponential growth in the number of classes compared to the original design, this apparent class explosion can be controlled by generating only the necessary additional classes automatically. As an application demonstrating both the theoretical problems and the power of our generator approach, the design of a library modelling data structures and algorithms for graphs is considered. Both the discussion and the results in this article generalize to other domains. Copyright © 2000 John Wiley & Sons, Ltd. 相似文献
20.
Frederick T. Sheldon Kshamta Jerath Hong Chung 《Journal of Software: Evolution and Process》2002,14(3):147-160
Since the proposal for the six object‐oriented metrics by Chidamber and Kemerer (1994), several studies have been conducted to validate their metrics and have discovered some deficiencies. Consequently, many new metrics for object‐oriented systems have been proposed. Among the various measurements of object‐oriented characteristics, we focus on the metrics of class inheritance hierarchies in design and maintenance. As such, we propose two simple and heuristic metrics for the class inheritance hierarchy for the maintenance of object‐oriented software. In this paper we investigate the work of Chidamber and Kemerer (1994) and Li (1998), and extend their work to apply specifically to the maintenance of a class inheritance hierarchy. In doing so, we suggest new metrics for understandability and modifiability of a class inheritance hierarchy. The main contribution here includes the various comparisons that we have made. We discuss the advantages over Chidamber and Kemerer's (1994) metrics and Henderson‐Sellers's (1996) metrics in the context of maintaining class inheritance hierarchies. Copyright © 2002 John Wiley & Sons, Ltd. 相似文献