소프트웨어 재공학과 유지보수 지원을 위한 툴의 개발

Development of the Tool for Software Re-engineering and Maintenance

  • 발행 : 1994.09.01

초록

소프트웨어 재공학 툴은 소프트웨어 유지보수 생산성과 그작업의 품질 향상에 기 여한다. 재공학은 프로그램의 구성요소에 대한 기능 변경이 아닌 행위 변경(객체의 이 름과 정의, 재구성프로세스 논리)을 일반적으로 관리한다. 본 논문은 객체 지향 프로 그램언어(C++)로 작성된 원시 코드의 유지 보수를 위한 소프트웨어 재공학 툴인 InMaC++(Interactive Maintenance for C++)의 개발에 대해 서술한다. InMaC++ 는 원시 코드와 다이어그램(설계정보) 형태 모두를 표현할 수 있고 편집 기능이 가능 하며 원시 코드에서 다이어그램으로 다이어그램에서 원시 코드로의 변형이 가능하다. 따라서 이들 변형을 통해 기존 코드의 유지보수와 재공학이 가능하다. 특히 시스템의 검색기능은 그래픽 인터페이스로 구현되었으며 InMaC++는 객체 지향 프로그램의 메 소트, 속성, 클래스등의 구성 요소를 기반한 데이터베이스를 포함 하고 있으며, 이 모 델은 구현과 사용의 편리성과 툴의 구성을 용이하게 하기 위해 4가지의 객체 클래스와 3가지 관계를 정의하고 이들 객체 클래스의 검색을 위해 시스템 제공 단순 질의어가 제공한다.

Re-engineering tools can substantially increase software maintenance productivity and the quality of maintenance work. Re-engineering usually involves changing the form(e.g.changining objects names and definitions, restructuring process logic) of a program. In this paper, we describe the design and implementation of InMaC++ that is a software tool oriented towards maintenance of C++ object oriented programs. With InMaC++, programms can be displayed and edited in two forms : as the code and as the diagram InMaC++ also contains transformations in both directions, i,e. from code to diagram and from diagram to skeletons of code. Hence, it is suitable for re-engineering and maintenance of existing code. Specially designed browsers implement the graphical interface. InMaC++ contains a database that is based on a simple but effective data model of InMaC++ programs. The model contains only four object classes and three relations, which makes the tool small, and easy to implement and use. A simple query language allows browsing through the database.

키워드