[2023 정보처리기사] 2과목 – 8. 소프트웨어 버전 등록, 관리, 형상 관리

1. 소프트웨어 버전 등록

1. 1. *형상 관리(SCM) ★

: 소프트웨어의 개발 과정에서 변경사항을 관리하기 위해 개발된 일련의 활동

 – 소프트웨어 개발의 전 단계에 적용.

– 개발의 전체 비용을 줄이고 개발과정의 여러 방해 요인 최소화.

– 형상 관리를 통해 이전 리비전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용.

– 불필요한 사용자의 소스 수정 제한.

– 동일한 프로젝트에 대해 여러 개발자가 동시 개발 가능.

*형상: 소프트웨어의 각 과정에서 만들어지는 프로그램, 프로그램 설명문서, 데이터 등을 통칭.

1. 2. 형상 관리 기능 ★★

  • 형상 식별: 형상 관리 대상에 이름과 관리 번호를 부여하고, 계층 구조(Tree)로 구분해 수정 및 추적이 용이하도록 작업.
  • 형상 통제:  형상 변경 제안을 검토, 현재 소프트웨어 기준선에 반영하도록 통제.  ‌#형상통제위원회
  • 형상 감사: 기준선의 무결성을 평가하기 위해 확인⋅검증⋅검열 과정을 통해 공식저그로 승인하는 작업.
  • 형상 기록: 소프트웨어 형상 및 변경 관리에 대한 각종 수행 결과 기록.

1. 3. 소프트웨어 버전 등록 관련 용어

  • 저장소(Repository): 최신 버전의 파일들과 반경 내역에 대한 정보들이 저장되어 있는 곳.
  • 가져오기(Import): 버전 관리가 되고 있지 않은 아무것도 없는 저장소에 처음으로 파일을 복사.
  • 체크아웃(Check-Out): 프로그램을 수정하기 위해 저장소에서 파일을 받아옴.
  • 체크인(Check-In): 체크아웃 한 파일의 수정을 완료 후 저장소의 파일을 갱신.
  • 커밋(Commit): 체크인을 수행할 때 이전에 갱신된 내용이 있는 겨우 충돌을 알리고 diff도구를 이용해 수정 후 갱신 완료.
  • 동기화(Update): 저장소에 있는 최신 버전으로 동기화.

1. 4. 형상 관리, 버전 관리, 변경 관리

– *형상 관리 ⊇ *버전 관리 ⊇ *변경 관리

*형상 관리: 프로젝트 진행 상황, 빌드, 릴리즈 모두 관리 할 수 있는 통합 시스템

*버전 관리: 번경 이력을 추적⋅관리.

*변경 관리: 소스 코드의 변경 상황을 관리.

 

2. 소프트웨어 버전 관리 도구

2. 1. 공유 폴더 방식 ★

: 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리.

– 개발자들은 개발 완료 파일을 약속된 공유 폴더에 매일 복사.

– 담당자는 고유 파일의 폴더에 파일을 자신의 PC로 복사한 후 이상유무를 확인.

– 네트워크 연결 시에만 개발 가능.

Ex) RCS, SCCS, PVCS, QVCS

2. 2. 클라이언트 / 서버 방식 ★

: 버전 관리 자료가 서버에 저장되어 관리.

– 서버의 자료를 개발자별로 자신의 PC에 복사해 작헙 후 변경 내용을 반영.

– 모든 버전 관리는 서버에서 수행.

– 서버에 문제 발생 시 작업 중단. 네트워크 연결 시에만 개발 가능.

Ex) *SVN, CVS, CVSNT

*CVS: 공동 개발을 편리하게 작업할 수 있도록 버전관리를 도와주는 시스템.

*SVN: CVS를 개선하여 아파치 소프트웨어 재단에서 2000년에 발표. 

1. 3. 분산 저장소 방식 ★

: 버전 관리 자료가 하나의 *원격 저장소와 분산된 개발자PC의 *로컬 저장소함께 저장되어 관리.

– 개발자별로 *원격 저장소의 자료를 자신의 *로컬 저장소로 복사해 작업한 후 변경된 내용을 로컬 저장소에 우선 반영한 다음 원격 저장소에 반영.

– 네트워크 연결 없이도 개발 가능.

Ex) Git, GNU arch, DCVS

*원격 저장소: 여러 사람들이 협업을 위해 버전을 공동 관리하는 곳. 자신의 버전 관리 내역을 반영(Push)하거나 다른 개발자의 변경 내용을 가져올 때(Fetch)사용.

*로컬 저장소: 개발자들이 본인의 실제 개발을 진행하는 장소로 버전관리가 수행됨.

Leave a Comment