• Title/Summary/Keyword: object-oriented software metrics

Search Result 53, Processing Time 0.026 seconds

The Complexity of the Static Structures of Object-Oriented Systems by Analyzing the Class Diagram of UML (UML 클래스 다이어그램의 분석에 의한 객체지향 시스템의 정적 구조 복잡도 연구)

  • Chung, Hong;Hong, Dong-Kwon
    • Journal of the Korean Institute of Intelligent Systems
    • /
    • v.14 no.6
    • /
    • pp.793-799
    • /
    • 2004
  • Many researches and validations for the complexity metrics of the object-oriented systems have been studied. Most of them are aimed for the measurement of the partial aspects of the systems, for example, the coupling between objects, the complexity of inheritance structures, the cohesion of methods, and so on. But the software practitioners want to measure the complexity of overall system, not partial. We studied the complexity of the overall structures of object-oriented systems by analyzing the class diagram of UML. The class diagram is composed of classes and their relations. There are three kinds of relations, association, generalization, and aggregation, which are making the structure of object-oriented systems to be difficult to understand. We proposed a heuristic metric to measure the complexity of object-oriented systems by putting together the three kinds of the relations. This metric will be helpful to the software developers for their designing tasks by evaluating the complexity of the structures of object-oriented system and redesigning tasks of the system.

Theoretical Validation of Inheritance Metric in QMOOD against Weyuker's Properties

  • Alharthi, Mariam;Aljedaibi, Wajdi
    • International Journal of Computer Science & Network Security
    • /
    • v.21 no.7
    • /
    • pp.284-296
    • /
    • 2021
  • Quality Models are important element of the software industry to develop and implement the best quality product in the market. This type of model provides aid in describing quality measures, which directly enhance the user satisfaction and software quality. In software development, the inheritance technique is an important mechanism used in object-oriented programming that allows the developers to define new classes having all the properties of super class. This technique supports the hierarchy design for classes and makes an "is-a" association among the super and subclasses. This paper describes a standard procedure for validating the inheritance metric in Quality Model for Object-Oriented Design (QMOOD) by using a set of nine properties established by Weyuker. These properties commonly using for investigating the effectiveness of the metric. The integration of two measuring methods (i.e. QMOOD and Weyuker) will provide new way for evaluating the software quality based on the inheritance context. The output of this research shows the extent of satisfaction of the inheritance metric in QMOOD against Weyuker nine properties. Further results proved that Weyker's property number nine could not fulfilled by any inheritance metrics. This research introduces a way for measuring software that developed using object-oriented approach. The theoretical validation of the inheritance metric presented in this paper is a small step taken towards producing quality software and in providing assistance to the software industry.

New Coupling Metrics for SOA Based Softwares (서비스 지향 아키텍처(SOA) 기반 소프트웨어의 새로운 결합도 메트릭)

  • Yoo, Moon-Sung
    • Journal of Information Technology Services
    • /
    • v.10 no.4
    • /
    • pp.219-227
    • /
    • 2011
  • Service Oriented Architecture (SOA) is rapidly emerging as the efficient approach in contemporary complex, heterogeneous computing environments. SOA increases the adaptability by loose coupling and its main feature is that three elements such as service provider, service requester and service registry are connected with each other systematically. To design the service-oriented system efficiently, a metric to measure the coupling between services accurately is needed. In this paper, we propose four coupling metrics for SOA based softwares. First, we suggest a coupling metric for service-oriented systems by modifying an established coupling metric of object-oriented systems. Then we suggest another coupling metric which includes indirect coupling between services. We also suggest two relative coupling metrics to measure coupling between subsystems. We investigate the theoretical soundness of the proposed metrics by the axioms of Briand et al. Finally, we apply the presented metrics to an industrial-scale case study.

A Metric of Component Extraction for Package based Object Oriented Codes (패키지 중심의 객체지향 코드의 컴포넌트 추출을 위한 메트릭)

  • 이종호;류성열
    • The Journal of Society for e-Business Studies
    • /
    • v.8 no.2
    • /
    • pp.113-129
    • /
    • 2003
  • Component-based software development (CBSD) has been recognized effective reuse techniques for software development by many of researchers and companies. The purpose of CBSD is to produce a high quality software system quickly through using verified software component which is contained fine-grained business logics. This paper suggests the metrics and techniques for to extract component and its interface from legacy object oriented application. For extract component, we apply metrics to measure complexity, cohesion and coupling to the legacy system.

  • PDF

Metrics for Maintainability of Class Inheritance Structures and it지s Evaluation (클래스 상속 구조의 유지보수성에 관한 척도와 평가)

  • Chung, Hong
    • Journal of the Korean Institute of Intelligent Systems
    • /
    • v.12 no.6
    • /
    • pp.537-542
    • /
    • 2002
  • We propose new metrics for understandability and modifiability of class inheritance structures based on the object-oriented metrics suggested by Chidamber and Kemerer. The metrics are evaluated using the results of Gursaran s experiments which validated the empirical relation of DIT(Depth of Inheritance Tree) and NOC(Number of Children) metrics of Chidamber and Kemerer.

