A Study on Refined Information Generation through Classes Composition Based on Reengineering

재공학 기반의 클래스 합성을 통한 정련화된 정보 생성에 관한 연구

  • 김행곤 (대구효성가톨릭대학교 컴퓨터 공학과) ;
  • 한은주 (대구효성가톨릭대학교 대학원 전산통계학과)
  • Published : 1998.12.01

Abstract

Software reengineering is making various research for solutions against problem of maintain existing system. Reengineering has a meaning of development of softwares on existing systems through the reverse-engineering and the forward-engineering. It extracts classes from existing system's softwares to increase the comprehension of the system and enhance the maintenability of softwares. Most of the important concepts used in reengineering is composition that is restructuring of the existing objects from other components. The classes and clusters in storage have structural relationship with system's main components to reuse in the higher level. These are referenced as dynamic informations through structuring an architect for each of them. The classes are created by extractor, searcher and composer through representing existing object-oriented source code. Each of classes and clusters extract refined informations through optimization. New architecture is created from the cluster based on its classes' relationship in storage. This information can be used as an executable code later on. In this paper, we propose the tools, it presented by this thesis presents a new information to users through analysing, based on reengineering, Object-Oriented informations and practicing composition methodology. These composite classes will increase reusability and produce higher comprehension information to consist maintainability for existing codes.

소프트웨어 재공학은 기존 시스템의 유지보수 문제에 대한 해결책으로 많은 연구가 이루어지고 있다. 재공 학은 역공학과 순공학을 통해 기존 시스댐에 대한 소프트웨어 개발을 의미하며, 기존 시스템의 소프트웨어에서 클래스를 추출하여 시스템의 이해를 높일 뿐만 아니라 소프트웨어 유지보수를 향상시키는데 적용된다 이를 위해 사용되는 중요한 개념으로 "합성"은 서로 다른 컴퍼넌트틀로부터 필요한 기능을 가져와 재구성하는 것이다. 또한, 정보 저장소에 저장된 클래스와 클러스터들은 고수준에서 재사용되기 위해 제공되는 시스템의 주요 컴퍼넌트들과 그들간의 구조적인 관계를 가진다. 이들은 그 각각으로 하나의 아키텍쳐를 구성하여 향후 동적 정보로 참조된다. 따라서, 기존의 객체지향 원시코드를 논리적으로 표현함으로써 추출기와 검색기, 합성기에 의해 클래스가 생성되며 클래스와 클러스터 정보는 각각 최적화(optimization)를 통해 정련화된 정보를 추출해 낸다. 이러한 정보틀은정보저장소에 저장되며,클래스간의 관계성에 의한클러스터를하나의 새로운아키텍쳐로써 생성한 다. 또한, 이 정보는 향후 실행 가능한 코드로써 사용되어진다. 본 논문에서 제시한 툴은 재공학을 기반으로 객체지향 정보를 분석하고 합성 방법론을 수행하여 새로운 정보로써 사용자에게 제시된다. 또한, 새로운 코드와 재구축된 고수준의 합성 클래스는 재사용을 높이고, 기존 소프트웨어에 대한 고수준의 이해성과 유지보수성을 제공한다.

Keywords