• 제목/요약/키워드: class cohesion

검색결과 29건 처리시간 0.02초

클래스의 응집도와 결합도를 이용한 객체 지향 설계 재구조화 (Restructuring of Object-Oriented Designs using Cohesion and Coupling of Class)

  • 이종석;천은홍
    • 한국산업정보학회논문지
    • /
    • 제7권5호
    • /
    • pp.83-90
    • /
    • 2002
  • 최근의 많은 소프트웨어들은 규모가 방대하고 복잡하여 개발자가 도구를 사용하지 않고 수작업으로 설계를 재구조화하기 매우 어려우며 또한 많은 시간과 노력의 요구된다 본 논문에서는 클래스의 응집도와 결합도를 이용하여 객체 지향 설계를 자동으로 재구조화하는 방법을 기술한다 먼저 메소드들의 연관 관계를 규정하는 행렬을 응집도와 결합도를 이용한 메소드 사이의 거리로 정의한 후, 분리 클래스를 먼저 분할하고, 다음에 가장 낮은 응집도를 가진 클래스부터 분할하여 가장 거리가 가까운 클래스와 결합시킴으로써 설계를 재구조화한다.

  • PDF

클래스 멤버 사이의 쓰기 연산을 고려한 새로운 TCC 및 LCOM 척도 (New TCC and LCOM Measures Considering the Write Operations between Class Members)

  • 우균;채흥석
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권11호
    • /
    • pp.1036-1046
    • /
    • 2005
  • 응집도는 모듈의 구성 요소들 사이의 관련성 정도를 나타내는 척도로서, 응집도가 높을수록 소프트웨어에 대한 이해 및 유지보수가 용이하다고 알려져 있다. 최근에 응집도의 개념을 객체지향 시스템의 클래스에 적용하기 위하여 많은 응집도 척도들이 제안되고 있다. 본 논문에서는 클래스 멤버 간의 쓰기 의존성의 영향을 고려함으로써 기존의 응집도 척도를 개선시킬 수 있음을 소개한다. 본 논문의 기법을 지원하는 도구를 개발하였으며 이 도구를 이용하여 C++ 클래스 라이브러리에 이 기법을 적용한 사례 결과를 소개한다.

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

  • 채흥석;권용래;배두환
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권9호
    • /
    • pp.1131-1141
    • /
    • 2004
  • 응집도는 모듈의 구성 요소들 사이의 관련성 정도를 나타내는 척도로서, 응집도가 높을수록 소프트웨어에 대한 이해 및 유지보수가 용이하다고 알려져 있다. 최근에 응집도의 개념을 객체지향 시스템의 클래스에 적용하기 위하여 많은 응집도 척도들이 제안되고 있다. 그러나, 기존의 응집도 척도들은 다른 인스턴스 변수의 값에 의존하는 의존 인스턴스 변수의 특성을 고려하지 않았기 때문에 클래스의 응집도를 정확하게 측정하지 못하였다. 본 논문에서는 응집도 평가 시 의존 인스턴스 변수에 대한 고려를 통하여 기존의 응집도 척도를 개선시킬 수 있음을 소개한다. 그리고, 의존 인스턴스의 특성을 기존의 응집도 척도에 반영한 실험을 통하여 의존 인스턴스 변수에 대한 고려의 중요성을 소개한다.

클래스의 응집도와 결합도를 이용한 객체 지향 설계 재구조화 (Restructuring of Object-Oriented Designs using Cohesion and Coupling of Class)

  • 이종석
    • 한국산업정보학회:학술대회논문집
    • /
    • 한국산업정보학회 2002년도 춘계학술대회 논문집
    • /
    • pp.260-265
    • /
    • 2002
  • 최근의 많은 소프트웨어들은 규모가 방대하고 복잡하여 개발자가 도구를 사용하지 않고 수작업으로 설계를 재구조화하기 매우 어려우며 또한 많은 시간과 노력의 요구된다. 본 논문에서는 클래스의 응집도와 결합도를 이용하여 객체 지향 설계를 자동으로 재구조화하는 방법을 기술하다. 먼저 메소드들의 연관 관계를 규정하는 행렬을 응집도와 결합도를 이용하여 정의한 후 가장 낮은 응집도를 가진 클래스부터 분할하여 가장 가까운 클래스와 결합시킴으로써 설계를 재구조화한다.

  • PDF

