• Title/Summary/Keyword: 소프트웨어 제품라인 공학

Search Result 42, Processing Time 0.026 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.

Software Product Line Test Cases Derivation Using Combinatorial Test Design (조합 시험 설계를 이용한 소프트웨어 제품라인 시험항목 생성 방법)

  • Haeun, Baek;Sungwon, Kang;Jihyun, Lee
    • Journal of KIISE:Software and Applications
    • /
    • v.41 no.7
    • /
    • pp.469-480
    • /
    • 2014
  • Software Product Line (SPL) is a software development paradigm that guarantees high productivity, reduced cost, and shorter time-to-market by systematically planning and reusing commonality and variability. In order to maximize the benefits of SPL engineering, testing should be integrated into the SPL engineering lifecycle processes that consist of domain engineering and application engineering and should be performed with as little test efforts as possible. This paper proposes a systematic software product line test cases derivation method using combinatorial test design. By applying combinatorial test design to product line test cases derivation and exploiting commonality between products at the same time, the number of generated test cases is dramatically reduced with the result that they can be effectively reused by the products of the given product line. Case studies conducted in this paper show the efficacy of our method compared with other methods that use only commonality or combinatorial design or neither of them in terms of the number of derived test cases.

Modeling Traceability Between Software Product Line Requirements and Architecture (소프트웨어 제품 라인의 요구사항과 아키텍처 간 추적성 모델링)

  • Eom, Seokhwan;Kang, Sungwon;Kim, Jingyu;Lee, Seonah
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.4 no.11
    • /
    • pp.487-498
    • /
    • 2015
  • Traceability enables software developers to trace up the changes occurring in software artifacts. In software product line, traceability is more complex than traceability in a single product as commonality and variability should be considered. Modeling traceability between features and requirements has been proposed in the past. However, traceability between requirements and architecture has more factors to consider, including many-to-many mappings and hierarchical structure of architectures. This paper proposes a method of systematically constructing platform traceability between platform requirements and platform architecture. This paper also shows the efficacy of the proposed mechanism through case studies.

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.

Feature Configuration Verification Using JESS Rule-based System (JESS 규칙 기반 시스템을 이용한 특성 구성 검증)

  • Choi, Seung-Hoon
    • Journal of Internet Computing and Services
    • /
    • v.8 no.6
    • /
    • pp.135-144
    • /
    • 2007
  • Feature models are widely used in domain engineering phase of software product lines development to model the common and variable concepts among products. From the feature model, the feature configurations are generated by selecting the features to be included in target product. The feature configuration represents the requirements for the specific product to be implemented. Although there are a lot of researches on how to build and use the feature models and feature configurations, the researches on the formal semantics and reasoning of them are rather inactive. This paper proposes the feature configuration verification approach based on JESS, java-based rule-base system. The Graph Product Line, a standard problem for evaluating the software product line technologies, is used throughout the paper to illustrate this approach. The approach in this paper has advantage of presenting the exact reason causing inconsistency in the feature configuration. In addition, this approach should be easily applied into other software product lines development environments because JESS system can be easily integrated with Java language.

  • PDF

Approach to Specify a Component using Component Structure in Product Lines (제품 라인에서 컴포넌트 구조를 활용한 컴포넌트 스펙 방법)

  • Cho Hye-Kyung
    • Journal of KIISE:Software and Applications
    • /
    • v.33 no.3
    • /
    • pp.289-300
    • /
    • 2006
  • Product line is nowadays well known as a representative method for reuse. In the product line, important assets are components. Although enough concerns were given of the product line, it was not accomplished to structure and specify a product-line component with variability. This paper presents an approach to specify components in the product line. The approach describes the static and dynamic structure of a product-line component and explains the behavior and concurrency of the component. The component information is separately described in the black-box and white-box using the Feature-Oriented Reuse Method(FORM). This research also formalizes the data on a component specification in the form of BNF. The specification is described through careful consideration for many different characteristics of the product-line component, so this paper helps to easily develop the components in the product line and to well comprehend how to apply a method for the product line.

A Scoping Method to Implement Software Product Line for Inertial Navigation System (관성항법소프트웨어 SPL(Software Product Line) 구현을 위한 플랫폼 범위결정 기법)

  • Park, Samjoon;Noh, Sungkyu;Lee, Kwanwoo;Park, ByungSu;Nam, Seongho
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.10 no.7
    • /
    • pp.251-256
    • /
    • 2021
  • Software Product Line Engineering (SPLE) has been known as an efficient and effective software reuse methodology. One of the key activities of SPLE is scoping analysis, which determines the range of the features to be developed as reusable assets. Although several scoping methods has been reported, they are not sufficient to apply them to the defense domain. In this paper, we present a scoping method applicable to the defense domain, and present a case study for applying SPLE to inertial navigation weapon system. At first, the proposed method determines the range of candidate features to be applied for the platform. The range is then adjusted from the perspective of product benefit. The final range of features is decided through considering the total cost of a product line. We will demonstrate and evaluate the applicability of the proposed method by showing how we can decide the scope of features to be engineered for the navigation software product line.

