형상 관리 (SCM) - 4가지 활동과 도구(CVS·SVN·Git)

SW개발통합구현형상관리
읽는데 5분 소요
처음 쓰여진 날: 2026-04-29
마지막 수정일: 2026-04-29
조회수:

요약

정보처리기사 실기 시험에서 자주 등장하는 소프트웨어 형상 관리(SCM, Software Configuration Management)의 정의, 4가지 활동(형상 식별·통제·감사·기록), 베이스라인 개념, 대표 도구(CVS, SVN, Git)를 정리하고 기출문제로 마무리합니다.

형상 관리(SCM, Software Configuration Management) 는 소프트웨어 개발 생명주기 동안 발생하는 산출물(소스 코드·문서·설정 파일 등)의 변경 사항을 체계적으로 추적·통제하여 무결성을 유지하는 활동입니다. 4가지 활동(식별·통제·감사·기록)으로 구성되며 대표 도구로 CVS, SVN, Git 이 있습니다.

용어키워드
형상 관리(SCM)변경 사항 추적·통제, 무결성 유지, 도구: CVS·SVN·Git
베이스라인(Baseline)공식 검토·합의를 거친 형상 항목의 기준선
형상 식별관리 대상(형상 항목) 정의 및 베이스라인 설정
형상 통제변경 요구를 검토·승인하여 베이스라인에 반영
형상 감사베이스라인의 무결성·일관성 확인
형상 기록형상 항목의 변경 이력 기록·보고

형상 관리란? 쌩기초

형상 관리(SCM, Software Configuration Management) 는 소프트웨어 개발 과정에서 발생하는 변경 사항을 체계적으로 추적·통제하는 기법입니다.

소프트웨어 프로젝트는 시간이 흐르면서 소스 코드, 설계 문서, 빌드 설정, 테스트 스크립트 등 수많은 산출물이 끊임없이 변경됩니다. 누가, 언제, 어떤 이유로 무엇을 바꿨는지 기록되지 않으면 누가 마지막 수정자인지 모르는 코드, 재현 불가능한 빌드, 사라진 설계 결정 같은 문제가 발생합니다.

형상 관리는 이런 산출물을 형상 항목(Configuration Item) 으로 식별해 변경 이력을 남기고, 변경 요청을 통제하며, 어느 시점의 산출물 모음으로도 다시 빌드·배포할 수 있도록 보장합니다.

대표 도구는 CVS, SVN, Git 같은 버전 관리 시스템(VCS)입니다.


베이스라인(Baseline) 기초

베이스라인(Baseline) 은 공식 검토와 합의를 거쳐 확정된 형상 항목의 모음으로, 이후 변경의 기준이 되는 기준선입니다.

  • 베이스라인이 설정되면 그 안의 형상 항목은 임의로 수정할 수 없으며, 반드시 정해진 절차(형상 통제)를 거쳐야 변경할 수 있습니다.
  • 프로젝트 단계마다 요구사항 베이스라인 → 설계 베이스라인 → 제품 베이스라인 식으로 단계별 베이스라인이 누적됩니다.
  • 베이스라인이 있어야 "어느 시점의 어떤 산출물 묶음"인지 명확해지며, 회귀(regression) 시 비교 기준이 됩니다.

형상 관리 4가지 활동 기초

형상 관리는 4가지 활동으로 구성되며, 각 활동은 베이스라인의 무결성을 유지하기 위한 서로 다른 역할을 합니다.

활동역할핵심 키워드
형상 식별(Identification)관리 대상(형상 항목)을 정의하고 베이스라인을 설정식별, 베이스라인 설정
형상 통제(Control)변경 요구를 검토·승인하여 베이스라인에 반영변경 요구 검토·승인, CCB
형상 감사(Audit)베이스라인의 무결성·일관성을 확인검증, 감사
형상 기록(Status Accounting)형상 항목의 변경 이력을 기록·보고변경 이력, 보고서

1. 형상 식별 (Configuration Identification)

  • 어떤 산출물을 형상 항목으로 관리할지 결정하고 식별자를 부여합니다.
  • 베이스라인을 정의하여 변경 통제의 기준을 마련합니다.

2. 형상 통제 (Configuration Control)

  • 변경 요청(CR, Change Request)이 들어오면 변경 통제 위원회(CCB, Change Control Board) 가 영향도·일정·비용을 검토하고 승인 또는 기각합니다.
  • 승인된 변경만 베이스라인에 반영됩니다. "변경 요구를 검토·승인하여 베이스라인에 반영"이라는 지문이 나오면 형상 통제입니다.

3. 형상 감사 (Configuration Audit)

  • 베이스라인이 요구사항을 충족하는지, 형상 항목의 무결성과 일관성이 유지되는지 검증합니다.
  • 기능 감사(FCA, Functional Configuration Audit), 물리 감사(PCA, Physical Configuration Audit)로 나뉩니다.

4. 형상 기록 (Status Accounting)

  • 형상 항목의 식별 정보, 변경 이력, 베이스라인 상태를 기록·보고하여 누구나 현재 상태를 추적할 수 있도록 합니다.

형상 관리 도구 기초

형상 관리 도구는 소스 코드와 산출물의 변경 이력을 추적·통제하는 버전 관리 시스템(VCS, Version Control System) 을 가리킵니다. 시험에서 자주 등장하는 도구는 다음 세 가지입니다.

도구풀네임분류특징
CVSConcurrent Versions System중앙 집중식초기 오픈소스 VCS. 파일 단위 버전 관리
SVNSubversion중앙 집중식CVS의 한계를 보완. 디렉토리·메타데이터 버전 관리
GitGit분산형(DVCS)로컬 저장소를 가진 분산 버전 관리. 현재 표준

중앙 집중식 vs 분산형

  • 중앙 집중식(Centralized VCS): CVS, SVN. 단일 중앙 서버에 모든 이력이 저장되며 클라이언트는 서버에 의존합니다. 서버 장애 시 작업이 어려워집니다.
  • 분산형(Distributed VCS): Git, Mercurial. 모든 개발자가 전체 이력을 가진 로컬 저장소를 보유합니다. 오프라인 작업과 빠른 분기·병합이 가능합니다.

오답 함정으로 자주 등장하는 보기는 JVM(자바 가상 머신), JUnit(단위 테스트 프레임워크), AVL(이진 검색 트리), Ada(프로그래밍 언어), RCS_GIT(존재하지 않는 도구) 등이며, 모두 형상 관리 도구가 아닙니다.


정보처리기사 실기 기출문제

관련 글

(14개)
제목태그시험
EAI와 ESB - 기업 애플리케이션 통합
인터페이스
-
테스트 레벨(단위, 통합, 시스템, 인수 테스트)과 V 모델
테스트
-
테스트 케이스 구성 요소
테스트
-
형상 관리 (SCM) - 4가지 활동과 도구(CVS·SVN·Git) | 정처기 감자