형상관리 소프트웨어는 한번 만들어졌다고 해서 그걸로 끝나는 것이 아니다. 환경의 변화나 기술의 변화에 따라 지속적으로 변경이 이루어지기 때문이다. 그렇지만 새로 적용한 방식, 변화가 완벽하기만 한 것은 아닐 것이다. 따라서 특정 소프트웨어가 변화해 온 과정, 이력을 관리하는 것이 필요하다. 형상관리란 이런 소프트웨어의 변경사항을 체계적으로 관리하는 것을 의미한다. 버전관리 버전관리는 동일한 정보에 대한 여러 버전을 관리하는 것이다. 소프트웨어공학에서는 일반적으로 소스 코드만을 관리하는 것을 버전관리라고 정의한다. 이보다 더 세밀한 개념으로 변경관리가 있는데, 변경관리는 '소스코드'의 변경사항을 관리하는 것이고 버전관리는 이러한 변경사항을 '버전'이라는 개념을 통해 관리한다는 점에서 그 차이가 있다. 형상..