객체지향 패러다임에서 응집도 측정 (Measuring Cohesion in the Objec-oriented Paradigm)

  • 최완규
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (1)
    • /
    • pp.481-483
    • /
    • 2001
  • 클래스의 응집도를 측정하기 위한 여러 연구들이 제안되었지만, 이런 연구들은 데이터 상호작용에 의해 응집도를 측정하므로 메소들간에 데이터 상호작용이 없지만 객체의 또 다른 속성들을인 데이터들이 함께속하는 경우를 고려하지 못하고 있다. 따라서 본 연구에서는 데이터 상호작용이 없는 경우를 고려하고, 또한 클래스 내의 멤버들과 멤버들간의 연결을 모두 고려하여 응집도를 측정할 수 있는 새로운 응집도 척도를인 강 클래스 응집도(Strong Class Cohesion: SCC)와 약 클래스 응집도(Weak Class Cohesion: WCC)를 제안하였다. 또한 기존 척도들과의 비교평가를 통해서 WCC와 SCC가 향상된 측정을 제시함을 보여 주었다.

  • PDF

객체 지향 프로그램에서 클래스 재사용성 측정 모델링 (Modeling for Measurement of Class Reusability in Object-Oriented Programs)

  • 윤희환;구연설
    • 한국정보처리학회논문지
    • /
    • 제6권3호
    • /
    • pp.580-588
    • /
    • 1999
  • The reuse of software components from existing software system enhances productivity and reliability, decreases the cost of production in software development. The extraction of software components with high reusability from existing software system is very important in software reuse. The reuse of a class is classified into white-box reuse to reuse with modification and black-box reuse to reuse without modification. A class has the property of procedural language and object-oriented language. Therefore, it must measure reusability in consideration of two properties. In black-box reuse, independence of class is important quality. It can quantify through information hiding, coupling between objects, cohesion, etc. In white-box reuse, modification is the best important quality. It can quality through class complexity, coupling, cohesion, documentation, etc. We propose a new model for measurement of class reusability and the measure criteria in object-oriented program. A class that is measured by proposed model can judge whether the reuse with modification has the advantage or the reuse without modification has the advantage.

  • PDF

C++에서 프로그램 의존도 그래프를 이용한 클래스 분해 방법 (Class Slicing Method using Program Dependency Graph in C++)

  • 김영선;김홍진;손용식
    • 한국컴퓨터정보학회논문지
    • /
    • 제3권1호
    • /
    • pp.63-80
    • /
    • 1998
  • 객체 지향 소프트웨어 개발에서 재사용은 소프트웨어 품질 향상과 소프트웨어 개발자의 생산성 향상을 위하여 연구되고 있다. 그러나 설계 단계에서 부적절한 작성과 유지보수시의 잘못된 변화로 인하여 클래스를 재사용 하는데 문제점이 존재한다. 본 논문에서 제안하는 방법은 C++. 프로그램 의존도 그래프를 이용하여 클래스의 의미론적인 결합 도를 분석하고, 결합 도에 따라 클래스를 분해하여 클래스의 품질 재평가와 확장성을 지원하도록 하는 방법이다. 따라서 본 논문에서 제안하는 방안은 개발자가 객체 지향 프로그램을 개발시에 원하는 부품만을 선택하여 재사용 시스템 구축을 용이하게 하였다.

  • PDF

고등학생의 소외감에 영향을 미치는 요인 (The Influencing Factors on Alienation in High School Students)

  • 이은숙
    • 대한간호학회지
    • /
    • 제34권1호
    • /
    • pp.45-52
    • /
    • 2004
  • Purpose: This study was performed to identify the influencing factors on alienation among high school students. Method: Data was collected by questionnaires from 550 students of academic and vocational high schools in G city. The data was analyzed using descriptive statistics, pearson correlation coefficients, and stepwise multiple regression. Result: The scores of alienation among students in financially lower middle class and lower class were higher than those of the upper middle class students, resulting in significant differences(F=6.87, p=.00). A sense of alienation showed a significantly negative correlation with the scores of responding parenting style(r=-.32), family cohesion(r=-.33), school attachment(r=-.51), academic performance(r=-.34), peer relationships(r=-.38), self-control(r=-.43), and social skills(r=-.33). The most powerful predictor of alienation among high school students was school attachment and the variance explained was 26%. A combination of school attachment, self control, peer relationships, family cohesion, demanding parenting style, and academic performance account for 40% of the variance in alienation among high school students. Conclusion: This study suggests that school attachment, self control, peer relationships, family cohesion, demanding parenting style, and academic performance are significant influencing factors on alienation in high school students. Therefore, nursing strategy is needed to manage these revealed factors.

