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

Search Result 42, Processing Time 0.03 seconds

Application of Software Product Line Engineering for Developing Web Application Families (웹 시스템 군의 개발을 위한 소프트웨어 제품라인 공학의 적용)

  • Hwang, ByungHan;Jin, YoungTaek
    • The Journal of Society for e-Business Studies
    • /
    • v.22 no.2
    • /
    • pp.39-60
    • /
    • 2017
  • Software product line engineering is widely recognized as an effective way for systematic software reuse, and many studies have been conducted to convert existing software development practices and processes into software product line. In order to convert existing software development into product line, a lot of investments are required such as dedicated development units, appropriate process selection and adaptation, and tool support. In particular, small businesses need business cases and specific practices for applying software product line engineering before its full-scale adoption. In this paper, we present a practical case of applying software product line engineering to the development of web system families and a process of systematically building and reusing software assets. To do this, we analyzed a number of web development projects and presented the experiences and various considerations of small software companies adopting software product line.

A Tool for Workflow-based Product Line Software Development (워크플로우 기반의 제품라인 소프트웨어 개발 지원 환경)

  • Yang, Jin-Seok;Kang, Kyo C.
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.2 no.6
    • /
    • pp.377-382
    • /
    • 2013
  • A convergence software development methodology based on product line engineering provides an architecture model for application development and it also provides workflow as a behavior specification of control component development to develop transaction centric application. To effect a change on software development based on product line engineering it has to be supported by a tool. But almost workflow modeling tools dose not support product line engineering concept. So we need new workflow modeling tool to support the convergence software development methodology. In this paper, we introduce a toolset for workflow modeling that consists of eclipse plug-in applications and open source tool and describe the relationships of tools through example.

A Tool for Workflow-based Product Line Software Development (워크플로우 기반의 제품라인 소프트웨어 개발 지원 환경)

  • Yang, Jin-Seok;Qing, Lin;Kang, Kyo C.
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.11a
    • /
    • pp.1515-1518
    • /
    • 2012
  • 제품라인공학 기반의 융합소프트웨어 개발 방법론에서는 어플리케이션 개발을 위해 아키텍처 모델을 제안하고 있다. 개발 모델에서는 명세를 이용하여 제어컴포넌트를 개발하도록 제안하는데 워크플로우는 트랜잭션을 주로 처리하는 어플리케이션 개발을 위해 제안되었다. 제품라인 공학 기반의 소프트웨어 개발이 효과를 발휘하기 위해서는 도구의 지원이 반드시 필요하다. 하지만 기존의 워크플로우 모델링 도구들은 제품라인 공학 개념을 지원하지 않기 때문에 워크플로우 기반의 제품 라인 소프트웨어 개발을 지원할 수 있는 도구의 개발이 필요했다. 본 논문에서는 워크플로우 기반의 제품라인 소프트웨어 개발을 지원하기 위해서 개발된 도구를 소개하고 개발된 도구의 활용 가능성을 확인하기 위해서 간단한 활용예제를 소개한다.

Expressing Variability in Software Product Line Architecture Models: A Comparative Study (소프트웨어 제품라인 아키텍처 모델에서의 가변성 표현 방법 비교 연구)

  • Lee, Hyesun;Cho, Sungbae;Kang, Kyo Chul
    • Journal of Software Engineering Society
    • /
    • v.24 no.3
    • /
    • pp.77-89
    • /
    • 2011
  • Software product line engineering is a software reuse paradigm that helps organizations improve software productivity and quality by developing software products from reusable core assets. For the satisfaction of common and variable requirements among products in the product line, the core assets must be configurable according to the selection of variable features. Therefore, unlike software architecture model of a single product, product line architecture model must embed and express variabilities among the products. Many researches have proposed methods of embedding and expressing variabilities in the product line architecture models, but there are few comparative studies on the proposed methods. In this paper we discuss strong points and weak points of the proposed methods and compare expressiveness of the methods, which helps select a proper method.

  • PDF

Code Coverage Measurement in Configurable Software Product Line Testing (구성가능한 소프트웨어 제품라인 시험에서 코드 커버리지 측정)

  • Han, Soobin;Lee, Jihyun;Go, Seoyeon
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.11 no.7
    • /
    • pp.273-282
    • /
    • 2022
  • Testing approaches for configurable software product lines differs significantly from a single software testing, as it requires consideration of common parts used by all member products of a product line and variable parts shared by some or a single product. Test coverage is a measure of the adequacy of testing performed. Test coverage measurements are important to evaluate the adequacy of testing at the software product line level, as there can be hundreds of member products produced from configurable software product lines. This paper proposes a method for measuring code coverage at the product line level in configurable software product lines. The proposed method tests the member products of a product line after hierarchizing member products based on the inclusion relationship of the selected features, and quantifies SPL(Software Product Line) test coverage by synthesizing the test coverage of each product. As a result of applying the proposed method to 11 configurable software product line cases, we confirmed that the proposed method could quantitatively visualize how thoroughly the SPL testing was performed to help verify the adequacy of the SPL testing. In addition, we could check whether the newly performed testing for a member product covers the newly added code parts of a feature.

