• 제목/요약/키워드: 클래스 응집도

검색결과 33건 처리시간 0.073초

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

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

  • PDF

컴포넌트 설계에 대한 응집도와 결합도 메트릭스 (Cohesion and Coupling Metrics for Component Design Model)

  • 고병선;박재년
    • 정보처리학회논문지D
    • /
    • 제10D권5호
    • /
    • pp.745-752
    • /
    • 2003
  • 소프트웨어 개발의 독립성과 높은 생산성을 향상시키기 위한 재사용 기술로 컴포넌트 기반 개발 방법론은 널리 사용되게 되었다. 소프트웨어의 품질을 향상시키기 위해서는 측정 가능해야 하므로, 컴포넌트의 특성을 반영한 컴포넌트 메트릭스가 필요하다. 따라서 본 논문에서는 컴포넌트 기반 시스템의 컴포넌트 설계 정보에 기반한 컴포넌트 응집도와 결합도 메트릭스를 제안한다. 오퍼레이션이 컴포넌트의 서비스를 제공하기 위해 공통으로 사용하는 클래스에 대한 정보를 이용해 오퍼레이션 사용도를 구하고, 이를 통해 오퍼레이션 유사도를 구한다. 컴포넌트 응집도와 결합도는 오퍼레이션 유사도에 의해 계산되며, 컴포넌트 분석 단계에 추출 가능한 정보로부터 계산된다. 그리고 사례 연구를 통해 컴포넌트 메트릭스의 필요성을 객체지향 메트릭스와의 비교를 통해 살펴본다.

클래스 간 메소드 위치 결정 방법의 비교 (Comparative Analysis of Determination of Method Location between Classes)

  • 정영애;박용범
    • 한국콘텐츠학회논문지
    • /
    • 제6권12호
    • /
    • pp.80-88
    • /
    • 2006
  • 객체지향 패러다임에서 객체의 속성, 동작, 객체사이의 관계를 표현하는 클래스의 구성요소들에 대한 연관관계를 측정하는 응집도는 다양하게 연구되어 왔다. 리팩토링 분야에서도 개발자의 경험이나 직감에 의한 수동분석에서 자동분석에 이르기까지 다양한 연구가 제안되어 왔다. 리팩토링을 자동으로 수행하기 위해서는 수행여부를 결정짓는 객관적 판단기준에 대한 검증이 필요하다. 본 논문에서는 참조관계를 고려한 여섯 개의 메소드 위치 결정 요인과 메소드 위치에 대한 관계를 분석하기 위한 방법으로 로지스틱 회귀분석과 신경망을 사용할 것을 제안하였다. 실험 결과, 로지스틱 회귀 분석은 97%, 신경망은 90% 이상의 예측율을 보였으며, 로지스틱 회귀분석이 신경망을 이용한 방법보다 더 우수한 예측결과를 보였다. 또한 두 방법 모두 90% 이상의 예측율로 여섯 개의 메소드 위치 결정 요인이 리팩토링 무브 메소드의 객관적 판단기준으로 적용될 수 있음을 보였다.

  • PDF

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

  • 정홍;김태식
    • 한국지능시스템학회논문지
    • /
    • 제15권6호
    • /
    • pp.780-787
    • /
    • 2005
  • 객체지향 시스템의 복잡성 척도에 대하여 많은 연구와 검증이 이루어져 왔다. 대부분의 척도들은 시스템의 부분적 측면 예를 들어, 객체 간 결합도, 상속 구조의 복잡도, 메소드의 응집도 등에 대한 측정을 목표로 하고 있다. 그런데 소프트웨어 실무자들은 부분적이 아닌 시스템의 전반적인 복잡도를 측정할 수 있기를 바라고 있다. 본 논문은 UML의 클래스 다이어그램을 분석함으로써 객체지향 시스템의 전체적 구조에 대한 복잡도를 연구한 것이다. 클래스 다이어그램은 클래스와 클래스 간 관계로 구성되어 있다. 관계에는 연관 관계, 일반화 관계, 집합 관계 둥 세 가지가 있는데, 이 관계들이 객체지향 시스템의 구조를 이해하기 어렵게 하고 있다. 본 연구에서는 이 세 가지 관계를 통합하여 객체지향 시스템의 복잡도를 측정하는 경험적 척도를 제안하고 있다. 이 척도는 소프트웨어 개발자가 코딩하기 전에 객체지향 시스템의 복잡도를 평가해 보고 필요시 설계를 수정할 수 있도록 하게 함으로써 설계 업무에 많은 도움을 줄 것이다.

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

  • 김유경;박재년
    • 한국정보처리학회논문지
    • /
    • 제7권2호
    • /
    • pp.373-384
    • /
    • 2000
  • 지금까지의 객체지향 메트릭스에 대한 연구는 단순히 품질의 일부 요소만을 다루고 있으며, 대부분의 메트릭스는 클래스 사이의 관계 정보만을 기반으로 제안되어 왔다. 이로써 객체지향 설계의 특성을 충분히 반영하지 못하고 있다. 또한 기존의 객체지향 메트릭스는 각 메트릭의 계산 결과를 평가하기 위하여 제한값(threshold)을 제공하고 있으며, 형식적으로 정의되지 않은 것이 대부분이다. 이들의 문제점은 계산 과정이 복잡하여 쉽게 적용할 수 없고 프로젝트의 성격이나 소프트웨어의 특성에 따라 제한 값이 달라질 수 있다는 것이다. 이에 본 논문에서는 객체지향 설계의 특성인 크기, 복잡도, 결합도 및 응집도를 고려하여 설계의 품질을 평가하기 위한 메트릭 집합을 제시한다. 제시된 메트릭 집합은 평균값에 대한 비율(proportion)을 사용하여 평균값을 상회하는 클래스 및 설계 요소들을 쉽게 파악할 수 있도록 하였다. 이것은 설계 품질을 저하시키고 있는 클래스를 찾아내어 평균값에 근접한 수준을 h다시 설계할 수 있도록 함으로써, 구현하는 동안 직면하는 설계 결점을 개발 초기에 발견할 수 있도록 하였다. 본 논문에서 정의한 메트릭 집합은 측정원칙에 의하여 분석적으로 평가된다. 그 결과로서 메트릭에 대하여 요구되는 성질의 대부분을 만족하고 있음을 알 수 있다. 도한 플랫폼과 무관하게 사용할 수 있도록 웹 브라우저 및 자바 애플릿으로 개발되어 분산 인트라넷 환경을 지원하는 평가 도구 ASSOD(ASsessment System of Object oriented Design)를 설계한다.

  • PDF

