Software Configuration Management (SCM) is a discipline for systematically managing the configuration of a software system. SCM identifies the system configuration and controls changes to it in order to maintain the integrity and traceability of the configuration. SCM activities are conducted by manipulating the information drawn from baselines which record all the processes made during the software life cycle. Since the jobs of SCM staffs dictate processing a great amount of information and knowledge to be manipulated, it is necessary to build automated SCM tools or an environment. In order to automate SCM activities, we have to devise a method to formally represent information and knowledge needed for SCM activities. We have adopted first order logic to represent such information and knowledge. Because we can easily build a first-order logic based knowledge-based system in PROLOG, we have implemented a Knowledge-Based Software Configuration Management (KBSCM) system in PROLOG. to establish the viability of a knowledge-based approach to SCM, we have designed and implemented a KBSCM system.
소프트웨어 구성관리는 소프트웨어 시스템의 구성을 체계적으로 제어하는 기법을 연구하는 분야이다. 소프트웨어 구성관리는 시스템의 구성을 식별하고, 이에 가해지는 변경들을 제어함으로써 시스템 구성의 무결성과 관리상의 편의를 유지할 수 있도록 한다. 소프트웨어 구성관리 작업은 소프트웨어 생명주기 동안에 발생하는 모든 처리과정을 기록한 기준선에서 나온 정보들을 구성관리 활동 절차에 관한 지식에 따라 수행된다. 소프트웨어 구성관리 작업 수행에는 너무나 많은 정보와 지식의 처리가 따르므로 소프트웨어 구성 관리의 자동화를 위한 도구/환경의 개발이 필수적이다. 소프트웨어 구성관리 작업의 자동화를 위해서는 먼저 관리활동 중에 처리되는 정보와 지식을 컴퓨터가 직접 조작할 수 있는 형태로 표현하는 방안을 고안해야 한다. 본 연구에서는 이러한 정보와 지식을 표현하기 위해 1차 논리를 채택하였다. 그리고 프롤로그 언어를 사용하여 1차 논리에 근거한 지식기반 시스템을 용이하게 구축할 수 있으므로 지식기반형 소프트웨어 구성관리 시스템을 프롤로그로 구현하였다. 소프트웨어 구성관리의 지식 기반적인 해결 방식의 가능성을 보이기 위해 본 논문에서는 지식기반형 소프트웨어 구성관리 시스템의 설계 및 구현을 제시한다.