An Empirical Study of Relationship between Object-oriented Metrics and Maintainability (객체지향 메트릭과 유지보수성과의 관계에 대한 실험적 연구)

  • Jung Woo-Seong;Chae Heung-Seok
    • The KIPS Transactions:PartD
    • /
    • v.13D no.2 s.105
    • /
    • pp.241-250
    • /
    • 2006
  • Software maintenance is an important and very expensive activity in software life cycle. To estimate the maintainability cost of software, many software metrics have been proposed. This paper presents the result of an experimental study to explore the relationship between maintainability and some software metrics. LCOM, RFC, DAC, and LOC are employed as metrics and time really spent for maintenance activity has been collected. In the experimental study, we have found that for some systems, the existing metrics may not be an indicator to maintenance effort, which is not consistent with our general knowledge on the relationship between them. Specifically speaking, we recognized that there should be more empirical study on the relationship between metrics and maintainability of softwares which have been developed using recent technologies such as software architecture and design pattern.

A Transforming Technique toward Component-based System from Object-oriented Model Using Static Metrics (객체지향 모델로부터 정적 메트릭을 이용하여 컴포넌트 기반 시스템으로 변환하는 기법)

  • 이은주;신우창;이병정;우치수
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.6
    • /
    • pp.728-740
    • /
    • 2004
  • The increasing complexity and shorter life cycle of software have made it necessary to reuse software. Object-oriented development had not provided extensive reuse and computing infrastructures are evolving from mainframe to distributed environments. However, components provide more advanced means of structuring, describing and developing system, because they are more coarse-grained and have more domain-specific aspects than objects. And they are also suited for distributed environment due to their reusability and granularity. In this paper, we present a process including the static metrics and guidelines that can be applied to transform object-oriented systems into component-based systems. Our process consists of two parts: First, basic components are created based upon composition and inheritance relationships between classes. Second, intermediate system is refined into component-based system with the static metrics and guidelines we propose.

Metrics Measuring a Quality based on Object-Oriented Design Characteristics (객체지향 설계의 특성을 고려한 품질 평가 메트릭스)

  • Kim, Yu-Kyung;Park, Jai-Nyun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.2
    • /
    • pp.373-384
    • /
    • 2000
  • There are many researches about metrics to measure a quality of Object-Oriented(OO) software. However, most of them have only discussed a concept or properties of metrics, and have not shown the detailed procedure for measuring them. They also define a measurement indicator as a threshold, but it has been influenced on a project size or application domains. In this paper, we propose metrics based on characteristics of OO design such as size, complexity, coupling and cohesion, and use a propotion to an average as the measurement indicator. It is easy to classify classes which have a result above the average, and to predict classes which reduced the quality of OO design. They will be modified to hold the average. Proposed metrics are analytically evaluated by Weyuker's nine properties. They are satisfied with seven properties except two properties co not apply to OO metrics. Also, we design a quality assessment system, ASSOD(ASsessment System of Object oriented Design), to measure the quality of the OO design independent of the platform.

  • PDF

Improving Cohesion Metrics for Classes By Considering Dependent Instance Variables (의존 인스턴스 변수를 고려한 클래스 응집도 척도의 개선)

  • Chae Heung Seok;Kwon Yong Rae;Bae Doo Hwan
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.9
    • /
    • pp.1131-1141
    • /
    • 2004
  • Cohesion refers to the degree of the relatedness of the elements in a module, and it is widely accepted that the module of higher cohesion is easier to understand, maintain, and reuse. Recently, several cohesion metrics have been proposed to measure the cohesiveness of classes in an object-oriented program. However, the existing cohesion metrics do not consider the characteristics of dependent instance variables that are commonly used in a class and, thus, do not properly reflect the cohesiveness of the class. This paper presents an approach for improving the cohesion metrics by considering the characteristics of the dependent instance variables in an object-oriented program. To demonstrate the importance of the dependent instance variables, a case study has been conducted on a class library.

A Metrics-Based Approach to the Reorganization of Class Hierarchy Structures (클래스계층구조의 품질평가척도를 기반으로 하는 재구성기법)

  • Hwang, Sun-Hyung;Yang, Hea-Sool;Hwang, Young-Sub
    • The KIPS Transactions:PartD
    • /
    • v.10D no.5
    • /
    • pp.859-872
    • /
    • 2003
  • Class hierarchies often constitute the backbone of object-oriented software. Their quality is therefore quite crucial. Building class hierarchies with good qualify is a very important and common tasks on the object oriented software development, but such hierarchies are not so easy to build. Moreover, the class hierarchy structure under construction is frequently restructured and refined until it becomes suitable for the requirement on the iterative and incremental development lifecycle. Therefore, there has been renewal of interest in all methodologies and tools to assist the object oriented developers in this task. In this paper, we define a set of quantitative metrics which provide a wav of capturing features of a rough estimation of complexity of class hierarchy structure. In addition to, we suggest a set of algorithms that transform a original class hierarchy structure into reorganized one based on the proposed metrics for class hierarchy structure. Furthermore, we also prove that each algorithm is "object-preserving". That is, we prove that the set of objects are never changed before and after applying the algorithm on a class hierarchy. The technique presented in this paper can be used as a guidelines of the construction, restructuring and refinement of class hierarchies. Moreover, the proposed set of algorithms based on metrics can be helpful for developers as an useful instrument for the object-oriented software development.velopment.