개발자꿈나무
소프트웨어 형상 관리 본문
- 소프트웨어 패키징의 형상 관리 (SCM; Software Configuration Management)
- 소프트웨어의 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동들
- 소프트웨어 변경의 원인을 알아내고 제어하며 적절히 변경되고 있는지 확인하여 해당 담당자에게 통보
- 소프트웨어 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행
- 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것이 목적!
- 관리 항목에는 소스 코드뿐만 아니라 프로젝트 계획, 분석서, 설계서, 지침서, 테스트 케이스 등이 포함
- 대표적인 형상 관리 도구 : Git, CVS, Subversion 등 - 형상 관리의 중요성
- 지속적인 소프트웨어의 변경 사항을 체계적으로 추적하고 통제할 수 있음
- 제품 소프트웨어에 대한 무절제한 변경을 방지할 수 있음
- 제품 소프트웨어에서 발견된 버그나 수정 사항을 추적할 수 있음
- 가시성을 보장함으로써 진행 정도를 확인하기 위한 기준으로 사용될 수 있음
- 소프트웨어의 배포본을 효율적으로 관리할 수 있음
- 소프트웨어를 협업해서 동시에 개발할 수 있음 - 형상 관리 기능
- 형상 식별 : 형상 관리 대상에 이름과 관리 번호를 부여하고 계층 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업
- 버전 제어 : 소프트웨어 업그레이드나 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리하고, 이를 위해 특정 절차나 도구를 결합시키는 작업
- 형상 통제 (변경 관리) : 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선이 잘 반영될 수 있도록 조정한느 작업
- 형상 감사 : 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업
- 형상 기록 (상태 보고) : 형상의 식별, 통제, 감사 작업의 결과를 기록 관리하고 보고서를 작성하는 작업 - 소프트웨어의 버전 등록 관련 주요 기능
항목 | 설명 |
저장소 (Repository) | 최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳 |
가져오기 (Import) | 버전 관리가 되고 있지 않은 아무것도 없는 저장소에 처음으로 파일을 복사 |
체크아웃 (Check-Out) | 프로그램을 수정하기 위해 저장소에서 파일을 받아옴 소스 파일과 함께 버전 관리를 위한 파일들도 받아옴 |
체크인 (Check-In) | 체크아웃한 파일의 수정을 완료한 후 저장소의 파일을 새로운 버전으로 갱신 |
커밋 (Commit) | 체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에는 충돌을 알리고diff도구를 이용해 수정한 후 갱신을 완료 |
동기화 (Update) | 저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화 |
* 프로그램마다 차이는 있지만 보통 이러한 과정을 거친다
[가져오기] : 개발자가 저장소에 신규로 파일을 추가 -> [체크아웃] : 수정 작업을 진행할 개발자가 저장소에 추가된 파일을 자신의 작업 공간으로 체크아웃 -> [커밋] : 수정을 완료한 후 설명을 붙여 저장소에 커밋 -> [동기화] : 커밋 후 새로운 개발자가 자신의 작업 공간을 동기화하며 기존 개발자가 추가했던 파일이 전달 -> [차이] : 새로운 개발자가 추가된 파일의 수정 기록을 확인하면서 이전 개발자가 처음 추가한 파일과 이후 변경된 파일의 차이를 확인
728x90
'CS > 소프트웨어공학' 카테고리의 다른 글
빌드 자동화 도구 (0) | 2024.01.09 |
---|---|
소프트웨어 버전 관리 방식, Git, SVN (1) | 2024.01.09 |
UI 테스트 기법의 종류 (0) | 2024.01.09 |
UI 설계 도구 (0) | 2024.01.09 |
사용자 인터페이스 (UI) (2) | 2024.01.08 |