• 제목/요약/키워드: Object-Oriented metrics

검색결과 65건 처리시간 0.026초

객체지향 시스템에서 간접 의존성을 포함한 결합도 메트릭 (Coupling Metrics Including Indirect Dependency for Object-Oriented Systems)

  • 유문성
    • 디지털산업정보학회논문지
    • /
    • 제7권3호
    • /
    • pp.37-42
    • /
    • 2011
  • Nowadays software developers are moving from conventional software process technologies to the object-oriented paradigm. To develope the object-oriented softwares efficiently, various software metrics have been suggested. Coupling refers to the degree of independence between components of the system. It has long been well known that good software practice calls for minimizing coupling interaction. Many researches have been studied coupling metrics of the object- oriented systems. We review Chidamber and Kemerer's work & Li's work. In this paper, we study the coupling of the overall structures of object-oriented systems by analyzing the class diagram of UML. We propose four coupling metrics for object-oriented softwares. First, we use an established coupling metric for object- oriented systems as a basic coupling metric. Then we modify the basic coupling metric by including indirect coupling between classes, 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 a practical case study. This coupling metric will be helpful to the software developers for their designing tasks by evaluating the coupling metric of the structures of object-oriented system and redesigning tasks of the system.

소프트웨어 신뢰성 예측을 위한 객체지향 척도 분석 (Analysis of Object-Oriented Metrics to Predict Software Reliability)

  • 이양규
    • 한국신뢰성학회지:신뢰성응용연구
    • /
    • 제16권1호
    • /
    • pp.48-55
    • /
    • 2016
  • Purpose: The purpose of this study is to identify the object-oriented metrics which have strong impact on the reliability and fault-proneness of software products. The reliability and fault-proneness of software product is closely related to the design properties of class diagrams such as coupling between objects and depth of inheritance tree. Methods: This study has empirically validated the object-oriented metrics to determine which metrics are the best to predict fault-proneness. We have tested the metrics using logistic regressions and artificial neural networks. The results are then compared and validated by ROC curves. Results: The artificial neural network models show better results in sensitivity, specificity and correctness than logistic regression models. Among object-oriented metrics, several metrics can estimate the fault-proneness better. The metrics are CBO (coupling between objects), DIT (depth of inheritance), LCOM (lack of cohesive methods), RFC (response for class). In addition to the object-oriented metrics, LOC (lines of code) metric has also proven to be a good factor for determining fault-proneness of software products. Conclusion: In order to develop fault-free and reliable software products on time and within budget, assuring quality of initial phases of software development processes is crucial. Since object-oriented metrics can be measured in the early phases, it is important to make sure the key metrics of software design as good as possible.

A Study: UML for OOA and OOD

  • Rajagopal, D.;Thilakavalli, K.
    • International Journal of Knowledge Content Development & Technology
    • /
    • 제7권2호
    • /
    • pp.5-20
    • /
    • 2017
  • The notion of object oriented analysis and design in software engineering has many rewards that aid the programmer to have an understanding of and improve the program efficaciously. Object oriented metrics helps rather a lot to a programmer or developer to comprehend and unravel the thing-oriented trouble readily and exactly. Object oriented metrics helps in examining the usefulness of object oriented applied sciences or in simple phrases Object-oriented metrics depict characteristics of object-oriented programming. The intention of this paper is to have an understanding of concerning the UML, Object oriented evaluation and design and the way it plays in UML.

Evaluation Metrics for Class Hierarchy in Object-Oriented Databases: Concurrency Control Perspectives

  • Jun Woo-Chun
    • 한국멀티미디어학회논문지
    • /
    • 제9권6호
    • /
    • pp.693-699
    • /
    • 2006
  • Object-oriented databases (OODBs) have been adopted for managing non-standard applications such as computer-aided design (CAD), office document management and many multimedia applications. One of the major characteristics of OODBs is class hierarchy where a subclass is allowed to inherit the definitions defined on its superclasses. In this paper, I present the evaluation metrics for class hierarchy quality in OODBs. These metrics are developed to determine if a concurrency control scheme can achieve good performance or not on a given class hierarchy. I first discuss the existing concurrency control schemes for OODBs. Then I provide evaluation metrics based on structural information and access frequency information in class hierarchies. In order to discuss significance of the proposed performance metrics, an analytical model is developed. Analysis results show that the performance metrics are important factor in concurrency control performance. I consider both single inheritance and multiple inheritance. The proposed metrics can be used to provide guidelines on how to design class hierarchy of an OODB for maximizing the performance of concurrency control technique.

  • PDF

