소프트웨어공학

SW 개발 방법론_소프트웨어 프로덕트 라인(software product lines)

스윙스윙 2021. 9. 21. 18:18

▣ 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를 만들어내자는 접근방법