• Title/Summary/Keyword: 복잡도 척도

Search Result 167, Processing Time 0.023 seconds

Complexity Metrics for Analysis Classes in the Unified Software Development Process (Unified Process의 분석 클래스에 대한 복잡도 척도)

  • 김유경;박재년
    • The KIPS Transactions:PartD
    • /
    • v.8D no.1
    • /
    • pp.71-80
    • /
    • 2001
  • Object-Oriented (OO) methodology to use the concept like encapsulation, inheritance, polymorphism, and message passing demands metrics that are different from structured methodology. There are many studies for OO software metrics such as program complexity or design metrics. But the metrics for the analysis class need to decrease the complexity in the analysis phase so that greatly reduce the effort and the cost of system development. In this paper, we propose new metrics to measure the complexity of analysis classes which draw out in the analysis phase based on Unified Process. By the collaboration complexity, is denoted by CC, we mean the maximum number of the collaborations can be achieved with each of the collaborator and detennine the potential complexity. And the interface complexity, is denoted by IC, shows the difficulty related to understand the interface of collaborators each other. We prove mathematically that the suggested metrics satisfy OO characteristics such as class size and inheritance. And we verify it theoretically for Weyuker' s nine properties. Moreover, we show the computation results for analysis classes of the system which automatically respond to questions of the it's user using the text mining technique. As we compared CC and IC to CBO and WMC, the complexity can be represented by CC and IC more than CBO and WMC. We expect to develop the cost-effective OO software by reviewing the complexity of analysis classes in the first stage of SDLC (Software Development Life Cycle).

  • PDF

Measuring the Program Complexity (프로그램 복잡도 측정)

  • 서태원;박병권;최완규;이성주
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.454-456
    • /
    • 1998
  • 소프트웨어 시스템의 대형화와 복잡화에 따른 소프트웨어 특징의 식별, 분류를 위한 프로그램 복잡도 측정에 대한 연구들이 수행되어 왔다. 그러나 하나의 인자를 이용한 복잡도 척도나 인자에 대한 중요도의 명확한 제시가 없는 다수의 인자를 이용한 혼합적 척도는 복잡도를 정확히 측정 평가할 수 없다. 따라서, 본 연구에서는 현업에서의 연구와 경험을 통해서 증명된 객관성 있는 척도들과 각 척도들의 중요도를 가중값으로 하여, 기능 중심으로 구성된 프로그램의 복잡도를 측정할 수 있는 새로운 혼합적 척도를 제안한다.

Quality Metric for Classes in Object-Oriented Analysis Models (객체지향 분석 모델의 클래스 품질 척도)

  • 김유경;박재년
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10a
    • /
    • pp.457-459
    • /
    • 2000
  • 객체지향 방법론은 캡슐화(encapsulation), 상속(inherit), 다형성(polymorphism)과 같은 개념을 이용하기 때문에 기존의 절차적 방법론과는 다른 척도가 필요하다. 본 논문에서 제안하는 척도는 객체지향 시스템의 개발 절차 가운데 분석 단계에서 추출할 수 있는 정보만을 사용하여, 클래스가 객체지향 개념에 따라 잘 구성되었는지를 측량하게 된다. 이를 위하여 본 논문에서는 클래스의 품질을 측량하기 위한 척도로 협력의 복잡도와 인터페이스 복잡도를 제안한다. 협력의 복잡도는 클래스가 잠재적으로 얼마나 복잡할 수 있는지를 측량하기 위한 것으로서 클래스가 가지는 책임의 개수를 조사하여 정의된다. 인터페이스 복잡도는 클래스와 협력 관계에 있는 다른 클래스들의 인터페이스를 조사하여 정의된다. 제안된 척도는 기존의 척도들이 가지고 있는 문제점을 해결하기 위하여 이해하기 쉬운 수학적 명세를 용하였으며, 제안된 척도에 대한 수학적 증명과 사례 연구를 통한 검증을 하였다.

  • PDF

A Program Test Path Generation and Complexity Metrics Based on Execution Path and Program Activity Characteristics (프로그램 동작특성과 실행경로 기반의 테스트 경로 생성과 복잡성 척도)

  • 고일석
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.26 no.5A
    • /
    • pp.752-762
    • /
    • 2001
  • 소프트웨어의 유지보수 과정에서 효율적인 복잡성 척도와 테스트 경로의 생성은 중요한 문제이다. 대부분의 경우 테스트 경로의 생성과 복잡성 척도의 측정은 독립적인 기법이 필요하다. 본 논문에서는 테스트 경로의 생성과 복잡성 척도를 통합적으로 생성하고 있다. 제안한 기법은 PUT(Program Under Test)를 확장한 페트리네트 그래프(EPG)를 이용하여 모델링하고 이것의 통합적인 분석을 통하여 테스트 경로를 생성하며, 이 과정에서 생성된 실행경로의 제어구조별 평균 발생 빈도수를 이용하여 복잡성 척도 EV(G)를 구하였다. EV(G)는 실제 프로그램의 실행경로에 기반을 두었기 때문에 프로그램의 제어구조별 차이점 외에도 프로그램의 동작 특성을 복잡도에 잘 반영할 수 있다. 본 논문에서 제안한 통합 기법에 의한 테스트 경로 생성 기법과 복잡성 척도를 소프트웨어의 유지보수에 활용한다면 노력과 비용의 절감 및 소프트웨어의 질적 향상을 가져올 것이다.

  • PDF

