• Title/Summary/Keyword: Software Product Line Engineering

Search Result 100, Processing Time 0.023 seconds

Methods of managing UI Assets in Product-Line Engineering (Product-Line 에서의 UI 자산화 기법)

  • Hwang Kil-Seung;Yoon Seok-Jin;Song Moon-Sub;Yang Young-Jong
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.11a
    • /
    • pp.421-424
    • /
    • 2004
  • Product-Line 기반의 소프트웨어 개발은 특정 도메인의 소프트웨어 제품군 내의 공통성과 가변성 분석을 통한 공통 아키텍처의 추출과 재사용으로 개발의 생산성과 효율성을 향상시킨다. 일반적인 Product-Line 기반 방법론에 따르면, 재사용되는 핵심자산은 아키텍처, 컴포넌트, 등의 소프트웨어 내부 비즈니스 로직에 한정되어 있으며, 실제로 소프트웨어 개발에 있어 많은 비용이 지출되는 UI(User Interface), 데이터베이스 등의 설계 및 개발에 대한 내용은 언급되어 있지 않은 실정이다. 본 논문에서는 소프트웨어 개발에 필요한 UI 모듈을 핵심자산의 형태로 Product-Line 에서 사용할 수 있도록 하는 방법을 제안한다. UI 모듈을 설계하여 명세하는 방법과 설계된 UI를 디자인 템플릿과 연결하여 내부 로직과 연계하는 방법에 대해 설명한다. 이 방법을 이용하면 Product-Line을 위한 핵심자산 구성시 UI 모듈을 포함할 수 있어 생산성과 효율성을 향상시킬 수 있을 것으로 생각된다.

  • PDF

An Approach to Managing Requirements as a Core Asset in Software Product-Line (소프트웨어 프로덕트 라인에서 핵심 자산으로서 요구사항을 관리하는 방법)

  • 문미경;염근혁
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.8
    • /
    • pp.1010-1026
    • /
    • 2004
  • The goal of product line engineering is to support the systematic development of a set of similar software systems by understanding and controlling their common and distinguishing characteristics. The product line engineering is a process that develops reusable core assets and develops a set of software-intensive systems from a common set of core assets in a prescribed way. Currently, many software development technologies are accomplished in context of product line. However, much of the product line engineering research have focused on the reuse of work products relating to the software's architecture, detail design, and code. The product lines fulfill the promise of tailor-made systems built specifically for the needs of particular customers or customer groups. In particular, commonality and variability play central roles in the all product line development processes. These must be treated already during the requirement analysis phase. Requirements in product line engineering are basis of software development just like as traditional system development engineering, and basis of deciding other core assets' property - commonalities and variabilities. However, it is difficult to elicit, analyze and manage correct requirements. Therefore, it is necessary to develop systematic methods which can develop and manage requirement as core asset, which can be stable in anticipative change and can be well adapted to unpredictable change. In this paper, we suggest a method of managing requirements as core asset in product line. Through this method, the reuse of domain requirements can be enhanced. As a result, the cost and time of software development can be reduced and the productivity can be increased.

Extracting of Features in Code Changes of Existing System for Reengineering to Product Line

  • Yoon, Seonghye;Park, Sooyong;Hwang, Mansoo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.21 no.5
    • /
    • pp.119-126
    • /
    • 2016
  • Software maintenance becomes extremely difficult, especially caused by multiple versions in project-based or customer-oriented software development methodology. For reducing the maintenance cost, reengineering to software product line can be a solution to the software which either is a family of products nevertheless little different functionalities or are customized for each different customer's requirement. At an initial stage of the reengineering, the most important activity in software product line is feature extraction with respect to commonality and variability from the existing system due to verifying functional coverage. Several researchers have studied to extract features. They considered only a single version in a single product. However, this is an obstacle to classify the commonality and variability of features. Therefore, we propose a method for systematically extracting features from source code and its change history considering several versions of the existing system. It enables us to represent functionalities reflecting developer's intention, and to clarify the rationale of variation.

