개발자꿈나무

소프트웨어 형상 관리 본문

CS/소프트웨어공학

소프트웨어 형상 관리

망재이 2024. 1. 9. 18:34
  • 소프트웨어 패키징의 형상 관리 (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