Evolutionary Computing Driven Extreme Learning Machine for Objected Oriented Software Aging Prediction

  • Ahamad, Shahanawaj
    • International Journal of Computer Science & Network Security
    • /
    • 제22권2호
    • /
    • pp.232-240
    • /
    • 2022
  • To fulfill user expectations, the rapid evolution of software techniques and approaches has necessitated reliable and flawless software operations. Aging prediction in the software under operation is becoming a basic and unavoidable requirement for ensuring the systems' availability, reliability, and operations. In this paper, an improved evolutionary computing-driven extreme learning scheme (ECD-ELM) has been suggested for object-oriented software aging prediction. To perform aging prediction, we employed a variety of metrics, including program size, McCube complexity metrics, Halstead metrics, runtime failure event metrics, and some unique aging-related metrics (ARM). In our suggested paradigm, extracting OOP software metrics is done after pre-processing, which includes outlier detection and normalization. This technique improved our proposed system's ability to deal with instances with unbalanced biases and metrics. Further, different dimensional reduction and feature selection algorithms such as principal component analysis (PCA), linear discriminant analysis (LDA), and T-Test analysis have been applied. We have suggested a single hidden layer multi-feed forward neural network (SL-MFNN) based ELM, where an adaptive genetic algorithm (AGA) has been applied to estimate the weight and bias parameters for ELM learning. Unlike the traditional neural networks model, the implementation of GA-based ELM with LDA feature selection has outperformed other aging prediction approaches in terms of prediction accuracy, precision, recall, and F-measure. The results affirm that the implementation of outlier detection, normalization of imbalanced metrics, LDA-based feature selection, and GA-based ELM can be the reliable solution for object-oriented software aging prediction.

객체지향 메트릭을 이용한 변경 발생에 대한 예측 모형 (A Prediction Model for Software Change using Object-oriented Metrics)

  • 이미정;채흥석;김태연
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제34권7호
    • /
    • pp.603-615
    • /
    • 2007
  • 다양한 이유로 소프트웨어는 변경이 될 수 있으며 이는 유지보수 비용의 상승을 초래한다. 소프트웨어 메트릭은 클래스의 특성에 대한 정량적인 값으로서 유지보수 비용, 결함의 가능성 여부 등을 예측하는데 사용되고 있다. 본 논문에서는 대표적인 객체지향 메트릭과 산업체의 실제 소프트웨어 개발 과정에서 발생하는 변경 발생 횟수와의 관계를 제시한다. 규모, 복잡도, 결합도, 상속과 다형성 측면에서 7개의 메트릭이 사용되었으며, .NET 플랫폼 기반의 정보 시스템의 개발 과정에서 변경 발생 횟수에 대한 자료를 수집하였다. 본 논문에서는 다중회귀분석 기법을 이용하여 사용된 객체지향 메트릭으로부터 변경 발생횟수를 예측하는 모형을 제시한다.

객체 지향 시스템에서의 클래스 응집도와 결합도 메트릭 (Cohesion and Coupling Metric for Classes in Object - Oriented System)

  • 이종석;우치수
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제27권6호
    • /
    • pp.595-606
    • /
    • 2000
  • 소프트웨어 메트릭스는 개발 과정을 평가하고, 소프트웨어 개발 노력을 측정하며 소프트웨어의 질을 효과적으로 제어할 수 있도록 한다. 더욱이 현재와 같이 재사용성이 강조되고 있는 상황에서는 재사용성을 평가하는데 중요한 역할을 하는 응집도와 결합도에 대한 연구가 반드시 필요하다고 할 수 있다. 캡슐화, 상속, 다형성과 같은 개념을 이용하는 객체 지향 방법론은 기존의 절차적 방법론과는 다른 메트릭스를 요구하는데, 이에 대한 연구가 현재 활발히 진행되고 있다. 본 논문에서는 객체 지향 시스템의 응집도와 결합도를 측정하는 메트릭스를 제안하고, 이를 Weyuker와 Briand의 복잡도 성질을 이용하여 평가하였다. 그리고 C++로 작성된 소프트웨어에 실제 적용하여 응집도와 결합도를 추출하였다.

  • PDF