컴포넌트 메트릭스를 이용한 컴포넌트 설계 재정비 (Improvement of Component Design using Component Metrics)

  • 고병선;박재년
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권8호
    • /
    • pp.980-990
    • /
    • 2004
  • 컴포넌트 기반 개발 방법론은 클래스보다 더 큰 단위인 컴포넌트를 통해 높은 추상화와 재사용을 목표로 하는 개발 방법론이다. 컴포넌트 기반 시스템과 개별 컴포넌트의 품질 향상을 위해서는 개발 이전에 측정하고, 그 결과를 컴포넌트 개발 과정에 반영할 수 있어야 한다. 그러므로 컴포넌트 분석 및 설계 단계에 적용 가능한 컴포넌트 메트릭에 대한 연구가 필요하다. 따라서 본 논문에서는 컴포넌트 설계 정보에 기반한 컴포넌트 응집도, 결합도, 독립도 메트릭을 제안한다. 제안한 메트릭은 컴포넌트의 서비스를 제공하기 위한 오퍼레이션들의 동작 유형의 유사도에 기반 한다. 또한, 기능적으로 응집도가 높으며 복잡도가 낮고 유지 보수가 용이한 컴포넌트 설계가 되도록 하기 위한 클러스터링 기법을 사용한 컴포넌트 재설계 과정을 제안한다. 그리고 개발 이전에 컴포넌트 측정과 컴포넌트 재설계 과정을 통해 바람직한 컴포넌트 설계가 되도록 할 수 있음을 사례 연구를 통해 확인했다.

