PLE의 정의
- 소프트웨어를 개발할 때 체계적인 재사용 기법을 적용함으로써 동일 영역에서 다양하게 특화된 소프트웨어를 신속하게 개발할 수 있는 효과적인 매커니즘을 제공하는 접근 방법
- 컴포넌트가 플러그인 될 수 있는 프레임워크를 제공하는 아키텍처를 기반으로 필요한 컴포넌트를 선택적으로 조립함으로써 시장의 요구사항에 맞는 시스템을 생산하는 방식
PLE의 등장 배경 - 컴포넌트 기반의 개발 자체가 재사용성을 높여주지 않음
- 재사용성을 고려해 주의 깊게 개발하지 않으면 컴포넌트를 재사용하기 어려움
PLE의 구성
- 핵심자산(Core Asset) 개발 과정
- 한 도메인에 속한 여러 어플리케이션들의 공통적인 Feature을 핵심자산으로 모델링하고, 이를 재사용할 수 있도록 구체화하는 작업
- 하나의 시스템 또는 유사한 시스템군의 유지보수성, 이해성, 사용성 및 재사용성 특성에 영향을 미침
- 어플리케이션 공학(Application Engineering) 과정
- 핵심자산을 각 어플리케니션의 요구사항에 맞게 인스턴스화하여 어플리케이션을 효과적으로 개발하는 과정
- 핵심자산에서 제공하지 않는 목표 어플리케이션의 일부 기능을 모델링하며 인스턴스화된 핵심자산과 통합하여 어플리케이션을 개발함
- 관리활동(Management)
- 성공적인 제품 계열 생산을 위해 기술적 측면과 관리적 측면에서 핵심 자산 개발과 제품 개발 활동을 관리
PLE의 특징 - 같은 계열의 소프트웨어들에서 공통적인 특징들을 추출하여 고품질의 재사용 가능한 핵심 자산을 만들고 그 안에서 특화될 수 있는 부분을 가변적인 특성으로 모델링함으로써 특정 영역에서 어플리케이션을 개발할 때보다 높은 재사용성을 제공함
- 공통으로 유사한 기능을 가지고 있는 시스템의 집합으로 특정 영역의 요구사항을 만족하는 미리 구축된 핵심 자산으로부터 정해진 방식으로 개발
- 제품 계열 아키텍처의 재사용성을 최대한 높이도록 모델링하는 것이 중요
PLE의 효과 - 여러 어플리케이션들이 공유할 수 있는 핵심자산을 사용하여 소프트웨어의 생산성을 높이고 재사용성을 증대
- 개발비용 감소를 통한 개발 효율성 향상 및 시장 적시성 향상
- 제품계열 역시 컴포넌트의 공급이나 조립과 같은 기술적이면 뿐만 아니라 새로운 요구사항에 맞추어 조립 공정을 바꿀 수 있는 아키텍처가 매우 중요하며, 이러한 변화에 신속히 적응할 수 있도록 조직을 관리하는 것이 필요함