서지주요정보
파일 수준의 소프트웨어 제품라인 버전 관리를 위한 버전 모델링 방법 = A version modeling method for software product line version management at the file level
서명 / 저자 파일 수준의 소프트웨어 제품라인 버전 관리를 위한 버전 모델링 방법 = A version modeling method for software product line version management at the file level / 허준행.
발행사항 [대전 : 한국과학기술원, 2016].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8029237

소장위치/청구기호

학술문화관(문화관) 보존서고

MCS 16036

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

The Software Product Line Engineering (SPLE) is a paradigm for developing a family of software products by exploiting the commonality and variability of the software products in the family. SPLE has two separate engineering phases: the domain engineering (DE) phase and the application engineering (AE) phase. In the DE phase, platform artifacts containing the commonality and variability of the software products are developed. In the AE phase, actual products are constructed by reusing the platform artifacts developed in the DE phase. A family of products that has its platform artifacts to be used for constructing its products is called a Software Product Line (SPL). Software version management is an activity that manages and traces versions of software elements in the software lifecycle stages such as development, management and evolution. Subversion and Git are examples of Version Control Systems (VCSs) to support version management for source code files. In SPL Development, variation point in platform and binding information for product derivation can change as well as platform artifacts and products. Therefore, SPL version management should handle not only version of platform and products but also version of variation point and binding information. The existing research on SPL version management can be classified into feature model (FM) version management, SPL configuration management, and methods for SPL development on existing version control system (VCS). Firstly, the research on version management for FM proposed versioned FM. However, these research works only aimed at the variability at the requirements level. Secondly, some of the research works on SPL configuration management (CM) defined a CM model. The other of the research works implemented a CM tools for SPL Development but the CM model did not handle version management method for artifacts and variability and the CM tools for SPL Development did not handle change of variation point and binding information. Finally, the researches works on SPL development on the existing VCS proposed methods to derive single products from a platform. In this research, version of files in platform and derived products are managed on individual branches but they did not handle version management for variation point and binding information at the file level. The target of SPL version management at the file level should be files in both platform and derived products, variation point in platform files and binding information. However, as discussed in the previous paragraph, the existing researches only proposed version management for variability at the requirement level or version management at file level but did not consider version of its variation point and binding information. In this paper, we propose a method for SPL version management at the file level, which was not treated in the past research. To that end, we firstly introduce a file-level version model containing version of variation point and binding information and then we apply it to SPL development and define the procedure to manage version model. Secondly, we implement SPL VCS. Finally, we conduct a case study by using our tool. The result of the case study shows that our method can correctly conduct SPL version management and be effective on SPL version management compared to existing VCS Subversion.

소프트웨어 제품 라인 공학은 공통성과 가변성을 이용한 소프트웨어 제품군 개발 패러다임이다. 제품 라인 공학은 도메인 공학과 어플리케이션 공학의 단계들로 구성된다. 도메인 공학은 제품군의 공통성과 가변성을 포함된 플랫폼 산출물을 생성한다. 응용 공학은 플랫폼의 재사용을 통한 실제 제품이 생성된다. 플랫폼을 가지고 있으며 플랫폼으로부터 개별 제품을 생성할 수 있는 소프트웨어 제품군를 소프트웨어 제품라인이라고 한다.소프트웨어 버전관리는 개발, 관리, 진화 단계에서 변화하는 소프트웨어 및 소프트웨어 구성요소들의 버전을 관리, 추적하는 활동이다. Subversion과 Git은 소스 코드 파일들의 버전관리를 지원하는 버전관리시스템의 예이다. 제품라인 개발에서 플랫폼 내부의 가변점과 제품 생성을 위한 바인딩 정보는 플랫폼 산출물과 개별 제품들처럼 변화한다. 그러므로 제품라인 버전 관리는 플랫폼과 제품들의 버전뿐만아니라 가변점과 바인딩 정보의 버전을 다루어야한다. 제품라인 버전관리에 대한 기존 연구들이 수행되었다. 기존 연구들은 피처 모델 버전관리, 제품라인 형상관리 그리고 단일 제품 버전관리 방법을 확장한 제품라인 버전관리로 분류된다. 첫째, 피처 모델의 버전관리 연구들은 버전 정보를 포함하는 피처 모델을 제안하지만 요구사항 수준의 가변성만을 대상으로 한다. 둘째, 제품라인 형상관리의 일부 연구들은 형상관리 모델을 정의하며, 일부 연구들은 제품라인 개발을 위한 형상관리 도구를 제안한다. 그러나 형상관리 모델은 산출물과 가변성의 버전관리 방법을 다루지 않으며 형상관리 도구는 가변점과 바인딩 정보의 변경을 다루지 않는다. 마지막으로, 기존의 버전관리시스템을 사용한 제품라인 개발 연구들은 제품라인 플랫폼과 생성된 제품들의 파일 버전을 개별 브랜치로써 관리한다. 그러나 해당 연구들은 가변점과 바인딩 정보에 대한 버전관리를 다루지 않는다. 파일 수준의 제품라인 버전관리의 대상은 플랫폼과 생성된 제품의 파일들, 플랫폼 내부의 가변점 그리고 바인딩 정보이다. 그러나 앞서 논의한 기존연구들은 요구사항 수준의 가변성의 버전관리만을 다루거나, 가변점 및 바인딩 정보를 고려하지않은 파일의 버전관리를 수행한다. 본 논문은 기존의 연구들이 해결하지 않은 구현 단계의 파일 수준의 제품라인 버전관리 방법을 제안한다. 첫째, 가변점과 제품생성 정보가 포함된 파일 수준의 제품라인 버전 모델을 정의한다. 그리고 제품라인 버전 모델의 관리 방법을 정의한다. 둘째, 제품라인 개발을 위한 버전관리시스템을 구현하고 마지막으로 도구를 사용한 사례연구를 수행한다. 사례연구 결과를 통해 제안 방법이 올바르게 제품라인의 버전관리를 수행하며 기존의 버전관리도구보다 제품라인 버전관리를 효율적으로 수행한다는 것을 보인다.

서지기타정보

서지기타정보
청구기호 {MCS 16036
형태사항 vii, 82 p. : 삽화 ; 30 cm
언어 한국어
일반주기 저자명의 영문표기 : Junhaeng Heo
지도교수의 한글표기 : 강성원
지도교수의 영문표기 : Sungwon Kang
부록 수록
학위논문 학위논문(석사) - 한국과학기술원 : 전산학부,
서지주기 참고문헌 : p. 77-78
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서