[- Disclaimer -]
아래 내용은 정보보안 공부 목적으로 작성된 것이나, 이를 토대로 허가되지 않은 대상에 실습을 진행할 경우 해킹 시도로 간주하여 법적 처벌을 받을 수 있음을 알려 드립니다.
SCM (=Software Configuration Management, 형상 관리, Version 관리)
✦ S/W 개발 과정의 모든 단계(유지 보수 단계 포함)에서 만들어지는 형상들의 변경 사항 관리
✦ 형상
✧ S/W 계발 단계 각 과정에서 만들어지는 프로그램, 프로그램 설명 문서, Data 등 총 통칭
✧ S/W 변경 원인 파악 및 제어, 추적 가능성
✧ Source Code 뿐 아니라 정의서, 지침서, 분석서 등 포함
✧ 비용 감소 및 실마리를 통해 개발 방해 요소 최소화
형상 관리 기능
✦ 품질 보증의 요소가 됨
✧ 형상 식별: 형상 관리 대상에 이름 및 관리 번호 부여, Tree 구조로 인해 수정 및 추적 용이
✧ Version 제어: 상이한 Version의 형상 항목 관리 및 통합
✧ 형상 통제 (=변경 관리): 식별된 형상 항목에 대한 변경 요구를 검토해 Base Line이 잘 반영되도록 조정
✧ Base Line (=기준선, 변경 통제 시점): 정식으로 검토 및 합의된 명세서나 제품으로 변경 제어를 도와 줌
✧ 형상 감사: Base Line의 무결성 평가를 확인, 검증, 검열 과정을 통해 공식 승인 됨
✧ 형상 기록 (=상태 보고): 형상 식별, 통제, 감사 작업 결과를 기록 및 관리하여 보고서 작성
S/W Version 등록 과정 주요 기능
✦ Repository
✧ 최신 파일 및 변경 내역 정보들이 있는 저장소
✦ Import
✧ 빈 Repository에 첫 파일 복사
✦ Checkout
✧ Repository에서 파일 받기: Source Code와 Version 관리용 파일 포함
✦ Checkin
✧ Repository에서 받아온 파일을 새 Version으로 갱신
✦ Commit
✧ Checkin 전 갱신된 내용이 있을 경우 충돌을 알리며 diff로 수정 후 적용(적용??)
✦ Update
✧ Remote Repository의 최신 Version으로 동기화
diff
✦ 비교 대상이 되는 파일/Source Code에서 서로 다른 부분 표시 Tool
✧ 수정 내역 확인 시 유용
S/W Version 관리 방식
✦ 공유 폴더 방식 공유 폴더 문제 발생 시 강아지망
✧ Ex) SCCS, RCS, PVCS, QVCS 등
✦ Client/Server 방식
✧ Server 문제 발생 시 강아지망
✧ Ex) CVS, SVN, CVSNT, Clear Case, CMVC, Perforce 등
✦ 분산 저장소 방식
✧ Remote Repository의 내용을 Local Repository로 받은 뒤 작업하다가 변경 사항 반영 후 다시 Remote Repository에 반영
✧ Remote Repository에 문제가 발생해도 Local Repository 내용으로 작업 가능
✧ Ex) Git, GNU arch, DCVS, Bazaar, Mercurial, TeamWare, Bitkeeper, Plastic SCM 등



