소프트웨어 패키징의 형상 관리(SCM; Software Configuration Management)
- 형상 관리(SCM)는 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다.
- 형상 관리는 소프트웨어 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행된다.
- 형상 관리는 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.
- 형상관리는 오류 수정이나 제품의 지속적인 기능 향상을 위해서 소프트웨어의 변경내역을 개발 단계에서부터 지속적으로 관리하는 것을 의미한다.
*형상 : 소프트웨어 개발 단계의 각 과정에서 만들어지는 프로그램, 프로그램을 설명하는 문서, 데이터 등을 통칭하는 말입니다.
- 형상 관리 기능
▷형상 식별
형상 관리 대상에 이름과 관리 번호를 부여하고, 계층(Tree) 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업
▷버전 제어
소프트웨어 업그레이드나 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리하고, 이를 위해 특정 절차와 도구(Tool)를 결합시키는 작업
▷형상 통제
식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선(Baseline)이 잘 반영될 수 있도록 조정하는 작업
▷형상 감사
기준선의 무결성을 평가하기 위해 확인, 검증, 검열 괒정을 통해 공식적으로 승인하는 작업
▷형상 기록
형상의 식별, 통제, 감사 작업의 결과를 기록하고 관리하고 보고서를 작성하는 작업
*기준선 Base Line (변경 통제 시점) : 기준선은 정식으로 검토되고 합의된 명세서나 제품으로, 소프트웨어 개발 시 소프트웨어 변경을 적절히 제어할 수 있도록 도와줍니다.
*무결성 : 무결성은 결점이 없다는 것으로, 정해진 기준에 어긋나지 않고 조건을 충실히 만족하는 정도라고 이해할 수 있습니다.
◆소프트웨어의 버전 등록 관련 주요 기능
◇저장소 Repository
최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳
◇가져오기 Import
버전관리가 되고 있지 않은 아무것도 없는 저장소(Repsitory)에 처음으로 파일을 복사함
◇체크아웃 Check-Out
프로그램을 수정하기 위해 저장소에서 파일을 받아옴
소스 파일과 함께 버전 관리를 위한 파일들도 받아옴
◇체크인 Check-In
체크아웃 한 파일의 수정을 완료한 후 저장소의 파일을 새로운 버전으로 갱신함
◇커밋 Commit
체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에는 충돌(Conflict)을 알리고, diff 도구를 이용해 수정한 후 갱신을 완료함
◇동기화 Update
저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화함
*diff 도구 : diff 도구는 비교 대상이 되는 파일들의 내용(소스 코드)을 비교하며 서로 다른 부분을 찾아 표시해 주는 도구
◆소프트웨어 버전 등록 과정
가져오기(Import) → 인출(Check-Out) → 예치(Commit) → 동기화(Update) → 차이(Diff)
1. 가져오기 Import
개발자가 저장소에 신규로 파일을 추가함
2. 인출 Check-Out
수정 작업을 진행할 개발자가 저장소에 추가된 파일을 자신의 작업 공간으로 인출함
3. 예치 Commit
인출한 파일을 수정한 후 설명을 붙여 저장소에 예치함
4. 동기화 Update
커밋(Commit) 후 새로운 개발자가 자신의 작업 공간을 동기화(Update)함. 이때 기존 개발자가 추가했던 파일을 전달함
5. 차이 Diff
새로운 개발자가 추가된 파일의 수정 기록(Change Log)을 확인하면서 이전 개발자가 처음 추가한 파일과 이후 변경된 파일의 차이를 확인함
*이전 개발자들의 수정 내역을 확인하고 싶을 때 diff 명령을 사용합니다.
'공부 및 교육 > 정보처리기사 실기 이론' 카테고리의 다른 글
C언어와 JAVA 자바언어 - 특징, 차이점, 비교 (0) | 2023.03.06 |
---|---|
빌드 자동화 도구 - Jenkins, Gradle (0) | 2023.03.05 |
관계형 데이터베이스의 구조/ 관계형 데이터 모델 (0) | 2023.03.03 |
소프트웨어 개발 방법론 테일러링 (0) | 2023.03.03 |
소프트웨어 개발 표준 - ISO/IEC 12207, CMMI (능력 성숙도 통합 모델), SPICE (소프트웨어 처리 개선 및 능력 평가 기준) (0) | 2023.03.02 |
댓글