DOI QR코드

DOI QR Code

Clustering Characteristics and Class Hierarchy Generation in Object-Oriented Development

객체지향개발에서의 속성 클러스터링과 클래스 계층구조생성

  • 이건호 (숭실대학교 산업 정보시스템공학과)
  • Published : 2004.12.01

Abstract

The clustering characteristics for a number of classes, and defining the inheritance relations between the classes is a difficult and complex problem in an early stage of object oriented software development. We discuss a traditional iterative approach for the reuse of the existing classes in a library and an integrated approach to creating a number of new classes presented in this study. This paper formulates a character-istic clustering problem for zero-one integer programming and presents a network solution method with illustrative examples and the basic rules to define the inheritance relations between the classes. The network solution method for a characteristic clustering problem is based on a distance parameter between every pair of objects with characteristics. We apply the approach to a real problem taken from industry.

객체지향 소프트웨어 개발 초기단계에서 클래스의 결정은 많은 객체와 관련된 속성들의 클러스터링을 하는 복잡한 문제이다. 클래스의 재사용을 위해 라이브러리에 클래스의 등록은 반복적인 시행착오에 의존하여왔다. 클래스를 등록하는 전통적인 방법과 모델링 혹은 설계단계에서 클래스와 그 계층구조의 정의를 위한 통합적인 방법에 대해 논의한다. 속성 클러스터링 문제를 위해 객체들의 속성 유사도에 근거하여 0-1 정수프로그램 위한 모형을 제시하고 또한 네트워크 기법을 이용한 클러스터링 알고리즘을 제안한다. 클래스 계층구조를 생성하기 위한 규칙을 제시하였으며 계층구조그래프 생성알고리즘을 제안한다. 본 연구결과를 이용하여 실제 현장의 문제를 사례로 제시한다.

Keywords

References

  1. Roger S. Pressman, Software Engineering a ractioner's approach, 3rd Ed., pp.18 MacGraw-Hill, Inc., 1992
  2. 김갑수, 신영길, '소프트웨어 재사용을 위한 C++ 클래스 계층 구조 변형방법', 한국정보과학회지, 제22권 제1호, pp.88-96, 1995
  3. R. Prieto-Diaz, 'Implementing Faceted Classification for software reuse,' Communications of the ACM, Vol.34, No.5, pp.89-97, May, 1991 https://doi.org/10.1145/103167.103176
  4. S. R., Ranghanathan, 'Prolegomena to Library Classification,' Asia Publish House, Bombay, India, 1967
  5. R. O. Duta and P. E. Hart, 'Pattern Classification and Scene Analysis,' Chicheste : John Wiley & Sons, 1973
  6. G. K. Brian and R. L, James, 'Using Program Slicing in software maintainence,' IEEE, Trans. on Software Engineering, Vol.17, No.8, pp.751-761, Aug., 1991 https://doi.org/10.1109/32.83912
  7. I. Jacobson, M. Christerson, P. Jonsson and G. Overgaard, 'Object-Oriented software engineering : A use Case Driven Approach,' Addison-Wesley, 1996
  8. L. Schrage, 'Linear, Integer and Quadratic Programming with LINDO,' Scientific Press, Palo, Alto, CA, 1984
  9. M. Bellmore and G. L. Nemhauser, 'The traveling salesman problem : a survey,' Operation Research, Vol.16, pp.538-558, 1968 https://doi.org/10.1287/opre.16.3.538
  10. B. F. William and B. -Y. Ricard, 'Information Retrieval,' Prentice Hall, pp.419-442, 1992
  11. E. L. Lawler, J. K. Lenstra and A. H. G. Rinnoony and D. B. Shimoys, (Editors), 'The traveling Salesman Problem : A guided Tour of Combinatorial Optimization,' John Wiley, New York, 1985
  12. B. A. Burton, 'The Reusable software Library,' IEEE Software, Vol.4, No.4, pp.25-33, July, 1987 https://doi.org/10.1109/MS.1987.231060
  13. E. Damiani, M. G. Fugini, C. Bellettini, 'A hierarchy Aware Approach to Faceted Classification of Object-Oriented Components,' ACM Transactions on Software Engineering and Methodology, Vol.8, No.4, pp.425-472, 1999 https://doi.org/10.1145/322993.322997
  14. M. Aoyama, 'Concurrent Development Process Model,' IEEE Software, pp.46-55, July, 1993 https://doi.org/10.1109/52.219635
  15. M. Aoyama, 'Web-based agile software development,' IEEE Software, Vol.15, pp.56-65, November/December, 1998 https://doi.org/10.1109/52.730844
  16. A. Cockburn, 'Surviving Object-Oriented Projects,' Addison Wesley, Reading, MA, 1998
  17. J. Highsmith, 'Adaptive Software Development,' Dorset House, New York, NY, 2000
  18. R. S. Pressman, 'Software engineering : A practioner's approach,' Macgrow-Hill, 4th ED., 1997