스물두줄

정보관리기술사 · 개념서 · 소프트웨어 공학

제품계열 방법론

설명 영상 제품계열 방법론 · 2:04

왜 배우는가: 제품계열 방법론은 유사 제품군을 공통 자산 재사용으로 효율적으로 만드는 방법이라, 정보관리기술사 시험에서 2교시·4교시·1교시에 걸쳐 반복 출제되었다. 개념 정의, 필요성, 구성요소를 함께 묻는 경향이 있어 정의와 원리를 정확히 익혀야 한다.

출제 이력: 제136회 2교시 4번, 제118회 4교시 1번, 제98회 1교시 1번

1. 한 줄 정의와 핵심 키워드

답안 첫 줄에 쓸 정의는 다음과 같다.

제품계열 방법론은 공통 자산(Core Asset)을 재사용해 유사한 소프트웨어 제품군을 체계적으로 생산하는 개발 방법론이다.

이 정의는 SEI(Software Engineering Institute)가 제시한 제품계열의 개념, 즉 공통 관리 기능 집합과 핵심 자산에서 제품을 계획적으로 만든다는 의미를 따른다. 제품계열 방법론의 핵심 키워드는 다음과 같다.

  • 제품계열(Product Line)
  • 공통 자산(Core Asset)
  • 공통성(Commonality)과 가변성(Variability)
  • 도메인 엔지니어링(Domain Engineering)
  • 애플리케이션 엔지니어링(Application Engineering)
  • 계획적 재사용(Planned Reuse)
  • 특징 모델(Feature Model)

2. 개념 풀이

쉽게 말하면, 비슷한 제품을 여러 개 만들 때 매번 처음부터 만들지 않고 공통으로 쓰는 부품과 설계를 먼저 만들어 두고, 고객별로 다른 부분만 바꿔 끼워 완성하는 방식이다. 자동차 한 플랫폼에서 여러 車種을 만드는 것과 같은 원리다.

정식 정의는 다음과 같다. 제품계열 방법론은 동일 도메인 안에서 공통 특징을 공유하는 소프트웨어 시스템 집합을, 공통 자산 집합을 미리 정해진 방식으로 활용해 생산하는 소프트웨어 공학 방법이다. 카네기멜런대 SEI는 이를 특정 시장 세그먼트나 임무의 요구를 만족하는 공통적이고 관리되는 특징 집합을 공유하는 소프트웨어 집약 시스템 집합으로 정의한다.

핵심 용어는 다음과 같이 풀이한다.

공통성(Commonality)은 제품계열의 모든 제품이 공유하는 기능과 구조다. 제품계열의 공통 부분은 재사용 대상이 되어 코어 자산에 담긴다.

가변성(Variability)은 제품마다 다르게 선택되거나 바뀌는 부분이다. 가변점(Variation Point)에서 여러 변종(Variant) 중 하나가 선택된다.

도메인 엔지니어링(Domain Engineering)은 공통 자산을 만드는 단계다. 도메인 분석, 공통 아키텍처 설계, 컴포넌트 개발을 포함한다.

애플리케이션 엔지니어링(Application Engineering)은 도메인 엔지니어링의 자산을 사용해 개별 제품을 만드는 단계다. 제품별 요구에 맞게 가변 부분을 바인딩한다.

3. 등장 배경과 필요성

소프트웨어 개발은 단일 제품을 한 번 만드는 방식에서 유사한 제품을 반복해 만드는 방식으로 바뀌었다. 단일 시스템 중심의 재사용은 코드 조각 수준에 머물러 효과가 제한적이었다. 같은 도메인의 제품들이 요구 사항, 아키텍처, 테스트 자산을 함께 공유하지 못해 중복 개발이 계속 발생했다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 단원 읽기