형상 관리(SCM : Software Configuration Management)는 소프트웨어의 개별 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다.
소프트웨어 변경의 원인을 알아내고 제어하며, 적절히 변경되고 있는지 확인하여 해당 담당자에게 통보한다.
형상 관리는 소프트웨어 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행된다.
형상 관리는 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.
지속적인 소프트웨어 변경 사항을 체계적으로 추적, 통제할 수 있음
제품 소프트웨어에 대한 무절제한 변경 방지
제품 소프트웨어에서 발견된 버그나 수정 사항 추적 가능
소프트웨어는 형태가 없어 가시성이 결핍되므로 진행 정도를 확인하기 위한 기준으로 사용될 수 있음
형상 관리를 품질 보중을 위한 중요한 요소로서 다음과 같은 기능을 수행한다.
형상 식별
버전 제어
형상 통제(변경 관리)
형상 감사
형상 기록(상태 보고)
저장소(Repository) : 최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳
가져오기(Import) : 버전 관리가 되고 있지 않은 아무것도 없는 저장소(Repository)에 처음으로 파일을 복사
체크아웃(Check-Out) : 프로그램을 수정하기 위해 저장소(Repository)에서 파일을 받아옴, 소스파일과 함께 버전 관리를 위한 파일들도 받아옴
체크인(Check-In) : 체크아웃 한 파일의 수정을 완료한 후 저장소(Repository)의 파일을 새로운 버전으로 갱신
커밋(Commit) : 체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에는 충돌(Conflict)을 알리고 diff 도구를 이용해 수정한 후 갱신을 완료
동기화(Update) : 저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화
소프트웨어 버전 등록 과정