초록
제품 계열 공학(Product Line Engineering, PLE)은 도메인에서 멤버들이 갖는 공통 휘처를 재사용 가능한 핵심 자산으로 만들고, 만들어진 핵심 자산을 이용해서 애플리케이션을 개발하는 방법론이다. PLE는 핵심 자산을 개발해서 재사용하므로, 개발비용을 감소시키며 자산의 재사용성을 증가시킬 수 있다. 지금까지 여러 개의 PLE 방법론이 소개되었으나, 표준화된 PLE 방법론이 존재하지 않기 때문에, 방법론이 제시하는 프로세스나 산출물 등에서 차이가 크며, 산업계에서는 PLE 방법론을 채택하는데 어려움이 있다. 이에 프로세스의 선택과 효율적인 활용을 위해서 기존의 여러 방법론을 비교 분석하는 작업이 요구된다. 본 논문에서는 FAST, SEI SPL, PuLSE, Bosch의 제품 계열 프로세스, FOPLE, ESAPS, KobrA/PoLITe, Alexandria COPA, QADA 방법론 등 대표적인 PLE 방법론을 프로세스, 산출물, 적용 지침 측면 별로 비교 기준을 나누고, 비교 기준에 따라서 비교 평가를 수행한다. 또한 방법론간 공통성이 큰 항목과 적은 항목을 확인해서, PLE 방법론이 포함해야 하는 요소와 각 방법론이 개선해야 하는 사항을 확인한다. 본 논문은 적절한 프로세스를 선택 또는 재정의하는 과정에서 활용할 수 있을 뿐만 아니라, 향후 PLE 개발 방범론의 표준을 정의하는 과정에서 기반이 될 수 있을 것이다.
Product Line Engineering(PLE) is an effective software development technique which produces applications using core assets. Because of reusing the core assets, PLE can save cost for developing products in a domain but increase reusability. There are about ten PLE methodologies available, but there are not yet common agreements on PLE process and artifacts. This makes developers harder to choose a methodology and to apply it in practice. A comprehensive technical evaluation and comparison on existing PLE methodologies would be essential for practitioners. In this paper, we present a technical assessment of representative PLE methodologies; FAST, SEI SPL, PuLSE, Bosch's PL proceis, FOPLE, ESAPS, KobrA/PoLITe, Alexandria, COPA, QADA. They are compared in the criteria of process, artifacts, instructions, and special features. And we identify common or variable elements between methodologies and confirm elements to be improved in each PLE methodology. The assessment result would be well utilized in defining a practical methodology for PLE projects and in choosing an appropriate methodology among available ones.