Design of the Metrics Suite $\pi_{java}$for Java Program Complexity (자바 프로그램의 복잡도 측정을 위한 척도 $\pi_{java}$의 설계)

  • Eun-Mi Kim
    • Journal of the Korea Computer Industry Society
    • /
    • v.2 no.3
    • /
    • pp.407-416
    • /
    • 2001
  • In this paper we propose a suite of metrics $\pi_{java}$ Java/, for evaluating the complexity of Java Programs based on a suite of metrics $\pi_{java}$ c++/, which we previously presented for C++ programs. So far, a lot of metrics for C++ are proposed for C++ programs. But since the specific properties of Java programs are not explicitly considered in those metrics, it is hard to apply them to Java programs. Thus we aim to develop a metric suite that is applicable to Java Programs. At first, we decide if any properties are commonly possessed by both C++ programs and Java programs, or not. For example, the multiple inheritance of the class in C++ is not implemented in Java. On the other hand, the features such as package and interface are newly implemented in Java, and therefore we cannot discuss the complexity of Java programs without considering these new features. Then we define a new suite of metrics $\pi_{java}$ Java/ for Java programs by deleting 3 metrics $\pi_{java}$/c++/, and then incorporating 3 metrics which are newly defined or modified for Java programs to $\pi_{java}$ c++/. Finally, we analytically evaluate the new metric with regard to Weyuker's measurement principles and also compare it with conventional metrics for Java.

  • PDF

An Empirical Validation of Complexity Metrics for Java Programs (Java 프로그램에 대한 복잡도 척도들의 실험적 검증)

  • Kim, Jae-Woong;Yu, Cheol-Jung;Jang, Ok-Bae
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.12
    • /
    • pp.1141-1154
    • /
    • 2000
  • 본 논문에서는 Java 프로그램의 복잡도를 측정하기 위해 필요한 인자들을 제안하였다. 이러한 인자들을 추출하기 위해 Java 프로그램을 분석하여 객체지향 설계 척도 값들을 계산하고 통계적 분석을 수행하였다. 그 결과 기존의 연구에서 발견되었던 클래스의 크기 인자 외에도 메소드 호출 빈도, 응집도, 자식 클래스의 수, 내부 클래스 및 상속 계층의 깊이가 주요 인자임이 파악되었다. 클래스의 크기 척도로 분류되었던 자식 클래스의 수는 다른 크기 척도들과 다른 성질을 가진다는 것을 발견하였다. 또한 프로그램의 크기가 커지고 결합도가 높아질수록 응집도가 떨어진다는 것을 입증하였다. 그리고 인자 분석을 바탕으로 인간의 인지 능력과 인자의 상관관계를 고려한 가중치를 적용하기 위해 인자별로 회귀분석을 수행하였다. 보다 적은 척도를 가지고 인자를 설명할 수 있는 회귀식을 도출하였다. 두 그룹에 대한 교차 검증 결과 회귀식이 높은 신뢰도를 가지는 것으로 나타났다. 따라서 본 논문에서 제안한 인자들을 이용하는 경우 Java 프로그램의 복잡도를 측정할 수 있는 새로운 척도로 사용할 수 있다.

  • PDF

Effect Analysis of Program Volume on Complexity (프로그램 볼륨이 복잡도에 미치는 영향 분석)

  • 김재웅;유철중;장옥배
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10a
    • /
    • pp.528-530
    • /
    • 2000
  • 최근 객체지향 소프트웨어 개발이 일반화되면서 품질 좋은 객체지향 소프트웨어의 개발을 돕기 위한 목적으로 객체지향 소프트웨어 복잡도 척도에 관한 연구들이 다양하게 행해져 왔다. 대부분의 연구가 구조적 복잡도 측정에 중점을 두어 프로그램 크기와 관련된 요인들을 측정하는 척도들이 제시되었다. 한편 소프트웨어 개발이나 복잡도 측정에 대하여 인지 심리 이론을 적용하여, 인간의 단기 기억의 한계 7$\pm$2와 제어 논리 처리에 3$\pm$1을 고려한 연구들이 많이 행해졌다. 본 논문에서는 프로그램 볼륨과 복잡도의 관계를 조사하기 위해 13개 척도의 값을 추출한 후 통계적 분석을 수행하고, 인지 심리 이론과의 관계를 파악해 보았다.

  • PDF

