Abstract
didates.본 논문은 절차 중심 소프트웨어를 객체 지향 소프트웨어로 재/역공학하기 위한 다단계 절차중 첫 절차인 객체 추출 절차에 대하여 기술한다. 사용한 객체 추출 방법은 전처리, 기본 분할 및 결합, 정제 결합, 결정 및 통합의 다섯 단계로 이루어진다 : 1) 전처리 과정에서는 객체 추출을 위한 FTV(Function, Type, Variable) 그래프를 생성/분할 및 클러스터링하고, 2) 기본 분할 및 결합 단계에서는 다중 객체 추출을 위한 그래프를 생성하고 생성된 그래프의 정적 객체를 추출하며, 3) 정제 결합 단계에서는 동적 객체를 추출하며, 4) 결정 단계에서는 영역 모델링과 다중 객체 후보군과의 유사도를 측정하여 영역 전문가가 하나의 최적합 후보를 선택할 수 있는 측정 결과를 제시하며, 5) 통합 단계에서는 전처리 과정에서 분리된 그래프가 여러 개 존재할 경우 각각의 처리된 그래프를 통합한다. 본 논문에서는 클러스터링 순서가 고정된 결정론적 방법을 사용하였으며, 가능한 경우의 수에 따른 다중 객체 후보, 객관적이고 의미가 있는 객체 추출 방법으로의 정제와 결정, 영역 모델링을 통한 의미적 관점에 기초한 방법 등을 사용한다. 이러한 방법을 사용함으로써 전문가는 객체 추출 단계에서 좀더 다양하고 객관적인 선택을 할 수 있다.Abstract This paper presents an object extraction process, which is the first phase of a methodology to transform procedural software to object-oriented software. The process consists of five steps: the preliminary, basic clustering & inclusion, refinement, decision and integration. In the preliminary step, FTV(Function, Type, Variable) graph for object extraction is created, divided and clustered. In the clustering & inclusion step, multiple graphs for static object candidate groups are generated. In the refinement step, each graph is refined to determine dynamic object candidate groups. In the decision step, the best candidate group is determined based on the highest similarity to class group modeled from domain engineering. In the final step, the best group is integrated with the domain model. The paper presents a new clustering method based on static clustering steps, possible object candidate grouping cases based on abstraction concept, a new refinement algorithm, a similarity algorithm for multiple n object and m classes, etc. This process provides reengineering experts an comprehensive and integrated environment to select the best or optimal object candidates.