Java 프로그램의 품질평가를 지원하는 메트릭 측정 시스템 (Metrics Measurement System Supporting Quality Evaluation of Java Program)

  • 박옥자;유철중;장옥배
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제7권2호
    • /
    • pp.151-164
    • /
    • 2001
  • 최근 가장 대표적인 객체지향 언어로 사용되는 Java는 일반적인 애플리케이션뿐만 아니라 인터넷/인트라넷 기반 프로그램 개발, 나아가 컴포넌트 기반 개발에 이르기까지 다양한 분야에서 개발 언어로 사용되고 있다. 따라서 개발된 프로그램의 재사용 및 유지보수 관점에서 프로그램 품잘평가는 보다 중요한 쟁점이 되고 있으므로 기존의 Java 애플리케이션을 포함하여 현재 개발된 프로그램의 품질평가에 필요한 메트릭 측정이 필요하다. 하지만, 이미 제안된 객체지향 소프트에어 메트릭이 현재의 Java 프로그램의 특성에 적합한지에 대한 타당성 검증이 필요하므로 본 논문에서는 기존의 객체지향 메트릭이 Java 프로그램에 적합한지 여부를 결정하기 위해 필요한 메트릭 측정 시스템을 구축하여 Java 프로그램에 적합한 메트릭 제안을 지원하고자 한다. 본 시스템은 Briand가 기존의 객체지향 소프트웨어 메트릭을 수학적으로 정형화시켜 분류한 메트릭을 Java 프로그램에 적용시켜 제안된 메트릭이 프로그램에 타당성 있는지 검증함으써 명확한 품질평가도구 개발을 지원하고자 한다. 본 시스템을 통해 Java 소스 프로그램으로부터 정량적 정보를 보다 빠르고 정확하게 산출함으로써 기존의 객체지향 메트릭에 대한 검증을 비교 및 분석 수행할 수 있으며, 타당성 문제가 있다면 새로운 메트릭의 제안 및 보완을 고려함으로써 Java 프로그램에 적합한 메트릭 확립을 가능하게 할 것이다.

  • PDF

Fault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality

  • Malhotra, Ruchika;Jain, Ankita
    • Journal of Information Processing Systems
    • /
    • 제8권2호
    • /
    • pp.241-262
    • /
    • 2012
  • An understanding of quality attributes is relevant for the software organization to deliver high software reliability. An empirical assessment of metrics to predict the quality attributes is essential in order to gain insight about the quality of software in the early phases of software development and to ensure corrective actions. In this paper, we predict a model to estimate fault proneness using Object Oriented CK metrics and QMOOD metrics. We apply one statistical method and six machine learning methods to predict the models. The proposed models are validated using dataset collected from Open Source software. The results are analyzed using Area Under the Curve (AUC) obtained from Receiver Operating Characteristics (ROC) analysis. The results show that the model predicted using the random forest and bagging methods outperformed all the other models. Hence, based on these results it is reasonable to claim that quality models have a significant relevance with Object Oriented metrics and that machine learning methods have a comparable performance with statistical methods.

Development of Performance Evaluation Metrics of Concurrency Control in Object-Oriented Database Systems

  • 전우천;홍석기
    • 인터넷정보학회논문지
    • /
    • 제19권5호
    • /
    • pp.107-113
    • /
    • 2018
  • Object-oriented databases (OODBs) canbe used for many non-traditional database application areas such as computer-aided design, etc. Usually those application areas require advanced modeling power for expressing complicated relationships among data sets. OODBs have more distinguished features than the traditional relational database systems. One of the distinguished characteristics of OODBs is class hierarchy (also called inheritance hierarchy). A class hierarchy in an OODB means that a class can hand down the definitions of the class to the subclass of the class. In other words, a class is allowed to inherit the definitions of the class from the superclass. In this paper, we present performance evaluation metrics for class hierarchy in OODBs from a concurrency control perspective. The proposed performance metrics are developed to determine which concurrency control scheme in OODBs can be used for a given class hierarchy. In this study, in order to develop performance metrics, we use class hierarchy structure (both of single inheritance and multiple inheritance), and data access frequency for each class. The proposed performance metrics will be also used to compare performance evaluation for various concurrency control techniques.