프로덕트 라인 공학(Product Line Engineering, PLE)은 도메인의 멤버간에 공통적인 휘처를 핵심 자산으로 만들고, 만들어진 핵심 자산을 이용해서 어플리케이션을 개발하는 방법론이다. 따라서 PLE 방법론을 사용해서 제품을 개발하면, 개발 비용은 감소시키고 재사용성은 증가시킬 수 있다. 핵심 자산의 재사용성을 최대화 하기 위해서는, 제품 계열 공학을 위한 비즈니스 케이스 분석이 요구된다. 제품 계열 공학의 핵심 자산 영역이 지나치게 광범위하면, 핵심 자산 개발 비용은 증가하지만 재사용성은 감소할 수 있는 반면, 핵심 자산의 영역이 지나치게 좁으면 핵심 자산을 개발하는 비용은 작지만 극히 일부의 멤버만이 사용할 수 있으므로 핵심 자산의 적용성은 감소된다. 이 논문에서는 프로덕트 라인을 적용하기 위해서 도메인을 분석한 후 비즈니스 케이스를 분석하는 프로세스를 제안한다. 그리고 프로세스의 각 활동을 위한 가이드라인을 제안해서 PLE 방법을 적용해서 시스템을 개발 할 경우 최대의 이익을 획득할 수 있도록 핵심 자산의 영역을 결정하는 방법을 제안한다. PLE에서 가변성은 중요한 개념일 뿐만 아니라, 핵심 자산 개발 비용에 영향을 마친다. 따라서 이 논문에서는 비즈니스 케이스 분석을 위한 프로세스에 가변성을 상세한 수준으로 반영한다. 우리가 제안한 프레임워크를 적용하면, PLE 방법론을 적용해서 핵심 자산을 만들고 시스템을 개발할 때, 최적의 이익을 얻을 수 있을 것으로 기대한다.
프로덕트 라인 공학(Product Line Engineering, PLE)은 도메인의 멤버간에 공통적인 휘처를 핵심 자산으로 만들고, 만들어진 핵심 자산을 이용해서 어플리케이션을 개발하는 방법론이다. 따라서 PLE 방법론을 사용해서 제품을 개발하면, 개발 비용은 감소시키고 재사용성은 증가시킬 수 있다. 핵심 자산의 재사용성을 최대화 하기 위해서는, 제품 계열 공학을 위한 비즈니스 케이스 분석이 요구된다. 제품 계열 공학의 핵심 자산 영역이 지나치게 광범위하면, 핵심 자산 개발 비용은 증가하지만 재사용성은 감소할 수 있는 반면, 핵심 자산의 영역이 지나치게 좁으면 핵심 자산을 개발하는 비용은 작지만 극히 일부의 멤버만이 사용할 수 있으므로 핵심 자산의 적용성은 감소된다. 이 논문에서는 프로덕트 라인을 적용하기 위해서 도메인을 분석한 후 비즈니스 케이스를 분석하는 프로세스를 제안한다. 그리고 프로세스의 각 활동을 위한 가이드라인을 제안해서 PLE 방법을 적용해서 시스템을 개발 할 경우 최대의 이익을 획득할 수 있도록 핵심 자산의 영역을 결정하는 방법을 제안한다. PLE에서 가변성은 중요한 개념일 뿐만 아니라, 핵심 자산 개발 비용에 영향을 마친다. 따라서 이 논문에서는 비즈니스 케이스 분석을 위한 프로세스에 가변성을 상세한 수준으로 반영한다. 우리가 제안한 프레임워크를 적용하면, PLE 방법론을 적용해서 핵심 자산을 만들고 시스템을 개발할 때, 최적의 이익을 얻을 수 있을 것으로 기대한다.
Product Line Engineering (PLE) is an effective reuse methodology where common features among members are captured into core assets and applications are developed by reusing the core assets, reducing development cost while increasing productivity. To maximize benefits in developing systems, business ...
Product Line Engineering (PLE) is an effective reuse methodology where common features among members are captured into core assets and applications are developed by reusing the core assets, reducing development cost while increasing productivity. To maximize benefits in developing systems, business case analysis for PLE is essential. If the scope for core assets is excessively broad, it will result in high cost of asset development while lowering reusability. On the other hand, if the scope is too narrow, it will result in a limited applicability which only support a small number of members in the domain. In this paper, we propose a process for business case analysis for PLE and for deciding economical analysis of core asset scope. Then, we define guidelines for each activity of the process. Since variability often occurs in PLE, we significantly treat the variability of features among members in detailed level. By applying our framework for business case analysis, one can develop core assets of which scope provide the most economical value with applying PLE.
Product Line Engineering (PLE) is an effective reuse methodology where common features among members are captured into core assets and applications are developed by reusing the core assets, reducing development cost while increasing productivity. To maximize benefits in developing systems, business case analysis for PLE is essential. If the scope for core assets is excessively broad, it will result in high cost of asset development while lowering reusability. On the other hand, if the scope is too narrow, it will result in a limited applicability which only support a small number of members in the domain. In this paper, we propose a process for business case analysis for PLE and for deciding economical analysis of core asset scope. Then, we define guidelines for each activity of the process. Since variability often occurs in PLE, we significantly treat the variability of features among members in detailed level. By applying our framework for business case analysis, one can develop core assets of which scope provide the most economical value with applying PLE.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
등의 단계를 포함한다. 비즈니스 케이스 분석은 PLE 방법론을 적용해서 제품을 개발하는 경우와 PLE 방법론을 적용하지 않고 제품을 개발하는 방법을 비교해서 전자의 접근 방식을 채택했을 때 획득할 수 있는 이익을 예측하는 목적으로 수행된다.
이 논문에서는 우선 PLE 방법론을 적용하기 위한 비즈니스 케이스를 분석하는 프로세스를 제안하고 핵심 자산의 영역을 분석하며, 사례 연구를 보여준다. 또한 프로세스의 각 활동을 위한 가이드 라인과 산출물 양식을 제안하며, 비즈니스 케이스를 분석하는 과정에서 가변성과 가변성 의존성이 고려된다는 점이 특징적이다.
가설 설정
가변성간 의존성의 정도는 가변성 타입에 따라 달라지며, 가변성을 실체화하는 비용에 영향을 준다.
제안 방법
공통성을 비교하기 위해서 수행되었다. SRS를 사용해서 서브 도메인의 휘처를 분석한다. 대여 서브 도메인에 있는 휘처들은 '아이템 대여', '대여 정보 검색', '포인트 합산', '지난 대여 기록 검색' 등과 같이 열거된다.
비즈니스 케이스를 분석하기 위해서, 이 논문에서는 위에 언급한 세 가지 영역 설정 중에서 핵심 자산 영역 설정만을 고려하며, 핵심 자산 영역 설정을 기반으로 비즈니스 케이스를 분석하기 위한 프로세스와 공식을 제안한다. 그리고 프로세스의 각 활동을 위한 가이드라인을 제안해서 비즈니스 케이스 분석을 최적화 할수있는 방법을 제공한다. PLE 에서 가변성은 중요한 개념일 뿐만 아니라, 핵심 자산 개발 비용에 영향을 미친다.
다섯 번째 활동은 PLE 기반으로 제품을 개발하기 위해서비즈니스 케이스를 분석하며, 가장 합리적이며 재사용성을최대화 하는 핵심 자산의 영역을 선택하기 위해서 수행한다. 공통성 명세서, 가변성 명세서, 가변성 의존성 명세서가 이 활동의 입력물로 사용된다.
도메인 모델을 정제하기 위한 활동은, 활동 1부터 활동 3 까지의 산출물인 공통성 명세서, 가변성 명세서, 가변성간의존성 명세서를 검증하고 정제하기 위해서 수행한다.
PLE 에서 가변성은 중요한 개념일 뿐만 아니라, 핵심 자산 개발 비용에 영향을 미친다. 따라서 이 논문에서는 비즈니스 케이스 분석을 위한 프로세스와 비즈니스 케이스 분석에 상세한 수준으로 가변성을 반영한다. 우리가 제안한 프레임워크를 적용하면, 가장 경제적인 가치를 가질 수 있는 핵심 자산을 실체화(於alize)해서 시스템을 개발할 수 있을 것으로 기대한다.
본 절에서는 정통부 산하의 컴포넌트 컨소시엄에서 시행했던 CBD 시범적용 프로젝트의 요구사항과 분석 모델을 기반으로 파일럿 프로젝트를 수행해서 본 논문에서 제안한 기법을 적용한 사례연구를 다룬다. 도메인은 대여(Rental) 업무이며, 다음의 세 개 제품 요구사항들을 기반으로 사례 적용을 한다.
영역 설정 (asset scoping)으로 분류된다 [2]. 비즈니스 케이스를 분석하기 위해서, 이 논문에서는 위에 언급한 세 가지 영역 설정 중에서 핵심 자산 영역 설정만을 고려하며, 핵심 자산 영역 설정을 기반으로 비즈니스 케이스를 분석하기 위한 프로세스와 공식을 제안한다. 그리고 프로세스의 각 활동을 위한 가이드라인을 제안해서 비즈니스 케이스 분석을 최적화 할수있는 방법을 제공한다.
우리는 프로덕트 라인 공학을 위한 비즈니스 케이스 분석방법을 사례 연구에 적용하면서 몇 가지 교훈을 얻었다.
이 공식을 적용해서, 핵심 자산을 사용해서 n개의 시스템을 개발하기 위한 비용과 핵심 자산을 사용하지 않고 n개의시스템을 개발하기 위한 비용을 비교한다. 그리고 PLE를 적용한 개발 비용이 최대의 이익을 낼 수 있도록 핵심 자산의영역을 조절해서 기대 수익이 가장 큰 값을 갖도록 해야 한다.
대상 데이터
적용한 사례연구를 다룬다. 도메인은 대여(Rental) 업무이며, 다음의 세 개 제품 요구사항들을 기반으로 사례 적용을 한다.
이론/모형
결정된 영역을 개발하기 위한 비용을 계산하기 위해서는본 사례연구서는 pd(person-days) 노력 단위를 사용한다. 이는 각 회사가 가지고 있는 비용 자료를 이용해서 실제 비용으로 쉽게 변환될 수 있다.
성능/효과
사례 연구 결과, 핵심 자산을 사용하지 않고 세 개의 애플리케이션을 개발하는 노력은 핵심자산을 사용해서 애플리케이션을 개발하는 것보다 많은 노력이 든다는 결론이 나왔다. 즉, 프로덕트 라인 공학을 위한 비즈니스 케이스 분석 결과, 이 핵심 자산의 영역을 개발하는 비용과 개발된 핵심자산을 사용해서 시스템을 개발하는 비용이 가장 큰 경제성을 줄 수 있는 비용으로 결정되었다.
즉, 프로덕트 라인 공학을 위한 비즈니스 케이스 분석 결과, 이 핵심 자산의 영역을 개발하는 비용과 개발된 핵심자산을 사용해서 시스템을 개발하는 비용이 가장 큰 경제성을 줄 수 있는 비용으로 결정되었다.
후속연구
특정 가변성을 바인딩하면 다른 가변성을 만족시켜야 하는 어떤 활동이나 조건이 발생하는데, 유용하고신뢰할 수 있는 핵심 자산을 개발하기 위해서는 가변성간의존성이 핵심 자산에서 분석되고 실체화 되어야 한다. 또한 가변성과 가변성간 의존성이 비즈니스 케이스 분석에 적용되면, 더 높은 정확도를 갖는 분석이 수행될 수 있다.
따라서 이 논문에서는 비즈니스 케이스 분석을 위한 프로세스와 비즈니스 케이스 분석에 상세한 수준으로 가변성을 반영한다. 우리가 제안한 프레임워크를 적용하면, 가장 경제적인 가치를 가질 수 있는 핵심 자산을 실체화(於alize)해서 시스템을 개발할 수 있을 것으로 기대한다.
이 논문에서 제안한 프로세스는 가이드라인과 산출물을구체적으로 제안하고 있으므로 프로젝트에 쉽게 적용할 수있다고 생각되며, 개발자들은 우리가 제안한 비즈니스 케이스 분석 방법과 핵심 자산의 영역을 설정하는 프레임 워크를 적용해서 가장 효과적인 가치를 제공하는 핵심 자산의영역을 개발할 것으로 기대한다.
핵심 자산의 영역은 비즈니스 케이스 분석 결과로 결정되며, 핵심 자산 개발자들은 이 영역에서 선택된 휘처들을 개발할 것이다.
참고문헌 (7)
D. M. Weiss, C. T. R. Lai, Software Product-Line Engineering: A Family-Based Software Development Process, Addison-Wesley, 1999
Clements, P. and Northrop, L., Software Product Lines: Practices and Patterns, Addison Wesley, Aug., 2001
Bosch, J., Design and use of software architectures, Addison-Wesley, 2000
Schmid, K., Scoping, Fraunhofer IESE, Analysis of, and Modeling for System-Families, June., 8, 2001
Choi, C., et al, 'A Systematic Methodology for Developing Component Frameworks,' M. Wermelinger and T. Margaria-Steffen (Eds.), FASE 2004, LNCS 2984, pp.359 - 373, 2004
Soo Dong Kim, Jin Sun Her, and Soo Ho Chang, 'A Theoretical Foundation of Variability in Component-Based Development,' Information and Software Technology (IST), Vol.47, p.663-673, July, 2005
※ AI-Helper는 부적절한 답변을 할 수 있습니다.