1. 공유 폴더 방식
- 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식
- 개발이 완료된 파일을 약속된 공유 폴더에 매일 복사한다
- 담당자는 파일을 자기 PC로 복사해서 컴파일로 이상 유무를 확인한다
- 오류가 확인되면, 해당 파일을 등록한 개발자에게 수정 의뢰
- 이상이 없다면 다음날 각 개발자들이 동작 여부를 다시 확인
- 파일의 변경 사항을 데이터베이스에 기록 관리
- 종류 : SCCS, RCS, PVCS, QVCS
2. 클라이언트/서버 방식
- 버전 관리 자료가 중앙 시스템(서버)에 저장되어 관리되는 방식
- 서버 자료를 개발자별로 자신의 피씨로 복사하여 작업한 후 변경된 내용을 서버에 반영
- 모든 버전 관리는 서버에서 수행
- 하나의 파일을 서로 다른 개발자가 작업할 경우 경고 메시지를 출력
- 서버에 문제가 생기면, 서버가 복구되기 전까지 다른 개발자와의 협업 및 버전 관리 중단
- 종류 : CVS, SVN, CVSNT, Clear Case, CMVC, Perforce
3. 분산 저장소 방식
- 하나의 원격 저장소와 분산된 개발자 PC의 로컬 저장소에 함께 저장되어 관리되는 방식
- 개발자별로 원격 저장소 자료를 가져와 작업한 후 변경된 내용을 로컬 저장소에서 우선 반영(버전 관리)한 다음 이를 원격 저장소에 반영
- 종류에는 Git, GNU arch, DCVS, Bazzar, Mercurial, TeamWare, Bitkeeper, Plastic SCM
4. Subvision(SVN)
- CVS를 개선한 것
- 아파치 소프트웨어 재단에서 2000년 발표함
- 클라이언트/서버 구조로, 서버에는 최신 버전의 파일들과 변경 내역이 관리 됨
- 서버 자료를 클라이언트로 복사해와 작업한 후 변경 내용을 서버에 반영
- 모든 개발 작업은 trunk 디렉터리에서 수행되며, 추가 작업은 branches 디렉터리 안에 별도의 디렉터리를 만들어 작업을 완료한 후 trunk 디렉터리와 병합한다
- 커밋할 때마다 리비전이 1씩 증가
- 서버는 주로 유닉스
- 오픈 소스
5. Git
- 리누스 토발즈가 2005년 리눅스 커널 개발에 사용할 관리 도구로 개발함
- 주니오 하마노에 의해 유지 보수되는 중
- 분산 버전 관리 시스템으로 2개의 저장소(로컬, 원격 저장소)가 존재
- 지역 -> 개발자들이 실제 개발을 진행, 버전 관리 수행됨
- 원격 저장소 -> 협업을 위해 버전을 공동 관리하는 곳
- 브랜치를 이용하면 기본 버전 관리 틀에 영향을 주지 않으면서 다양한 형태의 기능 테스팅 가능
- 파일 변화를 스냅샷으로 저장, 스냅샷은 이전 포인터를 가지므로 버전의 흐름 파악 가능
'Study > 정보처리기사' 카테고리의 다른 글
053 애플리케이션 테스트 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |
---|---|
052 빌드 자동화 도구 - 3장 제품 소프트웨어 패키징 - 2과목 소프트웨어 개발 (0) | 2022.01.24 |
050 소프트웨어 버전 등록 - 3장 제품 소프트웨어 패키징 - 2과목 소프트웨어 개발 (0) | 2022.01.24 |
049 소프트웨어 사용자 매뉴얼 작성 - 3장 제품 소프트웨어 패키징 - 2과목 소프트웨어 개발 (0) | 2022.01.24 |
048 소프트웨어 설치 매뉴얼 작성- 3장 제품 소프트웨어 패키징 - 2과목 소프트웨어 개발 (0) | 2022.01.24 |