[정보처리기사 실기] 12. 제품 소프트웨어 패키징-Chapter 3. 제품 소프트웨어 버전 등록

Study/정보처리기사

[정보처리기사 실기] 12. 제품 소프트웨어 패키징-Chapter 3. 제품 소프트웨어 버전 등록

tnddj1219 2022. 2. 1. 17:36
728x90

정리 내용은 [수제비 2020 정보처리기사 실기]책을 기반으로 작성하였습니다.

 

2020 수제비 정보처리기사 실기(1권+2권 합본세트)

NCS 반영! 출제기준으로 전면개편한 교재이다. NCS 기반 반영 문제(예상문제 340제, 단원종합문제 360제, 모의고사 100제, 2020년기출문제)를 수록하였다. 수제비는 합격만을 위한 다양한 학습 콘텐츠


1. 제품 소프트웨어 패키징 형상 관리

개념
소프트웨어 변경 사항을 체계적으로 추적하고 통제하는 관리 기법

변경 통제 시점(Baseline)을 정하고, 변경을 철저히 관리 통제하는 것이 중요. 전체적인 버전 체계 관리

 

중요성
제품 소프트웨어는 지속적으로 변경되는데 이에 대한 개발 통제가 중요
관리가 잘 되지 않으면배포판 버그 및 수정에 대한 추적의 결여 및 무절제한 변경이 난무할 수 있다.
형상 관리가 잘 되지 않으면 제품 소프트웨어의 가시성 결핍이 일어남

 

제품소프트웨어 형상 관리 역할
관리 유용: 형상관리를 통해 이전 리비전이나 버전에 대한 정보에 언제든지 접근 가능하여 배포본 관리에 유용
동시 개발: 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능
빠른 복구에러가 발생했을 경우 빠른 시간 내 복구 가능
S적시 공급: 사용자의 요구에 따라 적시에 최상의 SW 공급

 

제품소프트웨어 형상 관리 역할
SW 
개발과 관련하여 코드와 라이브러리, 관련 문서 등 시간의 변화에 따라 변경 관리 하는 전체 활동 의미
최종 인증을 패키징 버전에 한하여 컴포넌트 저장소에 등록
등록된 컴포넌트는 권한을 부여받은 사용자에 의하여 사용될 수 있음

 

버전 관리 도구의 버전관리 항목

버전관리항목 설명
가져오기(import) 버전이 관리되지 않은 로컬 디렉토리 파일을 처음으로 저장소에 복사
추가(add) 개발자가 신규로 어떤 파일을 저장소에 추가
체크아웃(check-out) 저장소 파일 열기
체크인(check-in) 저장소에 새로운 버전으로 갱신
업데이트(update) 커밋 작업 이후 새로운 개발자가 자신의 작업 공간을 동기화
커밋(commit) 체크인 시 이전 갱신 사항이 있을 경우 충돌 알림, diff 도구 이용 수정, 커밋 과정 수행
저장소(Repository) 파일의 현재 버전과 변경 이력 정보를 저장하는 저장소
차이(Diff) 새로운 개발자가 추가된 파일의 수정기록을 보면서 기존 개발자가 처음 추가한 파일과 변경된 파일의 차이를 확인


2. 소프트웨어 버전관리 도구

개념
형상 관리 지침을 활용하여 제품 소프트웨어의 신규 개발, 변경, 개선과 관련된 수정사항 관리하는 도구
소프트웨어 개발과 관련하여 코드와 라이브러리, 관련 문서 등 시간의 변화에 따른 변경을 관리하는 전체 활동

 

버전관리 도구 유형

버전관리항목 설명
공유폴더 방식
(RCS, SCCS)
매일 개발이 완료된 파일은 약속된 위치의 공유폴더에 복사하는 방식
담당자 한 명이 매일 공유 폴더의 파일을 자기 PC로 복사 컴파일 하여 에러 확인 과 정상 동작 여부 확인
정상 동작일 경우 다음날 개발자가 동작 여부 학인
클라이언트/서버 방식
(CVS, SVN)
중앙 버전 관리 시스템을 항상 동작시킴
개발자들의 현재 작업 내용과 이전 작업 내용 축적에 용이
서로 다른 개발자가 같은 파일을 작업했을 때 경고 메시지 출력
분산저장소 방식
(Git, Bitkeeper 등)
로컬 저장소와 원격 저장소로 분리된 구조
중앙의 저장소에서 로컬 파일 복사(Clone) 한 순간 개발자 자신만의 로컬 저장소 생성
개발 완료 파일을 수정 로컬 저장소에 우선적으로 커밋 다시 원격 저장소에 반영

버전관리 도구별 특징

버전관리항목 설명
CVS
(Concurrent 
Versions System)
서버와 클라이언트로 구성되어 다수의 인원이 동시에 범용적인 운영체제로 접근하여 버전관리가 가능한 도구
SVN(Servision) 하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있게 도와주는 도구
저장소를 만들어 그곳에 소스를 저장해 소스 중복이나 여러 문제를 해결하기 위한 도구
RCS(Revision 
Control System)
CVS와 달리 소스파일 수정을 한 사람만을 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일 잠금 방식으로 버전을 관리하는 도구
Bitkeeper SVN과 비슷한 통제 방식. 대규모 프로젝트에서 빠른 속도를 내도록 개발된 버전관리도구
Git 속도에 중점을 둔 버전관리 시스템. 대형 프로젝트에서 효과적으로 유용
커밋동작은 로컬 저장소에서 이루어짐 푸시동작은 원격저장소에 반영
로컬저장소에서 작업이 이루어져 매우 빠른 응답 받을 수있음
전체 기록과 각 기록을 추적할 수 있는 정보를 포함하는 완전한 형태 저장소
Clear Case 복수 서버, 복수 클라이언트 구조. 서버가 부족할 때 필요한 서버를 하나씩 추가하여 확장성을 가할 수 있음


소프트웨어 버전관리 도구 사용시 유의사항
1. 버전에 대한 쉬운 정보 접근성: 형상관리 지침에 의한 버전에 대한 정보를 언제든지 접근할 수 있어야 함
2. 불필요한 사용자에 대한 접근 제어: 제품 소프트웨어 개발자, 배포자 이외에 불필요한 사옹자가 소스 수정할 수 없도록 해야 함
3. 동일 프로젝트에 대한 동시 사용성: 동일한 프로젝트에 대해서 여러 개발자가 동시에 개발할 수 있어야 함
4. 빠른 오류 복구: 에러 발생 시 최대한 빠른 시간 내에 복구가 가능해야 함

 

소프트웨어 버전 관리 도구의 활용방안
제품 소프트웨어 개발 조직이나 이미 배포된 제품이 있는 조직에서는 보유 제품 버전과 새로 개발된 버전을 동시에 유지 관리해야 함
버전 관리 도구 상세 기능을 이용하여 새 버전을 유지하면서 기존 버전관리도 함께 수행
백업 및 장애 복구 등의 추가적 상항도 Case 별로 고려해야 함

728x90