• 제목/요약/키워드: Extractive Approach to Software Product Line Engineering

검색결과 2건 처리시간 0.015초

기존 시스템 기반의 소프트웨어 제품라인 공학기법: 케이블 셋톱박스 소프트웨어 사례 (Legacy System-Based Software Product Line Engineering: A Case Study on Cable Set-Top Box Software)

  • 최현식;이혜선;조윤호;강교철
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권7호
    • /
    • pp.539-547
    • /
    • 2009
  • 산업 및 가전 제품에서 소프트웨어의 중요성이 커지면서 소프트웨어 재사용과 제품라인 방법론에 대한 관심이 높아지고 있다. 그러나 대부분의 제품라인 방법론은 초기 비용과 시간이 많이 들고 구체적인 절차나 성공 사례가 부족하여 산업체에서 적용하기에는 어려운 한계가 있다. 본 논문에서는 산업체에서 제품라인 기법을 쉽게 적용할 수 있도록, 기존에 개발된 소프트웨어 자산과 해당 도메인의 휘처모델을 활용하여 제품라인을 쉽게 구축할 수 있는 추출식 접근법의 구체적인 방법을 제시하고 이를 케이블 셋톱박스 소프트웨어에 적용한 사례를 소개한다. 또한, 제품라인으로의 전환 효과를 확인할 수 있는 평가 기준을 제안하고, 사례 연구를 통해 얻은 교훈을 정리하여 다른 산업 및 가전 제품의 소프트웨어에 적용할 수 있는 지침을 제공한다.

레거시 어플리케이션 제품군으로부터 제품라인 자산을 추출하는 휘처 기반의 방법 (A Feature-Oriented Method for Extracting a Product Line Asset from a Family of Legacy Applications)

  • 이혜선;이강복
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제6권7호
    • /
    • pp.337-352
    • /
    • 2017
  • 복제 및 소유(Clone-and-own) 재사용은 기존의 소프트웨어 제품을 복사하고 수정하여 새로운 소프트웨어를 개발하는 방법이다. 복제 및 소유 재사용으로 개발된 레거시 소프트웨어 제품군은 일반적으로 리팩토링 없이 패치 업 되고 구조적으로 저하되기 때문에 높은 유지보수 비용을 필요로 하고 오류가 발생하기 쉬운 경향이 있다. 기존에 복제 및 소유 재사용 방법을 사용했던 많은 회사들이 이러한 문제를 해결하고 소프트웨어 자산을 더 체계적으로 재사용하고 관리하기 위하여 레거시 제품들을 소프트웨어 제품라인으로 전환하려고 하고 있다. 하지만 대부분의 기존 방법들은 가변점(Variation points)을 디자인과 코드로부터 분리해서 모델링하고 관리하지 않고 디자인과 코드에 바로 임베드시킨다. 즉, 가변점이 가변성 모델을 기반으로 체계적으로 생성되고 관리되지 않는다. 이러한 기존 방법들은 다음의 문제를 야기한다. 기존 방법에서는 가변점 간 관계를 이해하기가 어렵기 때문에 가변점이 임베드 된 코드를 유지보수하기가 어렵고 코드가 변경 및 진화될 때 오류가 생기기 쉽다. 또한 소프트웨어 제품라인이 진화할 때 디자인/코드 자산이 적합한 리팩토링을 적용하여 체계적으로 변경되는 것이 아니라, 애드 혹(Ad-hoc) 방식으로 직접적으로 변경되는 경향이 있다. 본 논문에서는 이러한 문제를 해결하기 위하여 레거시 어플리케이션 제품군으로부터 소프트웨어 제품라인 자산을 구축하는 휘처 기반의 방법을 제안한다. 제안하는 방법에서는 가변점과 가변점 간 관계를 식별하고 이들을 구현으로부터 분리하여 휘처 모델로 모델링한다. 그리고 휘처 모델을 기반으로 레거시 어플리케이션으로부터 소프트웨어 제품라인 자산을 추출하고 관리한다. 제안하는 방법을 레거시 Notepad++ 제품군에 적용을 하여 방법의 실행가능성을 검증하였다.