• Title/Summary/Keyword: 소프트웨어 제품라인 공학에 대한 추출식 접근법

Search Result 2, Processing Time 0.023 seconds

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

  • Choi, Hyun-Sik;Lee, Hye-Sun;Cho, Yoon-Ho;Kang, Kyo-Chul
    • Journal of KIISE:Software and Applications
    • /
    • v.36 no.7
    • /
    • pp.539-547
    • /
    • 2009
  • Software product line (SPL) engineering is an emerging paradigm for successful software reuse and has been adopted for various industrial and consumer products to improve their productivity and quality. However, most SPL methods require high initial costs and long development time, which makes many companies hesitate to adopt the SPL paradigm. In this paper we introduce a method to construct an SPL by extracting core assets from legacy components based on the feature model, which requires less initial time and effort. We also present a case study on cable set-top box software to illustrate the applicability of this method, and lessons learned that will provide guidelines for many companies to adopt the SPL paradigm.

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

  • Lee, Hyesun;Lee, Kang Bok
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.6 no.7
    • /
    • pp.337-352
    • /
    • 2017
  • Clone-and-own reuse is an approach to creating new software variants by copying and modifying existing software products. A family of legacy software products developed by clone-and-own reuse often requires high maintenance cost and tends to be error-prone due to patch-ups without refactoring and structural degradation. To overcome these problems, many organizations that have used clone-and-own reuse now want to migrate their legacy products to software product line (SPL) for more systematic reuse and management of software asset. However, with most of existing methods, variation points are embedded directly into design and code rather than modeled and managed separately; variation points are not created ("engineered") systematically based on a variability model. This approach causes the following problems: it is difficult to understand the relationships between variation points, thus it is hard to maintain such code and the asset tends to become error-prone as it evolves. Also, when SPL evolves, design/code assets tend to be modified directly in an ad-hoc manner rather than engineered systematically with appropriate refactoring. To address these problems, we propose a feature-oriented method for extracting a SPL asset from a family of legacy applications. With the approach, we identify and model variation points and their relationships in a feature model separate from implementation, and then extract and manage a SPL asset from legacy applications based on the feature model. We have applied the method to a family of legacy Notepad++ products and demonstrated the feasibility of the method.