• Title/Summary/Keyword: Software Product Line

Search Result 149, Processing Time 0.031 seconds

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 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.

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

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.

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.

Product-Line Architecture Development for Self-Adaptive Software (적응형 소프트웨어를 위한 프로덕트 라인 아키텍처 개발)

  • Ye, Eun-Suk;Yeom, Keun-Hyuk;Moon, Mi-Kyeong
    • The KIPS Transactions:PartD
    • /
    • v.15D no.3
    • /
    • pp.361-374
    • /
    • 2008
  • In the latest intelligent computing environments, the self-adaptive software, as new software paradigm, which modifies its own behavior in response to changes in its operating environment is needed. To develop the self-adaptive software, it is necessary to analyze and design the context of software as well as the structure and the behavior of software. We need more efforts for self-adaptive software development than for traditional software development because we need more activities and technologies like context modeling and adaptation to develop the self-adaptive software. In this paper, we present the product line architecture for self-adaptive software and templates of artifacts to improve the efficiency of development through a reuse methodology. The artifacts of the architecture support the systematic reuse activities of core assets by expressing the commonality and variability of product line.

Incremental Method for Developing Software Product Family (소프트웨어 제품 군을 개발하기 위한 점진적 방법)

  • Joo, Bok-Gyu;Kim, Young-Chul
    • The KIPS Transactions:PartD
    • /
    • v.10D no.4
    • /
    • pp.697-708
    • /
    • 2003
  • In a software product line approach, developers first develop common software architecture and components by analyzing the characteristics of all software members, and then produce each application by integrating components. The approach is considered very effective means for developing and maintaining in parallel a software product family. Main disadvantage of this approach is that it requires a big up-front investment in preparing product line. Therefore, it takes time to deliver the first version. In this paper, we present an incremental method to develop software families, which requires small additional cost for initial versions and allows an organization to move smoothly to full-scale product line. We present our method by explaining how to record and upgrade the results of variations analysis, and show the application of our method by developing a family of YBS. Our method is a low-risk approach that can be effectively applied to an organization that starts developing software systems but has to deliver the first versions quickly to the market.

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.

A Variability Description Technique for Software Product Line: OVDL (소프트웨어 프로덕트라인 가변성 기술 기법: OVDL)

  • Lee, Ji Hyun;Kang, Sung Won
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.2 no.11
    • /
    • pp.739-746
    • /
    • 2013
  • Variability of the software product line that differentiates member products within a product line must be described with precise meaning and visualized so as easy to select. Moreover, it should be easy to manage. Variability description approaches can largely be divided into two approaches, integrated variability description approach and orthogonal variability description approach. Orthogonal Variability Description Language (OVDL) was developed for clear and precise description of variability without ambiguity. This paper validates the variability description capability of OVDL by translating the variability models of Inter-Working Function (IWF) product line described by using Orthogonal Variability Model (OVM) notations into variability descriptions in OVDL.

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.