절차적 프로그램으로부터 객체기반 프로그램으로의 변환 방법

기존의 절차 중심적으로 개발되어진 시스템들은 일반적으로 오래 전에 개발되었으며 규모가 크고 구조화되어 있지 않아서 이해하기 어렵고 분석에 드는 비용이 크다. 그러나 그런 시스템들은 이미 운영 환경에 관한 많은 중요한 정보들을 포함하고 있어서 시스템을 폐기하기 곤란하며 새로 개발하는 데에도 많은 비용과 시간이 요구된다. 이러한 절차 중심적 소프트웨어들이 제공하는 서비스를 계속 유지해 가면서 그 시스템을 현대화하기 위한 방안으로 객체 지향 구조로의 소프트웨어 재공학이 요구되고 있다. 본 논문에서는 기존의 절차 중심적 소프트웨어 시스템을 객체 지향 소프트웨어 시스템으로 변환하는 방법에 관하여 논의한다. 이를 위해 프로그램에 내제되어 있는 타입 가시성 정보와 자료 가시성 정보를 그래프로 표현하고 이 그래프를 이용하여 객체를 추출하는 방법을 제시한다. 또한, 추출된 객체들을 클래스로 표현하고 클래스들 간의 관계를 파악하며, 클래스들을 기반으로 기존의 코드를 객체 지향 중심의 코드를 변환하기 위한 방법들을 연구한다.