FORM 방법론으로 피처 기반 소프트웨어 제품 라인 설계하기
FORM 방법론의 피처 모델, 공통성·가변성 관리, 도메인 공학과 애플리케이션 공학의 연결 방식을 정리한다.
2026-08-14 · 최초 발행 2026-04-17
제품군의 차이를 피처로 관리하는 FORM
비슷한 목적의 제품을 여러 개 개발할 때, 각 제품의 차이를 개별 코드베이스에서 따로 관리하면 재사용 범위가 빠르게 줄어든다. FORM(Feature-Oriented Reuse Method)은 이런 제품군을 대상으로 공통 기능과 제품별 차이를 피처 단위로 모델링하고, 이를 바탕으로 핵심 자산을 구축하는 방법론이다.
FORM은 소프트웨어 제품 라인 공학(Product Line Engineering, PLE)의 접근을 분석과 설계에 적용한다. 도메인 안에서 반복되는 특성은 공통 자산으로, 제품마다 달라지는 특성은 선택과 조합의 대상으로 다룬다.
단순한 컴포넌트 재사용이 이미 만든 결과물을 사후에 활용하는 방식이라면, FORM은 도메인 분석부터 재사용을 전제로 한다. 개발 전에 핵심 자산(Core Assets)을 준비하고, 새 제품에서는 검증된 자산을 조합해 구성한다.
피처 모델이 담는 공통성·가변성
피처 모델(Feature Model)은 도메인 전문가와 사용자가 바라보는 기능을 계층적으로 표현하는 도구다. 제품군 전체에 반드시 포함되는 기능과 제품별로 달라질 수 있는 기능을 같은 모델 안에서 다룬다.
공통성(Commonality)은 제품군의 모든 제품이 공유하는 필수 기능이다. 이는 핵심 자산의 기반이므로 도메인 분석 단계에서 분명하게 정의해야 한다.
가변성(Variability)은 제품에 따라 선택되거나 다른 기능으로 대체될 수 있는 부분이다. FORM은 이를 선택적 피처(Optional Feature), 대체적 피처(Alternative Feature), 다중 선택 피처 등으로 구분해 표현한다. 복잡한 업무 규칙도 기능의 선택 관계로 드러낼 수 있다.
피처는 다음 관점으로 분석된다.
- 서비스 피처(Service Feature): 사용자가 인지하는 기능적 요구사항
- 운용 피처(Operating Feature): 시스템의 운용 환경 및 물리적 특성
- 도메인 피처(Domain Feature): 특정 업무 도메인의 전문 지식 및 정책
- 구현 피처(Implementation Feature): 실제 코드로 구현되는 하위 모듈 및 알고리즘
선택 제약을 아키텍처까지 연결한다
피처를 나열하는 것만으로는 제품 조합의 일관성을 보장할 수 없다. FORM에서는 피처 사이의 종속 관계와 제약 조건도 함께 분석한다. 어떤 피처를 선택하면 반드시 포함해야 하는 피처(Inclusion), 동시에 사용할 수 없는 피처(Exclusion)를 명시해 구성 가능한 제품의 범위를 관리한다.
기존 소프트웨어 컴포넌트를 피처 모델에 매핑하면 재사용 대상을 코드 조각에 한정하지 않을 수 있다. FORM이 지향하는 것은 아키텍처 수준에서 핵심 자산을 재사용하는 구조다. 피처 모델의 선택 규칙과 컴포넌트 구성이 연결되면, 제품별 차이를 반영하면서도 공통 자산의 일관성을 유지할 수 있다.
도메인 지식이 제품 구성으로 이어지는 흐름
FORM은 도메인 공학(Domain Engineering)과 애플리케이션 공학(Application Engineering)이 순환하는 구조를 가진다.
도메인 공학에서는 도메인 지식을 추출해 피처 모델을 만들고, 이를 지원할 공통 아키텍처를 설계한다. 여기서 만들어진 모델, 아키텍처, 재사용 컴포넌트가 이후 제품 개발에 활용할 핵심 자산이 된다.
애플리케이션 공학에서는 고객 요구사항에 맞춰 핵심 자산 저장소에서 필요한 피처를 선택(Binding)하고 구성한다. 피처 모델에 정의된 가변성 규칙에 따라 컴포넌트를 조합하므로, 제품별 요구를 반영하는 과정에서 중복 코딩을 줄일 수 있다.
요구 변화에 대응하는 가변성 관리
소프트웨어 수명 주기 동안 제품별 요구와 옵션은 계속 늘어난다. FORM은 이 변화를 개별 제품의 예외 처리로 남기기보다 아키텍처 차원에서 관리한다.
새 요구사항이 들어오면 그것이 도메인 공통 사항인지 특정 제품에만 필요한 가변 사항인지 구분할 수 있다. 제품 옵션은 피처 모델이라는 단일 창구에서 관리하므로 운영 복잡도를 낮추는 데도 도움이 된다. 또한 도메인 전문가의 암묵지는 피처 모델과 아키텍처로 표현되어 조직의 지식 자산으로 축적된다.
FORM은 도메인 지식을 피처 단위로 정리하고, 핵심 자산을 제품별 구성에 연결하는 제품 라인 공학 기법이다. 정형적인 피처 분석과 가변성 관리를 통해 재사용 범위와 제품 구성의 일관성을 함께 다룬다.
Sources
- Kang, K. C., et al. "FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures."
- Software Product Line Engineering: Foundations, Principles and Techniques.
- 도메인 분석 및 재사용을 위한 공학 방법론 연구 자료.