• 제목/요약/키워드: 소프트웨어 제품라인 공학

검색결과 42건 처리시간 0.03초

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

  • 황병한;진영택
    • 한국전자거래학회지
    • /
    • 제22권2호
    • /
    • pp.39-60
    • /
    • 2017
  • 소프트웨어 제품라인 공학은 체계적인 소프트웨어 재사용을 위한 효과적인 방법으로 널리 인식되고 있으며, 기존 소프트웨어 개발 실무와 프로세스를 소프트웨어 제품라인으로 전환하기 위한 연구가 진행되어 오고 있다. 기존 소프트웨어 개발을 제품라인으로 전환하기 위해서는 수행조직, 적절한 프로세스 선택 및 수정, 도구의 지원 등 많은 투자가 요구된다. 특히 소규모 기업에서 소프트웨어 제품라인 공학 기술을 본격적으로 도입하기 앞서 적절한 비즈니스 사례와 소프트웨어 제품라인 공학의 적용에 대한 구체적인 실무가 필요하다. 본 논문에서는 웹 시스템 군의 개발에 소프트웨어 제품라인 공학을 적용하는데 따른 실질적인 사례와 소프트웨어 자산을 체계적으로 구축하고 재사용하는 과정을 제시하였다. 이를 위해, 다수의 웹 개발 프로젝트를 분석하였으며 소규모의 기업이 소프트웨어 제품라인을 채택하는데 따른 경험과 다양한 고려사항들을 제시하였다.

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

  • 양진석;강교철
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권6호
    • /
    • pp.377-382
    • /
    • 2013
  • 제품라인공학 기반의 융합소프트웨어 개발 방법론에서는 어플리케이션 개발을 위해 아키텍처 모델을 제안하고 있다. 그리고 명세를 이용하여 제어컴포넌트를 개발하도록 제안하는데 워크플로우는 트랜잭션을 주로 처리하는 어플리케이션 개발을 위해 제안되었다. 제품라인 공학 기반의 소프트웨어 개발이 효과를 발휘하기 위해서는 도구의 지원이 반드시 필요하다. 하지만 기존의 워크플로우 모델링 도구들은 제품라인 공학개념을 지원하지 않기 때문에 워크플로우 기반의 제품라인 소프트웨어 개발을 지원할 수 있는 도구의 개발이 필요했다. 본 논문에서는 워크플로우 기반의 제품라인 소프트웨어 개발을 지원하기 위해서 개발된 도구를 소개하고 개발된 도구의 활용 가능성을 확인하기 위해서 간단한 활용예제를 소개한다.

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

  • 양진석;;강교철
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 추계학술발표대회
    • /
    • pp.1515-1518
    • /
    • 2012
  • 제품라인공학 기반의 융합소프트웨어 개발 방법론에서는 어플리케이션 개발을 위해 아키텍처 모델을 제안하고 있다. 개발 모델에서는 명세를 이용하여 제어컴포넌트를 개발하도록 제안하는데 워크플로우는 트랜잭션을 주로 처리하는 어플리케이션 개발을 위해 제안되었다. 제품라인 공학 기반의 소프트웨어 개발이 효과를 발휘하기 위해서는 도구의 지원이 반드시 필요하다. 하지만 기존의 워크플로우 모델링 도구들은 제품라인 공학 개념을 지원하지 않기 때문에 워크플로우 기반의 제품 라인 소프트웨어 개발을 지원할 수 있는 도구의 개발이 필요했다. 본 논문에서는 워크플로우 기반의 제품라인 소프트웨어 개발을 지원하기 위해서 개발된 도구를 소개하고 개발된 도구의 활용 가능성을 확인하기 위해서 간단한 활용예제를 소개한다.

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

  • 이혜선;조성배;강교철
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제24권3호
    • /
    • pp.77-89
    • /
    • 2011
  • 소프트웨어 제품라인 공학은 제품라인의 공통적인 부분과 차이점을 핵심 자산으로 관리하여 품질을 높이고, 핵심 자산을 계획된 제품들에 재사용함으로써 소프트웨어의 생산성을 높이는데 효과적인 방법이다. 제품라인 아키텍처에는 제품에 따라서 포함되거나 포함되지 않는 가변적인 부분이 있기 때문에, 기존 단일 소프트웨어를 대상으로 한 아키텍처 모델과는 달리, 제품라인 아키텍처는 제품 간의 차이점인 가변성을 나타낼 수 있어야 한다. 기존에 여러 연구자가 제품라인 아키텍처 모델에 가변성을 표현하는 방법을 제안하였지만, 이들이 제시한 표현 방법들의 강약점을 분석하고 차이점을 비교하는 연구가 부족하였다. 따라서 본 논문에서는 현재까지 제안된 제품라인 아키텍처 모델에서의 가변성 표현 방법을 분석하고 비교하여, 적합한 표현 방법을 선택하는데 가이드가 되고자 한다.

  • PDF

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

  • 한수빈;이지현;고서연
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제11권7호
    • /
    • pp.273-282
    • /
    • 2022
  • 구성가능한 소프트웨어 제품라인 시험은 모든 멤버제품들에 포함되는 공통 부분과 일부 또는 단일 제품에 포함되는 가변 부분을 고려해야 하기 때문에 단일 제품 시험 방법들을 그대로 적용하기 어렵다. 소프트웨어 시스템 시험에서 시험 커버리지는 수행된 시험의 적절성을 측정하는 척도이다. 구성가능한 소프트웨어 제품라인으로부터 생성될 수 있는 멤버제품들은 수백 개에 이를 수 있기 때문에 시험 커버리지 측정은 소프트웨어 제품라인 수준에서 시험의 적절성을 평가하기 위해 중요하다. 이 논문은 구성가능한 소프트웨어 제품라인 시험에서 제품라인 수준의 코드 커버리지 측정 방법을 제안한다. 제안한 방법은 피처 집합의 포함 관계를 기준으로 제품들을 계층화한 후 제품라인의 멤버제품들을 시험하고, 시험으로부터 얻어진 각 제품의 시험 커버리지들을 종합하여 SPL 시험 커버리지를 정량화한다. 제안한 방법을 11개의 구성가능한 소프트웨어 제품라인 사례에 적용하여 검증한 결과, 제안한 방법은 SPL 시험이 얼마나 철저하게 수행되었는지를 정량적으로 기술하여 SPL 시험의 적정성을 확인할 수 있도록 도왔다. 또한, 새로 추가된 SPL 멤버제품의 시험이 이전 멤버제품 시험 대비 커버리지를 증가시키는 방향인지 확인할 수 있어 새로운 시험케이스들이 멤버제품들 간의 차이를 커버하는 방향으로 시험이 이루어지고 있는지 확인할 수 있었다.

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

  • 정필수;강성원
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제29권2호
    • /
    • pp.1-6
    • /
    • 2020
  • 소프트웨어 제품라인 개발은 제품군의 개발을 위하여 공통적인 부분과 가변적인 부분을 분리 개발함으로써 중복개발을 피하여 효율적으로 제품군을 개발하는 개발 패러다임이다. 소프트웨어 제품라인 개발에서 제품군을 생성하기 위해 사용되는 소스코드를 제품라인 코드 베이스라고 부르고, 제품라인 코드 베이스가 변경되어 제품군의 제품들이 영향을 받을 때 영향 받은 제품들을 시험하는 활동을 제품라인 회귀시험이라고 한다. 이 때 제품군의 각 제품을 개별적으로 시험하는 대신, 변경과 무관한 시험을 파악하여 피할 수 있다면 효율적인 제품라인 회귀시험이 가능해 질 것이다. 본 논문은 이런 방법으로 소프트웨어 제품라인 회귀시험을 효율적으로 수행하는 자동화된 방법인 SRTS를 소개한다. 이 방법은, 먼저 제품라인 코드 베이스와 시험 항목을 공통성과 가변성을 기반으로 나누고 변경에 영향을 받는 시험 항목을 식별하여 선택한 후, 선택된 시험 항목만을 재실행함으로써 불필요한 시험을 줄인다.

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

  • 김세훈;김정아
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제3권1호
    • /
    • pp.1-6
    • /
    • 2014
  • 모든 기업들은 높은 품질의 정보시스템과 높은 생산성을 가지는 소프트웨어 제품을 만들기 위해 소프트웨어 제품라인 공학(software product line engineering)을 도입하고 있다. 소프트웨어 제품라인 방법론은 다양한 모델들을 가지고 있으며, 각 모델은 추상화 관점과 수준이 서로 다르다. 이러한 모델에 존재하는 요소들간 추적성(traceability)과 가변성(variability) 정보의 일관성(consistency)을 유지하는 것이 중요하다. 본 연구에서는 휘처(feature)의 가변성과 다른 산출물에 정의한 가변성의 일관성을 검증하는 규칙을 제시하였다.

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

  • 배성진;강교철
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제26권2호
    • /
    • pp.31-44
    • /
    • 2013
  • 소프트웨어 제품라인공학은 재사용성에 초점을 맞추어 소프트웨어의 높은 품질과 생산성을 만족시킬 수 있는 방법으로 제안되었다. 소프트웨어 제품라인에서 제품 구성 방법은 휘처모델로부터 주어진 제품을 위해 가장 최선의 휘처와 휘처속성을 선택해 나가는 프로세스이다. 성공적인 제품 개발을 위해서는 제품의 목표를 달성할 수 있는 휘처와 휘처 속성을 선택하는 것이 중요하다. 하지만 수천개의 휘처와 휘처 속성이 존재하는 경우에는 최적의 제품 구성을 하는 것이 매우 어렵다. 그렇기에 본 연구에서는 휘처와 휘처 속성간의 관계를 기반으로 제품의 목표를 달성하게 하는 휘처와 휘처 속성의 구성 조합을 찾는 휘처 구성 방법을 제안하여, 보다 정확한 제품의 목표 달성에 기여하는 휘처 구성이 될 수 있도록 한다.

  • PDF

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

  • 양진석;강교철
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(B)
    • /
    • pp.187-189
    • /
    • 2012
  • 오늘날의 소프트웨어 개발회사는 엄청난 시장 경쟁에 직면하고 있다. 세계 시장의 요구사항은 다양해 지고, 구현해야하는 휘처의 수는 증가하는 반면에 제품의 생명주기는 점점 짧아지고 있기 때문이다. 많은 소프트웨어 개발 회사는 빨리 변하는 개발 환경에 대응하기 위한 해결책으로 제품라인 공학을 적용하고 있다. 본 논문에서는 휘처 모델링에서 자산과 제품개발까지 휘처-중심 제품라인 소프트웨어 개발을 지원하기 위한 이클립스 플랫폼 기반의 새로운 워크벤치를 소개한다. 워크벤치의 특징과 개념적 아키텍처를 소개하고 주요 구성요소에 대한 간략한 설명과 함께 기능 지원을 위해 구성된 도구들에 대해서 소개한다.

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

  • 김태영;이지현;김은미
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제12권1호
    • /
    • pp.1-18
    • /
    • 2023
  • 유사한 소프트웨어는 기존 산출물을 복제하고 수정하는 클론-앤-오운(clone-and-own, CAO) 방법으로 개발되곤 한다. 그러나 클론-앤-오운 방법은 복제된 제품의 수가 늘면서 유지보수를 어렵게 만들기 때문에 나쁜 프랙티스로 간주된다. 소프트웨어 제품라인 공학은 체계적인 재사용을 통해 소프트웨어 제품군을 개발하는 방법으로 클론-앤-오운 방법의 문제를 해결할 수 있다. CAO 방식으로 개발되어 온 제품패밀리를 제품라인 공학으로 마이그레이션하는 작업은 여러 소프트웨어 제품에서 클로닝된 부분들을 찾아 통합하고 재사용 가능한 자산으로 구축하는 것으로부터 시작된다. 그러나 클로닝이 디렉토리부터 코드 라인까지 다양한 수준에서 발생하고 그 과정에서 이들의 구조에 변경이 일어날 수 있어 단순하게 클로닝을 찾아내는 것만으로는 고품질의 제품라인 코드베이스를 구축하기 어렵다. 성공적인 마이그레이션을 위해서는 소스 코드들 사이의 클로닝 관계를 찾는 것 이외에도 소스 코드들의 파일 경로와 클래스 이름, 메소드 시그니처 등의 동일성을 확보는 작업이 선행되어야 한다. 이에 본 연구는 CAO 기반으로 개발된 제품들로부터 마이그레이션 대상 제품들을 선정한 후 제품들에 흩어져 있는 유사 코드 집합을 검출하여 메소드 경로의 통일이 필요한 대상을 식별하는 클러스터링 방법을 제안한다. 제안 방법의 효과를 보이기 위해 CAO 방식으로 진화해온 ApoGames 제품군에 제안 방법을 적용하여 실험을 진행하였다. 그 결과, 전처리 없이 수행된 파일의 상대 경로 기반 클러스터링 방법의 평균 정밀도는 0.91이며 식별된 공통 클러스터의 개수는 0개인 반면에 이 논문에서 제안하는 전처리와 함께 수행된 메소드 시그니처 기반 클러스터링 방법의 평균 정밀도는 0.98로 개선되었으며 식별된 공통 클러스터는 최대 15개까지 증가하였다.