제품 계열 방법론
IT 위키
- Product Line Methodology; 제품계열 방법론; SPL; Software Product Line
- 특정 제품군에서 공통되는 부분을 핵심 자산으로 미리 만들어 두고, 제품마다 다른 부분만 조립해 개발하는 방법론
비슷한 제품을 여러 벌 만들어야 하는 조직에서 재사용을 체계적으로 하기 위한 접근이다.
| 유형 | 내용 |
|---|---|
| 구조적 방법론 | 기능을 중심으로 하향식 분할. 프로세스와 데이터를 분리해 다룬다. 나씨-슈나이더만 도표, 자료흐름도(DFD) |
| 정보공학 방법론 | 기업 전체를 대상으로 데이터 중심의 정보시스템을 구축. 데이터 모델링(ERD) 중심 |
| 객체지향 방법론 | 데이터와 기능을 객체로 묶어 다룬다. 캡슐화·상속·다형성. UML |
| 컴포넌트 기반 방법론(CBD) | 재사용 가능한 컴포넌트를 조립해 개발. 인터페이스 중심 |
| (제품계열 방법론) | 위의 재사용 개념을 제품군 단위로 확장한 것 |
- 비슷한 제품을 만들 때마다 처음부터 다시 개발하는 중복 투자를 없앤다
- 검증된 핵심 자산을 재사용하므로 품질이 올라가고 결함이 준다
- 신제품 출시 기간(Time to Market)이 짧아진다
- 유지보수 지점이 핵심 자산 한 곳으로 모인다
- 대량 맞춤(Mass Customization) 요구에 대응할 수 있다
- 임베디드·가전·통신 장비처럼 기종이 많은 분야에 특히 효과가 크다
| 구성요소 | 내용 |
|---|---|
| 영역공학(Domain Engineering) | 재사용할 것을 만드는 쪽. 제품군 전체를 분석해 공통성(Commonality)과 가변성(Variability)을 식별하고, 참조 아키텍처와 재사용 가능한 핵심 자산(Core Asset)을 개발한다 |
| 응용공학(Application Engineering) | 재사용하는 쪽. 개별 제품의 요구사항에 맞춰 핵심 자산을 가져다 쓰고, 가변점(Variation Point)을 설정하고, 제품 고유 부분만 추가로 개발한다 |
두 공학은 피드백 관계다. 응용공학에서 발견된 새 공통 요소는 다시 핵심 자산으로 올라간다.
- 공통성 — 제품군 전체가 공유하는 부분
- 가변성 — 제품마다 달라지는 부분. 피처 모델(Feature Model)로 표현한다
- 가변점 — 가변성이 실제로 반영되는 코드·설계상의 지점