Efficient Code-based Software Product Line Regression Testing (효율적인 소프트웨어 제품라인 회귀시험을 위한 자동화된 코드 기반 시험 방법)

  • Jung, Pilsu;Kang, Sungwon
    • Journal of Software Engineering Society
    • /
    • v.29 no.2
    • /
    • pp.1-6
    • /
    • 2020
  • Software product line development is a development paradigm that efficiently develops a product family by avoiding redundant development based on separation of the common part and the variable part of the product family. In software product line development, the source code that is used to produce a product family is called a product line code base, and when the product line code base is changed and the products of the product family are affected by the change, the activity of testing the affected products is called a product line regression testing. For product line regression testing, instead of conducting regression testing individually on each product of the product family, a more efficient regression testing would be possible if unnecessary testing that are irrelevant to the change can be avoided. This paper introduces SRTS, which is an automated method to efficiently perform software product line regression testing. SRTS divides the product line code base and test cases based on commonality and variability. Then SRTS identifies and selects the test cases affected by the change. Finally, it reduces unnecessary testing by rerunning only the selected test cases.

Consistency Checking Rules of Variability between Feature Model and Elements in Software Product Lines (소프트웨어 제품라인의 휘처모델과 구성요소간 가변성에 대한 일관성 검증 규칙)

  • Kim, Se-Hoon;Kim, Jeong-Ah
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.3 no.1
    • /
    • pp.1-6
    • /
    • 2014
  • Many companies have tried to adopt Software Product Line Engineering for improving the quality and productivity of information systems and software product. There are several models defined in software product line methodology and each model has different abstraction level. Therefor it is important to maintain the traceability and consistency between models. In this paper, consistency checking rules are suggested by traceability matrix of work products.

A Feature-based Product Configuration Method for Product Line Engineering (제품라인 공학을 위한 휘처 기반의 제품 구성 방법)

  • Bae, Sungjin;Kang, Kyo Chul
    • Journal of Software Engineering Society
    • /
    • v.26 no.2
    • /
    • pp.31-44
    • /
    • 2013
  • Software product line (SPL) engineering is a reuse paradigm that helps organizations increase productivity and improve product quality by developing product from reusable core assets. In SPL, product configuration is the process of selecting the desired features and feature attributes for a given product from a feature model. In order to develop a successful product, feature and feature attribute selection that can achieve the product goal is important. There can be thousands of features and feature attributes resulting in myriads of configurations and finding the best configuration efficiently is a hard task. This paper proposes a systematic process for feature-based product configuration. To support development of a product that satisfys all product goals(business goals and quality goals), a model showing how feature and feature attribute combinations are related to product goals is included and a method for deriving an optimal product configuration using the model is proposed.

  • PDF

An Workbench based on Eclipse Platform for Feature-Oriented Product Line Software Development (휘처-중심의 제품라인 공학 기반 소프트웨어 개발을 위한 이클립스 플랫폼 기반의 워크벤치)

  • Yang, Jin-Seok;Kang, Kyo-C.
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06b
    • /
    • pp.187-189
    • /
    • 2012
  • 오늘날의 소프트웨어 개발회사는 엄청난 시장 경쟁에 직면하고 있다. 세계 시장의 요구사항은 다양해 지고, 구현해야하는 휘처의 수는 증가하는 반면에 제품의 생명주기는 점점 짧아지고 있기 때문이다. 많은 소프트웨어 개발 회사는 빨리 변하는 개발 환경에 대응하기 위한 해결책으로 제품라인 공학을 적용하고 있다. 본 논문에서는 휘처 모델링에서 자산과 제품개발까지 휘처-중심 제품라인 소프트웨어 개발을 지원하기 위한 이클립스 플랫폼 기반의 새로운 워크벤치를 소개한다. 워크벤치의 특징과 개념적 아키텍처를 소개하고 주요 구성요소에 대한 간략한 설명과 함께 기능 지원을 위해 구성된 도구들에 대해서 소개한다.

A Code Clustering Technique for Unifying Method Full Path of Reusable Cloned Code Sets of a Product Family (제품군의 재사용 가능한 클론 코드의 메소드 경로 통일을 위한 코드 클러스터링 방법)

  • Kim, Taeyoung;Lee, Jihyun;Kim, Eunmi
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.12 no.1
    • /
    • pp.1-18
    • /
    • 2023
  • Similar software is often developed with the Clone-And-Own (CAO) approach that copies and modifies existing artifacts. The CAO approach is considered as a bad practice because it makes maintenance difficult as the number of cloned products increases. Software product line engineering is a methodology that can solve the issue of the CAO approach by developing a product family through systematic reuse. Migrating product families that have been developed with the CAO approach to the product line engineering begins with finding, integrating, and building them as reusable assets. However, cloning occurs at various levels from directories to code lines, and their structures can be changed. This makes it difficult to build product line code base simply by finding clones. Successful migration thus requires unifying the source code's file path, class name, and method signature. This paper proposes a clustering method that identifies a set of similar codes scattered across product variants and some of their method full paths are different, so path unification is necessary. In order to show the effectiveness of the proposed method, we conducted an experiment using the Apo Games product line, which has evolved with the CAO approach. As a result, the average precision of clustering performed without preprocessing was 0.91 and the number of identified common clusters was 0, whereas our method showed 0.98 and 15 respectively.