A Case on Framework Reuse for Data Recorder Software Development (기록장치 소프트웨어 개발을 위한 프레임워크 재사용 사례)

  • Kim, Chan-Su;Shim, Jun-Yong;Wi, Soung-Hyouk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2011.11a
    • /
    • pp.1369-1371
    • /
    • 2011
  • 효과적이고 체계적인 소프트웨어의 재사용을 위해서는 해당 도메인에 대한 공통된 자산을 먼저 개발해야 한다. 재사용을 위한 컴포넌트 집합은 복잡한 소프트웨어를 컴포넌트 단위의 구조로 분해하고 이를 다시 조립할 수 있도록 하여 생산성을 향상시키지만 광범위한 분석으로 인해 컴포넌트를 개발하는데 필요한 비용과 기간을 증가시키기도 한다. 이러한 문제점을 극복하기 위해 소프트웨어 제품 라인 공학을 적용하여 해당 도메인의 수요나 업무 수행을 만족하는 일련의 공통된 기능들을 이용하여 재사용할 단위인 핵심 자산을 구축하고 요구사항에 따라 목표 시스템을 단기간에 저비용으로 개발할 수 있다. 본 논문에서는 소프트웨어 제품 라인 공학을 통해 정의된 M&S프레임워크의 핵심 자산을 제시하고 이를 재사용해 기록장치 소프트웨어를 개발한 사례에 대하여 설명한다.

A Design of Fault Prediction Model for Software Integration Test (소프트웨어 통합테스트를 위한 결함예측모델 설계)

  • Kim, Myeong-Shin;Kang, Dongsu;Baik, Doo-kwon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.04a
    • /
    • pp.969-972
    • /
    • 2010
  • 소프트웨어 제품의 품질을 보장하기 위해서는 제품을 개발하는 단계에 미리 결함율을 예측하여 원하는 수준의 품질을 확보하는 것이 중요하다. 결함은 사용자의 요구사항이 제품으로 구현되고 기능에 대한 테스트가 수행되는 단계에 가장 객관적이며 정량적으로 관리될 수 있다. 따라서 본 논문에서는 통합테스트에 대한 계획을 수립하는 단계에 제품에 대한 결함율을 미리 예측하여 제품 결함율이 조직의 관리범위에 들어올 수 있도록 통제하는 결함예측모델을 제안한다. 조직의 제품 결함율 베이스라인을 설정하고 통합테스트 결함율에 영향을 미치는 변수들과의 회귀분석을 통해 통합테스트 결함예측모형을 구축한다. 또한 제품 결함율에 영향을 미치는 변수들과의 회귀분석을 통해 제품 결함예측모형을 구축하고 결함예측모형을 활용해 제품 결함율을 분석 및 통제한다. 본 논문에서 제안한 결함예측모델은 실제 프로젝트에 적용하여 실효성을 검증하였으며 제품이 완성되기 전에 결함율을 예측하여 통제할 수 있게 함으로써 소프트웨어 품질을 향상한다.

Automatic Component Reconfiguration using Feature Configuration (특성 구성을 이용한 컴포넌트 재구성 자동화)

  • 정주미;장정아;최승훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04b
    • /
    • pp.382-384
    • /
    • 2004
  • 소프트웨어 개발 단계 초기에 소프트웨어 제품군에 속하는 멤버들의 공통정과 차이점들을 미리 예측하고 분석하여 단위가 크고 전략적인 형태의 재사용을 가능하도록 함으로써 궁극적으로 소프트웨어 개발의 생산성을 향상시키고자 하는 것이 소프트웨어 프로덕트 라인 개발 방법론의 목적이다. 최근에는 소프트웨어 프로덕트 라인 개발에 자동 생성 프로그래밍 기법을 적용하기 위한 연구가 진행 중이다. 그런데, 어플리케이션 단위의 프로덕트 라인 개발 방법론은 단위가 너무 커서 자동 생성 기법을 효율적으로 적용하기가 힘들며, 따라서 그 초점을 컴포넌트 단위로 한정시킬 필요가 있다 본 논문에서는 도메인 공학의 주요 산물인 특성 다이어그램으로부터 특정 컴포넌트의 요구사항을 나타내는 특성 구성(Feature Configuration)을 만들고, 이를 바탕으로 컴포넌트 코드를 자동 생성하는 도구를 구현하였다. 본 논문의 컴포넌트 재구성 자동화 도구는 재사용자의 요구에 맞는 컴포넌트 소스 코드를 자동 생성함으로써 소프트웨어 프로덕트 라인 개발 생산성을 향상시킨다.

  • PDF