▣ SW 개발 방법론_소프트웨어 프로덕트 라인(software product lines)
- Domain Specific하게 재사용할 단위인 Core Assets을 미리 개발 하고,
실제 Product 를 개발하는 것은 이미 재사용의 단위로써 만들어진
Core Assets 을 이용하여 여러 Products를 만들어내자는 접근방법
- 도메인 공학으로 제품간의 공통성과 가변성을 추출하여 Core Asset개발
- 특정 시장이나 사업 전략에 구분되는 공통적인 기능 집합(Platform)을 가지는 제품
- 컴포넌트가 조립될 수 있는 프레임워크를 제공하는 아키텍처를 기반으로,
필요한 컴포넌트를 선택적으로 조립함으로써 시장의 요구사항에 맞는 시스템을 생산 하는 방식
■ 소프트웨어 프로덕트 라인의 구성 요소
구분 | 내용 |
Core Asset (부품개발) Development |
- Domain engineering / 핵심자산 개발과정 - 플랫폼 개발, 공통부/가변부의 관리 - 한 도메인에 속한 여러 어플리케이션들의 공통적인 Feature(기능)을 핵심자산으로 모델링하고, 이를 재사용할 수 있도록 구체화하는 작업 - 프로젝트 초반에는 해당 domain의 핵심적인 업무인 core process를 선행 개발하여, production을 위한 핵심전략 및 architecture의 prototyping 수행 |
Product Development | - Application Engineering - 제품 적용/개발, 제품 특화된 가변부의 적용 - Core Asset을 각 어플리케이션의 요구사항에 맞게 Instance화하여 어플리케이션을 효과적으로 개발하는 과정 - Core Asset에서 제공하지 않는 목표 어플리케이션의 일부 기능을 모델링하며 Instance화된 Core Asset과 통합하여 어플리케이션을 개발함 - 안정적인 핵심 전략/방안의 정제과정을 위해서는 반드시 별도의 조직이 존재 |
Management | - 플랫폼 개발과 제품 적용/개발의 연동(프로세스/조직) - 성공적인 제품 계열 생산을 위해 기술적 측면과 관리적 측면에서 Core Asset개발과 제품 개발 활동을 관리 - 기술적 관리: 형상관리, 프로세스 개선, 기술적 코칭 - 조직적 관리: 조직관계, 운영, 조직계획, 반복 및 core asset과 Product development의 조율(orchestrates) |
정답 : 4번
항상 동일한 방식으로 구성하면서도 고객별 요구사항 충족 재사용 가능한 컴포넌트 포트폴리오 등 SPL 의 개념을 설명하고 있음
- Domain Specific하게 재사용할 단위인 Core Assets을 미리 개발 하고, 실제 Product 를 개발하는 것은 이미 재사용의 단위로써 만들어진 Core Assets 을 이용하여 여러 Products를 만들어내자는 접근방법