• Title/Summary/Keyword: class cohesion

Search Result 29, Processing Time 0.028 seconds

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

  • 이종석;천은홍
    • Journal of Korea Society of Industrial Information Systems
    • /
    • v.7 no.5
    • /
    • pp.83-90
    • /
    • 2002
  • Recent commercial systems are too large and too complex to restructure their design by hand without tools and cost too much time and effort. This thesis presents a restructuring approach using cohesion and coupling of classes to change object-oriented designs automatically. The matrix which represents the relation between methods is defined by distance between methods using cohesion and coupling, Class restructuring starts to isolate to dividing class, selects the class to have the lowest cohesion and combines the selected class with the closest class.

  • PDF

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

  • Woo, Gyun;Chae, Heung-Seok
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.11
    • /
    • pp.1036-1046
    • /
    • 2005
  • Cohesion refers to the degree of the relatedness of the members in a class and it is widely accepted that the higher the cohesion of a module is, the easier the module to understand and maintain. Recently, several cohesion measures have been proposed to measure the cohesiveness of classes in an object-oriented program. In this paper, we propose an approach to improving the existing cohesion measures by considering the impact of write dependencies between class members. We have developed a cohesion measurement tool for supporting our approach and describe a case study performed with a C++ class library.

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.

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

  • 이종석
    • Proceedings of the Korea Society for Industrial Systems Conference
    • /
    • 2002.06a
    • /
    • pp.260-265
    • /
    • 2002
  • Recent commercial systems are too large and too complex to restructure their design by hand without tools and cost too much time and effort. This thesis presents a restructuring approach using cohesion and coupling of classes to change object-oriented designs automatically. The matrix which represents the relation between methods is defined using cohesion and coupling, restructuring approach selects the class to have the lowest cohesion and combines the selected class with the closest class.

  • PDF

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

  • 최완규
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10a
    • /
    • 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 (객체 지향 프로그램에서 클래스 재사용성 측정 모델링)

  • Yun, Hui-Hwan;Gu, Yeon-Seol
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.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

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

  • 김영선;김홍진;손용식
    • Journal of the Korea Society of Computer and Information
    • /
    • v.3 no.1
    • /
    • pp.63-80
    • /
    • 1998
  • In object-oriented software development, reuse has been studied for the enhancement of software quality and software developer's productivity. But improper modeling in design phase and uncontrolled change during maintenance activities have a problem to reuse a class. In this paper we analyze a semantic cohesion of classes using C++ Program dependency graph, and slice a class with cohesion, so that this method supports the re-estimate of class quality and the extensibility of class. Therefore this proposed method in this paper increases the easibility of the restructuring in the reusable systems, when the developer selects a requested component for a object-oriented program development.

  • PDF

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

  • 이은숙
    • Journal of Korean Academy of Nursing
    • /
    • v.34 no.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 (객체지향 시스템의 클래스에 대한 응집도)

  • Chae, Hong-Seok;Gwon, Yong-Rae;Bae, Du-Hwan
    • Journal of KIISE:Software and Applications
    • /
    • v.26 no.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 (객체지향 역공학을 위한 소프트웨어 복잡도 측정 기법)

  • Kim Jongwan;Hwang Chong-Sun
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.9
    • /
    • pp.847-852
    • /
    • 2005
  • Over the last decade, numerous complexity measurement techniques for Object-Oriented (OO) software system have been proposed for managing the effects of OO codes. These techniques may be based on source code analysis such as WMC (Weighted Methods per Class) and LCOM (Lack of Cohesion in Methods). The techniques are limited to count the number of functions (C++). However. we suggested a new weighted method that checks the number of parameters, the return value and its data type. Then we addressed an effective complexity measurement technique based on the weight of class interfaces to provide guidelines for measuring the class complexity of OO codes in reverse engineering. The results of this research show that the proposed complexity measurement technique ECC(Enhanced Class Complexity) is consistent and accurate in C++ environment.