객체지향 시스템의 클래스에 대한 응집도 (A Cohesion Metric for Classes in Object-Oriented Systems)

  • 채홍석;권용래;배두환
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제26권9호
    • /
    • pp.1095-1104
    • /
    • 1999
  • 객체지향 시스템의 개발은 클래스를 통해서 이루어진다. 즉, 문제 영역에 존재하는 중요한 대상 또는 개념을 클래스로 모델링하고, 이로부터 생성된 객체들 사이의 메시지 교환을 통해서 시스템은 구축된다. 또한, 클래스는 정보 은닉을 제공함으로써, 객체지향 시스템의 재사용성과 유지보수성에 상당한 기여를 한다. 그러나, 설계 단계에서 실세계의 대상을 부적절하게 모델링하거나, 또는 유지보수 단계에서 클래스에 무분별한 변경을 가하는 경우 클래스의 품질은 악화될 수 있고, 이는 결국 시스템을 유지보수 하거나 확장하는데 상당한 장애를 초래한다.응집도는 모듈의 구성 요소들 사이의 연관성 정도를 나타내는 척도로서 전통적으로 모듈의 품질을 평가하기 위한 기준으로 사용되어 왔다. 이 논문에서는 클래스의 품질을 평가하는 방법으로서의 클래스 응집도를 제안한다. 즉, 클래스가 실세계의 대상을 적절하게 모델링한다면, 그 구성요소들 사이에 밀접한 관련이 있고 결국 높은 응집도를 가지게 될 것이다. 반대로 실세계의 대상에 대한 적절한 모델이 아니라면, 그 클래스의 구성 요소들 사이에는 밀접한 관련성이 없을 것이고 따라서 낮은 응집도를 보일 것이다.Abstract Object-oriented systems are developed by means of classes; that is, classes captures the essential entities or concepts in the problem domain, and the system is embodied by the interactions of objects instantiated from the classes. In addition to the basic units of object-oriented systems, classes serves as the units of encapsulation, which considerably promote the modifiability and the extensibility of them. However, improper modeling in the design phase or uncontrolled changes during the maintenance phase can degrade the quality of classes, which leads to systems cumbersome to maintain and extend.Cohesion refers to the degree of connectivity among the elements of a single module, and is being used as a factor which characterizes the quality of a module. In this paper, we propose a new cohesion metric for assessing the quality of classes. If a class captures properly the essential features of objects, the members of the class surely have strong relationship among them. On the contrary, the poor relationship among class members can indicate that the class is not a proper model of objects.

객체지향 역공학을 위한 소프트웨어 복잡도 측정 기법 (A Software Complexity Measurement Technique for Object-Oriented Reverse Engineering)

  • 김종완;황종선
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권9호
    • /
    • pp.847-852
    • /
    • 2005
  • 지난 10여년간 객체지향 코드의 관리 및 분석을 위해 객체지향 소프트웨어 시스템에 대한 다양한 복잡도 계산 기법들이 제안되었다. 이러한 기법들은 WMC(Weighted Methods per Class), LCOM(Lack of Cohesion in Methods)과 같이 소스코드 분석을 기반으로 한다. 기존 기법들의 한계는 코드에서 함수의 개수만 계산한다는 것이다. 본 논문에서는 함수의 파라메타 개수, 반환값 여부 그리고 자료형까지도 확인하는 새로운 가중치 기법을 제안하며, 이를 역공학에 적용한다. 또한 역공학과정에서 객체지향 코드를 위한 클래스 복잡도 계산 지침을 제공하기 위해 인터페이스에 가중치를 부여하는 효율적인 복잡도 측정 기법을 제안한다. 제안기법인 ECC(Enhanced Class Complexity)는 C++ 환경에서 일관성 있고 정확한 결과를 보여준다.