http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
배성진,강교철,Bae, Sungjin,Kang, Kyo Chul 한국정보과학회 소프트웨어공학 소사이어티 2013 소프트웨어공학회지 Vol.26 No.2
소프트웨어 제품라인공학은 재사용성에 초점을 맞추어 소프트웨어의 높은 품질과 생산성을 만족시킬 수 있는 방법으로 제안되었다. 소프트웨어 제품라인에서 제품 구성 방법은 휘처모델로부터 주어진 제품을 위해 가장 최선의 휘처와 휘처속성을 선택해 나가는 프로세스이다. 성공적인 제품 개발을 위해서는 제품의 목표를 달성할 수 있는 휘처와 휘처 속성을 선택하는 것이 중요하다. 하지만 수천개의 휘처와 휘처 속성이 존재하는 경우에는 최적의 제품 구성을 하는 것이 매우 어렵다. 그렇기에 본 연구에서는 휘처와 휘처 속성간의 관계를 기반으로 제품의 목표를 달성하게 하는 휘처와 휘처 속성의 구성 조합을 찾는 휘처 구성 방법을 제안하여, 보다 정확한 제품의 목표 달성에 기여하는 휘처 구성이 될 수 있도록 한다. 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.
AWT 기반 어플리케이션을 이클립스 플러그-인으로 리엔지니어링 할 때 재사용을 위해 고려할 사항들
양진석,손동렬,강교철 한국정보과학회 소프트웨어공학 소사이어티 2011 소프트웨어공학회지 Vol.24 No.2
우리는 소프트웨어 제품라인 개발 방법론인 FORM을 지원하기 위해 과거 AWT기반의 자바 어플리케이션으로 개발된 ASADAL의 동작 속도의 개선, 기능 추가, 그리고 좀 더 친숙한 사용자 인터페이스로의 개선이 필요했기 때문에 이클립스 플랫폼 기반의 플러그-인 어플리케이션으로 리엔지니어링을 진행해야 했다. 본 논문에서는 새로운 플러그-인 어플리케이션을 최소의 노력으로 개발하고 좀 더 빨리 배포하기 위해서 기 개발된 어플리케이션의 많은 부분을 재사용 할 수 있도록 리엔지니어링 과정에서 고려해야 할 세 가지 요소인 기 개발된 어플리케이션의 사용자 인터페이스 재사용 범위, 어플리케이션을 구성할 플러그-인들의 구성, 그리고 이후의 손쉬운 확장 및 기능 대체를 위한 플러그-인들 사이의 결합에 대해서 언급하고 각 요소에 대해서 사용한 방법 및 지침들을 소개한다. 그리고 ASADAL의 휘처모델 편집기와 행위모델 편집기의 리엔지니어링 사례를 들어 제시한 지침을 적용하여 개발한 플러그-인을 소개한다.
소프트웨어 제품라인 아키텍처 모델에서의 가변성 표현 방법 비교 연구
이혜선,조성배,강교철 한국정보과학회 소프트웨어공학 소사이어티 2011 소프트웨어공학회지 Vol.24 No.3
소프트웨어 제품라인 공학은 제품라인의 공통적인 부분과 차이점을 핵심 자산으로 관리하여 품질을 높이고, 핵심 자산을 계획된 제품들에 재사용함으로써 소프트웨어의 생산성을 높이는데 효과적인 방법이다. 제품라인 아키텍처에는 제품에 따라서 포함되거나 포함되지 않는 가변적인 부분이 있기 때문에, 기존 단일 소프트웨어를 대상으로 한 아키텍처 모델과는 달리, 제품라인 아키텍처는 제품 간의 차이점인 가변성을 나타낼 수 있어야 한다. 기존에 여러 연구자가 제품라인 아키텍처 모델에 가변성을 표현하는 방법을 제안하였지만, 이들이 제시한 표현 방법들의 강약점을 분석하고 차이점을 비교하는 연구가 부족하였다. 따라서 본 논문에서는 현재까지 제안된 제품라인 아키텍처 모델에서의 가변성 표현 방법을 분석하고 비교하여, 적합한 표현 방법을 선택하는데 가이드가 되고자 한다.
추출식 소프트웨어 제품라인 공학을 위한 자산 컴포넌트 탐색 및 재공학 방법
조성배,이혜선,강교철 한국정보과학회 2012 정보과학회논문지 : 소프트웨어 및 응용 Vol.39 No.10
소프트웨어 제품라인 공학은 동일한 도메인에 포함된 제품들의 공통점과 차이점을 분석하고 이를 고려하여 재사용 가능한 자산을 개발하여, 계획된 제품들에 자산을 재사용함으로써 소프트웨어의 품질과 생산성을 향상시키는 방법이다. 제품라인의 자산을 개발하는 방법 중 추출식 접근법은 기존에 주로 연구되던 선행식 접근법과 달리, 레거시 시스템으로부터 재사용 가능한 자산을 확보함으로써 자산 개발에 필요한 초기 비용을 줄이고 시간을 단축시킬 수 있는 접근법으로 제안되었다. 추출식 접근법을 성공적으로 적용하기 위해서는 레거시 시스템을 분석하고 그로부터 자산을 개발함으로써 자산 개발 시간을 줄여야 한다. 하지만 제품라인을 고려하지 않은 레거시 시스템은 설계자가 자신의 고려사항에 따라 하나의 컴포넌트에 여러 기능을 혼합하여 구현한 시스템이기 때문에 설계 및 코드를 이해하고 재사용 가능한 자산을 명확히 분리하여 확보하는데 어려움이 존재한다. 이를 해결하기 위해서 본 논문에서는 추출식 접근법을 적용하여 제품라인 자산을 확보함에 있어서, 레거시 시스템에 대한 이해를 높이고, 자산 후보의 파악 및 분리를 돕는 방법을 소개한다. 본 논문에서 제안하는 방법은 다음의 두 가지 프로세스로 구성되어 있다: 1) 시스템 구조의 이해를 높이기 위하여, 첫 번째 프로세스는 컴포넌트 타입을 정의하고, 레거시 시스템에서 정의된 컴포넌트 타입의 컴포넌트를 자동으로 탐색하는 단계로 구성된다. 탐색된 레거시 컴포넌트를 통하여 레거시 시스템에서 각 컴포넌트가 갖는 역할을 이해할 수 있게 된다. 2) 재사용 가능한 자산을 레거시 시스템으로부터 분리하기 위하여, 두 번째 프로세스에서는 컴포넌트 타입을 기반으로 응집도가 높은 컴포넌트를 분석하여 분리해내는 재공학 방법을 제안한다. 제안한 방법을 검증하기 위하여 하나의 구체적인 컴포넌트 타입의 탐색 방법 및 재공학 방법을 수립하고, 이를 지원하는 도구를 개발하여 실제 사례에 적용해보았다. Abstract Software product line engineering is a paradigm that helps organizations develop software systems from reusable assets rather than from scratch. It can improve both software quality and software productivity. The extractive approach to software product line engineering is an emerging approach that capitalizes on legacy systems when developing reusable assets. With the extractive approach, organizations can reduce time and costs required to initiate a product line, compared to the proactive approach. For the success of the extractive approach, it is important to reduce asset development time by analyzing legacy systems and extracting reusable assets from them. However, as developers who have developed these systems often combined many functions in one component, it is difficult to understand and separate reusable assets. To address these challenges, this paper suggests an approach that contains processes and tactics for analyzing legacy systems and extracting reusable assets from them. This approach consists of two major processes: 1) To analyze the legacy system structure, the first process includes steps that define “component type” which can be used to automatically identify legacy components of the defined component type. From the identified legacy components, the analyst can understand the role of each component in the legacy system. 2) To separate reusable assets from the legacy system, the second process includes steps that help analyst evaluate cohesiveness of candidate components based on the component type. To demonstrate the feasibility of the proposed approach, we defined one component type, a component identification method, and a separation method, and developed a tool that supports the method..