프로그램에 대한 복잡도 측정인자 분석 (An Analysis of the Complexity Measurement Factor for a Program)

  • 이규범;송정영
    • 인터넷정보학회논문지
    • /
    • 제3권4호
    • /
    • pp.61-69
    • /
    • 2002
  • 객체지향 프로그램에 대한 복잡도 측정에 관한 방법으로서 기존의 객체지향 패러다임 특성이라 할 수 있는 객체, 메시지, 클래스, 캡슐화 및 상속성 등에 관한 연구는 이미 보고된바 있다. 본 연구에서는 측정인자로서 Halstead의 Program Volume, Program Level, Program Impurity, Macabe의 Cyclomatic Number, Handerson-Sellers의 응집도 결핍척도 Sullivan's의 PVG측정 방법 등을 선택하였다. 시뮬레이션으로는 객체지향 프로그램의 대표적인 언어인 JAVA Program을 Design & Coding할 때 도움을 주는 척도에 대해서 JAVA Sample Program을 준비하여 프로그램 복잡도 면에서 측정인자들을 각각 비교·분석하였다.

  • PDF

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

  • 이종호;류성열
    • 한국전자거래학회지
    • /
    • 제8권2호
    • /
    • pp.113-129
    • /
    • 2003
  • 컴포넌트 기반 소프트웨어 개발(CBSD: Component Based Software Development)이 재사용을 통한 소프트웨어 개발의 효율적인 방법으로 인식되고 있다. CBSD의 목적은 새로운 시스템을 개발하고자 할 때 검증된 컴포넌트, 검증된 업무 로직을 재사용 함으로써 개발 기간을 단축하고 품질을 향상하고자 하는 것에 있다. 본 논문에서는 기 존재하는 객체지향 어플리케이션을 폐기하지 않고, 이를 기반으로 재사용 성이 높은 컴포넌트로 추출하기 위하여, 컴포넌트 추출을 위한 메트릭과 인터페이스 추출 방안을 제시하였다. 클래스간의 관계 정보를 이용하여 복잡도, 응집도와 결합도를 측정하고, 이의 결과를 이용하여 후보 컴포넌트를 추출한다.

  • PDF

공통평가기준 인증을 위한 SW의 내부 구조 및 복잡도 분석 사례에 관한 연구 (Case Study on Analysis for Well-Structured Internals and Complexity of Software for Common Criteria)

  • 최정란;서동수;배창환
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2014년도 추계학술발표대회
    • /
    • pp.642-645
    • /
    • 2014
  • 본 논문은 EAL6 수준의 공통평가기준 인증을 위해 ADV(개발) 클래스에서 ADV_INT에 대해 기술하였다. 특히, 테스트용 스마트 운영체제 소스코드 분석을 통해 구현된 내부 구조가 잘 구조화되었는지, 지나치게 복잡하지 않았는지 입증하기 위해 시도를 하였다. 다양한 소스코드 분석 도구를 통해 사이클로매틱복잡도(CyC), 정보흐름복잡도(IFC), Weighted IFC, fan-in, fan-out 등의 정보를 추출하였고, 추출된 정보를 기반으로 적용하여 수행하였다. 구조화된 정보 분석을 위해 객체지향 분석 도구를 사용한 재구조화 기법을 적용하여 수행하였다. 객체간 결합도, 팬아웃 등의 정보 등을 추출하였다. 추출된 정보를 기반으로 SW의 복잡도 및 구조적 정보를 분석한 결과 응집도 분석에 한계, TOE의 형상관리 정보 등의 부재에 따른 추출된 정보 분석의 한계, 활용된 도구의 분석 정보의 재반영 부재 및 구조적 분석 등의 한계점이 드러났다.

재사용 모듈 추출을 위한 오픈 소스 기반 소프트웨어 시스템 구축 (Constructing an Open Source Based Software System for Reusable Module Extraction)

  • 변은영;박보경;장우성;김영철;손현승
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제23권9호
    • /
    • pp.535-541
    • /
    • 2017
  • 소프트웨어 시장 규모가 확대되면서 다양한 요구사항을 만족시키는 대규모 소프트웨어가 개발되고 있다. 이로 인해 소프트웨어 복잡도가 증가하게 되고 품질 관리는 어려워졌다. 특히, 레거시 시스템의 개선 및 새로운 시스템 개발 환경에서 재사용은 중요하다. 이 논문에서는 품질을 인증 받은 모듈을 재사용하는 방법을 제안한다. 재사용 적용 레벨은 코드 영역(메소드, 클래스, 컴포넌트), 프로젝트 도메인, 비즈니스로 나누어진다. 이 논문에서는 소프트웨어 복잡성을 측정하는 결합도와 응집도 기반의 재사용 메트릭과 메소드와 클래스 레벨에 따라 "재사용에 적합한 모듈 덩어리"를 시각화하는 재사용 적합 모듈 추출 메카니즘을 제안한다. 레거시 프로젝트에 역공학 기법을 적용하여 어떤 모듈/객체/덩어리가 재사용할 수 있는 지를 식별하고 확장 시스템을 개발하거나 유사한 새로운 시스템을 개발하기 위해 재사용한다면 소프트웨어의 신뢰성을 보장하고 소프트웨어 개발 단계에서 필요한 시간과 비용을 절감시킬 수 있다.