A Dissimilarity with Dice-Jaro-Winkler Test Case Prioritization Approach for Model-Based Testing in Software Product Line

  • Sulaiman, R. Aduni;Jawawi, Dayang N.A.;Halim, Shahliza Abdul
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.15 no.3
    • /
    • pp.932-951
    • /
    • 2021
  • The effectiveness of testing in Model-based Testing (MBT) for Software Product Line (SPL) can be achieved by considering fault detection in test case. The lack of fault consideration caused test case in test suite to be listed randomly. Test Case Prioritization (TCP) is one of regression techniques that is adaptively capable to detect faults as early as possible by reordering test cases based on fault detection rate. However, there is a lack of studies that measured faults in MBT for SPL. This paper proposes a Test Case Prioritization (TCP) approach based on dissimilarity and string based distance called Last Minimal for Local Maximal Distance (LM-LMD) with Dice-Jaro-Winkler Dissimilarity. LM-LMD with Dice-Jaro-Winkler Dissimilarity adopts Local Maximum Distance as the prioritization algorithm and Dice-Jaro-Winkler similarity measure to evaluate distance among test cases. This work is based on the test case generated from statechart in Software Product Line (SPL) domain context. Our results are promising as LM-LMD with Dice-Jaro-Winkler Dissimilarity outperformed the original Local Maximum Distance, Global Maximum Distance and Enhanced All-yes Configuration algorithm in terms of Average Fault Detection Rate (APFD) and average prioritization time.

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.

Classification Trends Taxonomy of Model-based Testing for Software Product Line: A Systematic Literature Review

  • Sulaiman, Rabatul Aduni;Jawawi, Dayang Norhayati Abang;Halim, Shahliza Abdul
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.16 no.5
    • /
    • pp.1561-1583
    • /
    • 2022
  • Context: Testing is one of the techniques that can assure the quality of software including the domain of Software Product Line (SPL). Various techniques have been deliberated to enhance the quality of SPL including Model-based Testing (MBT). Objective: The objective of this study is to analyze and classify trends of MBT in SPL covering the solutions, issues and evaluation aspects by using taxonomy form. Method: A Systematic Literature Review (SLR) was conducted involving 63 primary studies from different sources. The selected studies were categorized based on their common characteristics. Results: Several findings can guide future research on MBT for SPL. The important finding is that the multiple measurements are still open to improving current metrics to evaluate test cases in MBT for SPL. The multiple types of measurement required a trade-off between maximization and minimization results to ensure the testing method which could satisfy multiple test criteria for example cost and effectiveness at the same time.

Software Product Line Development and Test Process Based on CVL (CVL 기반의 소프트웨어 프로덕트라인 개발 및 테스트 프로세스)

  • Cheon, Eunyoung;Seo, Yongjin;Lee, Ju Seok;Kim, Su Ji;Kim, Jin-A;Kim, Hyeon Soo
    • Journal of KIISE
    • /
    • v.42 no.1
    • /
    • pp.76-85
    • /
    • 2015
  • Software Product Line Engineering is a collection of techniques that analyze the commonalities and variabilities of the products within a product family and produce products using such information. In Software Product Line Engineering, construction of the correct core assets is very important. To accomplish this, the commonalities and variabilities must first be definitively identified, both to provide traceability between the core assets, and to guarantee the reliability of the products. This paper suggests software product line development and test processes based on CVL for the differentiation of commonalities and variabilities. The proposed approach enables correct building of the core assets through procedures to keep traceability and guarantee the reliability of the 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

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.

Formal Definition and Consistency Analysis of Feature-Oriented Product Line Analysis Model (특성 지향의 제품계열분석 모델의 정형적 정의와 일관성 분석)

  • Lee Kwanwoo
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.2
    • /
    • pp.119-127
    • /
    • 2005
  • Product line analysis is an activity for analyzing requirements, their relationships, and constraints in a product line before engineering product line assets (e.g., architectures and components). A feature-oriented commonality and variability analysis (called feature modeling) has been considered an essential part of product line analysis. Commonality and variability analysis, although critical, is not sufficient to develop reusable and adaptable product line assets. Dependencies among features and feature binding time also have significant influences on the design of product line assets. In this paper. we propose a feature-oriented product line analysis model that extends the existing feature model in terms of three aspects (i.e., feature commonality and variability, feature dependency, and feature binding time). To validate the consistency among the three aspects we formally define the feature-oriented product line analysis model and provide rules for checking consistency.