형상관리(Configuration Management)란?

춘식이 개발로그·2022년 3월 27일
0

위키피디아 : 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, 형상 관리는 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 이야기한다.

형상관리는 변경사항을 체계적으로 추적, 통제한다는 것. 이 말은 어떤 문서나 파일이 변경 되었을 경우 변경된 내역을 기록하였다가 나중에 이를 찾아보아야 할 경우, 변경 원인과 변경 사항을 확인해야 할 경우에 대한 관리를 말한다.

많이 쓰이는 곳은 소프트웨어 개발에서 많이 쓰이지만 꼭 이에 대해서만 쓰는 것은 아니다. 예를 들어 회사 내에서 정책 문서가 있을 경우 이에 대한 변화와 왜 변경되었는지를 기록, 추후에 동일한 변경이 필요한 경우 이에 대한 과거 변경 요인들을 확인하기 위해서도 사용한다.문서의 표지 다음, 목차보다 먼저 등장하여 변경사항을 기록하도록 하는 페이지를 많이 보았을 것이다.

소프트웨어 개발에서 많이 사용하게 된 것을 혼자 개발하는 경우에는 문서 변경과 같은 이력 조회로써 사용할 수 있지만 여러 사람이 함께 개발하는 경우 이에 대한 내역 확인이 필수이다. 버전을 확인하여 변경사항을 확인 하고 이에 대해서 반영 및 수정하는 과정이 발생한다.
또한 혼자 개발하는 경우에는 버전의 충돌이 발생하지 않지만 똑같은 파일을 다른 사람과 공유하여 개발하고 있을 경우 이에 대한 충돌 해결로도 많이 사용된다.

GitHub에서 프로그램솟가 이전 버전과 현재 버전이 어떻게 변화 되었는지 확인 할 수 있다. (적색 - 과거, 녹색 - 현재)

소프트웨어 개발에서 사용하는 형상관리 도구의 종류

  1. CVS(Concurrent Version System)
  • 1980년대에 만들어진 형상관리 도구로서 가장 오랫동안 사용되었으며 안정적이지만 파일관리 중 롤백이 되지 않거나 아스키코드를 지원하며 유니코드는 제한적으로 지원하고 속도가 상대적으로 느린 단점을 가지고 있다.
  1. SVN(Subversion)
  • CVS의 단점을 보완하기위해 2000년에 만들어진 형상관리 도구로 중앙관리만을 지원하는 특징을 가지고 있다. change set을 커밋단위로 하여 다른 사용자의 커밋과 엉키지 않고 롤백 기능을 지원한다. 처리속도가 CVS에 비해 상대적으로 빠르다. 하지만 잦은 커밋은 리비전 번호가 크게 증가할 수 있으며 개별 이력을 관리할 수 없는 단점을 가지고 있다.
  1. GIT
  • 2005년 개발된 형상관리 도구로 매우 빠른 속도를 가지고 있으며 분산형 관리 시스템을 가지고 있다. 다른 형상관리 도구에 비해 다양한 기능을 지원하며 최근 가장 대중화되어 사용되고 있다. 처음 사용시 다른 도구에 비해 사용법을 숙지하는데 어려움을 가질 수 잇으나 로컬 관리와 중앙 관리가 모두 가능하여 장소에 구애받지 않고 협업을 가능케 한다.

요약.

  • 문서나 파일이 수정 되었을 때 변경사항을 추적, 통제 하여 나중에 찾아봐야 할 때 변경 이유나 변경 사항을 확인해야 할 경우에 대한 '관리'를 말함.
  • Git, SVN 등이 형상관리 도구의 종류다.

참고 글

https://smoothroutine.tistory.com/104
https://sujinnaljin.medium.com/software-engineering-%ED%98%95%EC%83%81-%EA%B4%80%EB%A6%AC%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-932d14f6f341
https://eroul-ri.tistory.com/3

0개의 댓글