출제기준 단원 「소프트웨어 버전관리 도구」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.
묻는 꼴
문제 수
무엇을 묻나
개념 정의 고르기
1
형상관리의 본질적 의미(무엇을 관리하는지) 선택
잘못된 설명 고르기(역할·대상·절차)
1
형상관리의 역할·관리 대상·절차 중 잘못된 항목 찾기
도구 기능 예외 고르기
1
형상관리 도구의 주요 기능에 해당하지 않는 것 선택
뜻
소프트웨어 버전관리 도구는 동시에 소스를 수정하는 것을 방지하고, 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있게 한다. 대표적인 도구로 RCS(Revision Control System)가 있으며, Git·SVN 같은 형상 관리 도구가 이 범주에 속한다. 형상 관리 도구의 주요 기능은 커밋(코드 저장), 체크아웃(코드를 가져와 수정), 체크인(수정 후 다시 저장) 등 코드 변경 이력 관리다.
버전관리는 형상관리(Configuration Management)와 직결된다. 형상관리는 소프트웨어 개발 과정에서 발생하는 변경사항을 체계적으로 관리하기 위해 개발된 일련의 활동으로, 요구 분석서·설계 문서·소스 코드·설치 지침서 같은 기술적 산출물의 변경 이력을 기록하고 통제한다. 형상 통제 단계에서는 변경 요구를 즉시 수용하지 않고 영향을 분석한 뒤 변경 통제 위원회(CCB)의 심사를 거쳐 승인된 변경만 반영한다. 형상관리는 버전 추적, 동시 개발 지원, 접근 권한 제한으로 협업 효율을 높이지만 프로젝트 비용 관리는 직접적인 역할이 아니며, 개발 비용 같은 재무 데이터는 관리 항목에 포함되지 않는다.
도구 분류 문제도 빈출한다. Ant, Maven, Gradle은 소스 코드를 컴파일하고 패키징하는 빌드 자동화 도구이지 형상 관리 도구가 아니며, Git, Subversion(SVN)이 버전 관리의 대표 도구다. 정규화(Normalization)는 데이터베이스 설계 기법으로 형상 관리 도구의 기능과는 거리가 멀다.
예제
시험에서는 '동시 수정 방지와 변경 추적 기능을 제공하는 버전 관리 도구는?'처럼 약자를 묻는 문제가 나오는데 정답은 RCS다(RTS·RPC는 통신 관련, RVS는 표준 도구가 아니다). '형상 관리 도구의 주요 기능으로 거리가 먼 것은?'에서는 정규화가 오답 보기로 나오고, '형상 관리 설명으로 거리가 먼 것은?'에서는 Ant, Maven, Gradle이 빌드 도구라는 이유로 정답(틀린 설명)이 된다. '형상 통제는 변경 요구를 즉시 수용·반영한다'는 보기도 CCB 심사 절차를 무시하므로 틀린 설명으로 골라야 한다.
대표 기출 3문항
소프트웨어 형상 관리의 의미로 적절한 것은?
비용에 관한 사항을 효율적으로 관리하는 것
개발 과정의 변경 사항을 관리하는 것
테스트 과정에서 소프트웨어를 통합하는 것
개발 인력을 관리하는 것
정답과 해설 보기
정답 ② · 소프트웨어 형상 관리의 의미로 적절한 것을 고르는 문제이다. 형상 관리는 소프트웨어 개발 과정에서 발생하는 변경 사항을 체계적으로 식별, 기록, 통제하는 활동으로, 버전 관리와 밀접한 관련이 있으며 소프트웨어의 무결성과 추적성을 보장한다.
소프트웨어 형상 관리는 개발 과정에서의 변경 사항을 체계적으로 추적하고 관리하는 활동입니다.
형상 관리 도구의 주요 기능으로 거리가 먼 것은?
정규화(Normalization)
체크인(Check-in)
체크아웃(Check-out)
커밋(commit)
정답과 해설 보기
정답 ① · 소프트웨어 형상 관리 도구가 지원하는 핵심 기능의 범주를 묻는 문제이다. 정규화는 관계형 데이터베이스 설계에서 데이터 중복을 최소화하고 이상 현상을 방지하기 위해 개체를 분해하는 기법이므로 형상 관리와 무관하다.
형상 관리 도구는 버전 관리, 체크인/아웃, 커밋 등 코드 변경 이력을 추적하는 기능을 하며, 데이터베이스 정규화는 관련이 없다.
제품 소프트웨어의 형상 관리 역할로 틀린 것은?
형상 관리를 통해 이전 리버전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용
불필요한 사용자의 소스 수정 제한
프로젝트 개발비용을 효율적으로 관리
동일한 프로젝트에 대해 여러 개발자 동시 개발 가능
정답과 해설 보기
정답 ③ · 제품 소프트웨어 개발 과정에서 형상 관리가 수행하는 실제 역할과 적용 범위를 묻는 문제이다. 형상 관리는 소스 코드 및 산출물의 변경 내역, 버전, 작업 이력과 변경 통제를 담당하는 기법이며, 프로젝트 개발 비용을 직접 관리하고 결산하는 것은 프로젝트 관리나 회계의 영역이다.
형상 관리(SCM)는 버전 추적, 동시 개발, 접근 제어를 통해 협업 효율을 높이지만, 프로젝트 비용 자체를 직접 관리하는 기능은 포함되지 않는다.