Measurement of Classes Complexity in the Object-Oriented Analysis Phase (객체지향 분석 단계에서의 클래스 복잡도 측정)

  • Kim, Yu-Kyung;Park, Jai-Nyun
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.10
    • /
    • pp.720-731
    • /
    • 2001
  • Complexity metrics have been developed for the structured paradigm of software development are not suitable for use with the object-oriented(OO) paradigm, because they do not support key object-oriented concepts such as inheritance, polymorphism. message passing and encapsulation. There are many researches on OO software metrics such as program complexity or design metrics. But metrics measuring the complexity of classes at the OO analysis phase are needed because they provide earlier feedback to the development project. and earlier feedback means more effective developing and less costly maintenance. In this paper, we propose the new metrics to measure the complexity of analysis classes which draw out in the analysis based on RUP(Rational Unified Process). By the collaboration complexity, is denoted by CC, we mean the maximum number of the collaborations can be achieved with each of the collaborator and determine the potential complexity. And the interface complexity, is denoted by IC, shows the difficulty related to understand the interface of collaborators each other. We verify theoretically the suggested metrics for Weyuker's nine properties. Moreover, we show the computation results for analysis classes of the system which automatically respond to questions of the user using the text mining technique. As a result of the comparison of CC and CBO and WMC suggested by Chidamber and Kemerer, the class that have highly the proposed metric value maintain the high complexity at the design phase too. And the complexity can be represented by CC and IC more than CBO and WMC. We can expect that our metrics may provide us the earlier feedback and hence possible to predict the efforts, costs and time required to remainder processes. As a result, we expect to develop the cost-effective OO software by reviewing the complexity of analysis classes in the first stage of SDLC(Software Development Life Cycle).

  • PDF

An Entropy-Based Measure for Evaluation the Cognitive Complexity of User Interface (엔트로피를 기반으로 한 사용자 인터페이스 인지적 복잡도의 척도)

  • 이동석;윤완철;최상섭
    • Science of Emotion and Sensibility
    • /
    • v.1 no.1
    • /
    • pp.213-221
    • /
    • 1998
  • 현대의 시스템들이 가지는 고기능화와 자동화로 인하여 인간의 운용 능력이 점점 더 중요한 능력으로 부각되고 있으며, 이는 사용자가 경험하게 되는 인지넉 복잡도를 제어하는 것을 요구한다. 본 연구에서는 사용자 인터페이스에서 사용자가 경험해야 하는 인지적 복잡도를 스키마 구조를 반영하여 정량화하는 엔트로피 모형(윤완철, 1992)을 적용하여 사용자가 겪게 될 인지적 복잡도를 예측하는 척도가 제안되었으며 실험적으로 검증되었다. 엔트로피와 시스템 크기-조작의 수와 상태의 수-가 각각 다른 세 가지 인터페이스 (엔트로피가 낮고 작은 크기의 인터페이스, 엔트로피가 높고 작은 크기의 인터페이스, 엔트로피가 높고 큰 크기의 인티페이스) 중의 하나를 사용하는 것을 피험자이 학습하고, 이에 대해 검사를 받았다. 제안된 척도인 시스템 엔트로피는 사용자 수행도를 잘 설명하였지만, 시스템의 크기는 그러하지 않았다. 본 연구는 사용자가 겪게 될 인지적 복잡도를 평가자의 주관이 개입하지 않는 방법을 통하여 평가할 수 있음을 보인 것으로 가전제품이나 스프트웨어의 디자인의 평가와 개선 등 인간의 인지적 복잡도가 사용성에 중요한 영향을 미치는 분야에서 유용하리라 여겨진다.

  • PDF

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

  • Chung, Hong;Kim, Tae-Sik
    • Journal of the Korean Institute of Intelligent Systems
    • /
    • v.15 no.6
    • /
    • pp.780-787
    • /
    • 2005
  • 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. Tn analyze the complexity of the structure of a object-oriented system for the maintainability of the system, we measured the degree of understandability of it, the reverse engineering time to draw a class diagram from the source codes, and the number of errors in the diagram. The results of this experiment shows that our proposed metric has a considerable relationship with the complexity of object-oriented systems. The metric will be helpful to the software developers for their designing tasks by evaluating the complexity of the structures of object-oriented systems and redesigning tasks , of them for the future maintainability.