공부/정보처리기사

2020년 정보처리기사 실기 정리 #12

셩잇님 2022. 11. 18. 22:38
반응형

제품 소프트웨어 패키징

개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정

 

제품 소프트웨어 패키징 특징

전체 내용을 포함
설치와 사용에 필요한 과정 및 환경 등의 전체 내용을 포함하는 매뉴얼을 작성


버전 관리 / 릴리즈 노트
제품 SW에 대한 패치 개발과 업그레이드 수행
고객 편의성을 위해 신규/변경 이력을 확인하고 이를 버전 관리 및 릴리즈 노트를 통해 지속적으로 관리


고객 중심
제품 SW 패키징은 고객 편의성 중심
제품 SW는 개발자가 아닌 사용자 중심으로 진행


모듈화
신규 및 변경 개발 소스를 식별하고 이를 모듈화하여 패키징

 

모듈화

모듈을 이용해 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 SW 설계 기법

 

모듈

SW 설계에서 기능 단위로 분해하고 추상화되어 재사용 및 공유 가능한 수준으로 만들어진 단위

 

모듈화의 장점

개발 편의성
프로그램의 효율적인 관리, 오류의 파급 효과를 최소화
전체적인 SW 이해의 용이성 증대, SW 시험, 통합, 수정 시 용이성 증대
모듈의 재사용 가능으로 개발과 유지보수가 용이


복잡성 감소
기능의 분리가 가능하고 인터페이스가 단순해진다.
복잡도 감소로 인한 성능 향상

 

제품 소프트웨어 모듈 빌드 기법

소프트웨어 빌드는 소스 코드 파일을 컴퓨터에서 실행할 수 있는 제품 소프트웨어의 단위로 변환하는 과정
대표적인 도구로 Ant, Make, Maven, Gradle 등의 빌드 도구들이 있다.

 

사용자 중심의 모듈 패키징 작업 수행 (기모빌 사적변)

프로세스 : 기능 식별
프로세스 설명 :

1. 기능 수행을 위한 입출력 정의
2. 소스 기능을 통해 처리되는 데이터 정의
3. 전체적인 기능 정의 및 데이터 흐름
4. 소스 내부 메인 함수의 기능 식별, 데이터의 흐름 및 출력 절차 확인
5. 함수에 대한 상세 정의
6. 메인 함수 이외의 호출 함수를 정의해 이에 대한 출력값 식별

 


프로세스 : 모듈화
프로세스 설명 :

1. 기능 단위 및 서비스 분류
2. 모듈로 분류할 수 있는 기능 및 서비스 단위로 분류
3. 기능의 공유와 재활용 분류
4. 여러번 호출되는 공유, 재활용 함수 분류
5. 모듈 간 결합도와 응집도 식별
6. 모듈화를 위해 결합도, 응집도를 식별해 모듈화 수행 준비

 

프로세스 : 빌드 진행
프로세스 설명 :

1. 개발 소스 및 컴파일 결과물 준비
2. 빌드 진행을 위한 신규 소스 및 결과물 준비
3. 정상 기능 단위 및 서비스 분류
4. 정상으로 빌드가 되는 기능 및 서비스를 사전 분류
5. 빌드 도구 확인 및 정상 수행
6. 빌드 도구의 사전 선택 확인 및 빌드 도구를 통한 빌드 수행
7. 도구의 다양한 기능 확인
8. 컴파일 이외의 에디터 CI 도구 등 관련 도구 기능 확인

 

프로세스 : 사용자 환경 분석
프로세스 설명 :

1. 최소 사용자 환경 사전 정의
2. 패키징 수행 시 실제 사용할 User의 사용자 환경을 사전 정의
3. 사용자 환경 테스트
4. 수행한 모듈화 결과에 따른 사용자 테스트를 수행

 

프로세스 : 패키징 적용 시험

프로세스 설명 : 
1. 사용자 환경에서의 패키징 적용 시험
2. 사용자 환경과 같은 상황으로 패키징을 적용해 SW 테스팅 수행
3. UI 및 시스템 편의성 체크
4. SW가 UI 및 시스템 환경과 다른 부분, 불편한 부분 체크

 

프로세스 : 패키징 변경 개선
프로세스 설명 :

1. 패키징 적용 시 변경부분 도출
2. 사용자 입장을 반영해 재 패키징을 대비해 변경 부분 정리
3. 서비스 가능한 수준의 개선
4. 현재 사용자 환경 내에서 가능한 최소 수준 개선 포인트를 도출
5. 개선 버전 재배포
6. 도출된 변경점을 기준으로 모듈, 빌드 수정을 하고 재배포 수행

 

릴리즈 노트

조직의 최종 사용자인 고객에게 잘 정리된 릴리즈 정보를 공유하는 문서

 

릴리즈 노트의 중요성

정보 제공
릴리즈 노트에는 테스트 결과와 정보가 포함, 사용자에게 더 자세하고 확실한 정보 제공
최종 릴리즈 노트에는 테스트 진행과정, 개발 팀 제공 사양 준수 정도를 파악할 수 있음
기본적으로 전체적인 제품의 수행 기능 및 서비스의 변화를 공유


관리의 용이성
자동화 개념과 함께 적용 및 전체적인 버전 관리 및 릴리즈 정보를 체계적으로 관리

 

릴리즈 노트 작성 항목

헤더
문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전등의 정보

 

개요
제품 및 변경에 대한 간략한 전반적 개요

 

목적
릴리즈 버전의 새로운 기능 목록과 릴리즈 노트 목적에 대한 개요, 버그 수정 및 새로운 기능 기술


이슈 요약
버그의 간단한 설명 또는 릴리즈 추가 항목 요약


재현 항목
버그 발견에 따른 재현 단계 기술


수정/개선 내용
수정/개선의 간단한 설명 기술


사용자 영향도
버전 변경에 따른 최종 사용자 기준의 기능 및 응용 프로그램 상 영향도 기술


SW 지원 영향도
버전 변경에 따른 SW 지원 프로세스 및 영향도 기술


노트
SW 및 HW 설치 항목, 제품, 문서를 포함한 업그레이드 항목 메모


면책 조항
회사 및 제품과 관련된 메시지, 프리웨어 및 불법 복제 방지 등에 대한 고지사항


연락 정보
사용자 지원 및 문의에 관련한 연락처 정보

 

릴리즈 노트 예외 케이스

테스트 단계에서의 베타 버전 출시
제품 SW의 차기 버전이나 신규 버전의 베타 버전 테스트 단계에서도 릴리즈 버전으로 정보를 체크해 릴리즈 노트를 작성


긴급 버그 수정 시
긴급히 버그가 수정되면 작성을 놓치는 경우가 많기 때문에 버그 번호를 포함한 모든 수정된 버그를 기술해 릴리즈 노트에 추가


자체 기능 향상을 포함한 모든 추가 기능의 향상
자체적으로 기능 개선을 완료했을 때, 정식으로 릴리즈 버전을 추가하고, 이에 따른 신규 릴리즈 노트 작성


사용자 요청에 따른 특이한 케이스 발생
제품 SW가 사용자에 배포 됨에 따라 기존에 배포된 릴리즈 노트의 연락처 정보를 통해 사용자 의견이 접수된 경우

 

릴리즈 노트 작성 프로세스(모정개 영정추)

프로세스 : 모듈 식별
프로세스 설명 :

1. 릴리즈 노트 작성을 위한 모듈 및 빌드 정리
2. 입출력 데이터, 전체 기능 정의, 데이터 흐름 정리
3. 기능 단위 및 출력에 대한 상세 정의


프로세스 : 릴리즈 정보 확인
프로세스 설명 :

1. 문서 이름, 제품 이름 정보 확인
2. 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전 확인


프로세스 : 릴리즈 노트 개요 작성
프로세스 설명 :

1. 제품 및 변경에 대한 간략한 전반적인 개요 작성
2. 개발 소스의 빌드에 따른 결과물 기록 버전 및 형상관리에 대한 전반적인 노트 기록


프로세스 :  영향도 체크

프로세스 설명 : 
1. 버그의 간단한 설명 또는 릴리즈 추가 항목 기술
2. 버그 발견을 위한 재현 테스트 및 재현 환경을 기록
3. SW 및 사용자 입장 영향도 파악


프로세스 : 정식 릴리즈 노트 작성

프로세스 설명 : 
1. 릴리즈 정보 및 헤더, 개요 등 기본사항 기술
2. 정식 버전을 기준으로 릴리즈 노트 개요 작성
3. 이슈, 버그 등 개선 내용 기술


프로세스 : 추가 개선 항목 식별

프로세스 설명 : 
1. 추가 개선에 대한 베타 버전을 이용한 테스트 수행
2. 테스트 중 발생한 긴급 버그 수정, 추가 기능 향상을 위해 작은 기능 수정
3. 사용자 요청에 따른 추가 개선

 

제품 소프트웨어 패키징 도구

패키징 작업 시에 암호화/보안 기능을 고려해 패키징을 할 수 있도록 도와준다

 

제품 소프트웨어 패키징 도구

배포를 위한 패키징 시에 디지털 콘텐츠 지적 재산권을 보호하고 관리하는 기능을 제공하며, 안전한 유통과 배포를 보장하는 도구이자 솔루션

 

패키징 도구 활용 시 고려사항

암호화/보안 고려
패키징 시 사용자에게 배포되는 SW임을 감안해 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려


이기종 연동 고려
패키징 도구를 활용해 여러 가지 이기종 콘텐츠 및 단말기 간 DRM 연동 고려


사용자 편의성 고려
패키징 도구를 고려해 사용자 입장에서 불편해질 수 있는 문제를 고려해 최대한 효율적으로 적용


적합한 암호화 알고리즘 적용
암호화 알고리즘이 여러 종류가 있는데 제품 SW 종류에 맞는 알고리즘을 선택해 배포 시 범용성에 지장이 없도록 고려

 

저작권

창작물인 저작물에 대한 배타적 독점 권리로 타인의 침해를 받지 않을 고유한 권한

 

디지털 저작권 관리(DRM) - 저작권 관리 구성요소

콘텐츠 제공자
콘텐츠를 제공하는 저작권자


콘텐츠 분배자
쇼핑몰 등으로써 암호화된 콘텐츠 제공


패키저
콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능


보안 컨테이너
원본을 안전하게 유통하기 위한 전자적 보안 장치


DRM 컨트롤러
배포된 콘텐츠의 이용 권한을 통제


클리어링 하우스
키 관리 및 라이선스 발급 관리

 

디지털 저작권 관리(DRM) - 패키징 도구 구성

암호화
일반 텍스트, 콘텐츠, 라이선스 등의 암호화 및 전자서명에 사용하는 기술
예) 공개 키 기반구조, 대칭 및 비대칭 암호화, 전자 서명


키 관리
콘텐츠를 암호화한 키에 대한 저장 및 배포 기술


식별 기술
콘텐츠에 대한 식별 체계 표현 기술

예) DOI, URI


저작권 표현
라이선스의 내용 표현 기술

예) XrML, MPEG-21


암호화 파일 생성
콘텐츠 암호화를 통해 콘텐츠를 보호하는 기술
예) Pre-packaging, On-the-Fly Packaging


정책 관리
라이선스 발급 및 사용에 대한 정적표현 및 관리기술

예) XML, CMS


크랙 방지
크랙에 의한 콘텐츠 사용 방지 기술

예) 난독화, Secure DB


인증
라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술

예) SSO

 

패키징 도구 구성 세부 항목

암호화
공개 키 기반구조
공개 키 암호 방식 기반으로 디지털 인증서를 활용하는 SW, HW, 사용자, 정책 등 제도 등을 총칭하는 암호기술

 

대칭 및 비대칭 암호화
대칭 암호화는 암호화와 해독을 위해 동일한 키를 사용하는 암호화 방식


전자서명
서명자를 확인해 서멍져가 당해 전자문서에 서명했다는 사실을 나타내기 위해 특정 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보


식별 기술
DOI
디지털 저작물에 특정한 번호를 부여하는 일종의 바코드 시스템


URL
인터넷에 있는 자원을 나타내는 유일한 주소


저작권 표현
XrML
디지털 콘텐츠 / 웹 서비스 권리 조건을 표현한 XML 기반의 마크업 언어


MPEG-21
멀티미디어 관련 요소 기술들이 통일된 형태로 상호 운용성을 보장하는 멀티미디어 표준 규격


암호화 파일 생성
Pre-packaging
콘텐츠를 등록하자마자 암호화 하는 방법


On-the-fly-Packaging
사용자가 콘텐츠를 요청한 시점에 콘텐츠를 암호화하는 방법


정책 관리
XML
다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 언어


CMS
콘텐츠 관리 시스템은 다양한 미디어 포맷에 따라 각종 콘텐츠를 작성, 수집, 관리, 배급하는 콘텐츠 생산에서 활용, 폐기까지 전 공급 과정을 관리하는 기술


크랙 방지
코드 난독화
역공학을 통한 공격을 막기 위해 프로그램의 소스 코드를 알아보기 힘든 형태로 바꾸는 기술


Secure DB
커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술


인증
SSO
한 번의 시스템 인증을 통해 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 기술

 

애플리케이션 배포 도구를 활용한 배포 프로세스 (빌실수 설배정)

빌드 내용 식별
릴리즈 노트 작성을 위한 모듈 및 빌드 정의, 기능 단위 및 출력에 대한 상세 정의, 입출력 데이터, 전체적인 기능 정의, 데이터 흐름 정리


패키징 도구 식별
패키징 도구의 사전 선택, 암호/보안 기능 확인

DRM 흐름을 확인하여 패키징 수행
콘텐츠 분배자, 배포자, 소비자간 DRM 흐름 확인
패키징 수행 시 키 관리, 보안 개념 확인하여 수행

패키징 도구 설치
환경에 맞게 패키징 도구 설치 작업 진행
패키징 도구 설치 완료 후 정상 동작 확인

배포 작업
패키징 도구 설치 이후 제품 SW 배포 작업 진행
배포 후 최종 패키징 완료 확인

정상 배포 확인
암호화/보안 기능 적용 확인
제품 SW 배포본 기준으로 암호화/보안 기능 체크리스트 확인

 

제품 소프트웨어 매뉴얼

제품 SW 개발 단계부터 적용한 기준이나 패키징 이후 설치 및 사용자 측면의 주요 내용 등의 기록한 문서

 

제품 소프트웨어 설치 매뉴얼

사용자가 제품을 구매한 후 최초 설치 시 참조하는 매뉴얼

 

제품 SW 설치 매뉴얼 기본 작성 항목 (목이주검)

목차 및 개요
매뉴얼 전체 내용을 순서대로 요약
설치 매뉴얼의 주요 특징, 구성과 설치법, 순서 등에 대해 기술


문서 이력정보
매뉴얼 변경 이력에 대한 정보를 버전별로 표시


설치 매뉴얼 주석
설치 매뉴얼 주석으로 주의 사항, 참고 사항이 존재
주의 사항 : 사용자가 제품 설치 시 반드시 숙지해야 하는 중요 정보 주석 표시
참고 사항 : 설치 관련해 영향을 미치는 특별한 사용자 환경 및 상황에 대한 내용 주석 표시


설치 도구의 구성
exe / dll/ ini / chm 해당 설치 관련 파일 설명
폴더 및 설치 프로그램 실행 파일 설명

 

제품 SW 설치 환경 체크 항목

사용자 환경
CPU 및 메모리, OS 등의 적합 환경 확인


응용 프로그램
설치 전 다른 응용프로그램 종료 확인


업그레이드 버전
업그레이드 이전 버전에 대한 존재 유무 확인


백업 폴더 확인
데이터 저장 폴더를 확인해 설치 시 동기화

 

제품 SW 설치 매뉴얼 구성요소 (개파절아 삭버고준)

제품 SW 개요
제품 SW의 주요 기능 및 UI 설명

UI 및 화면상의 버튼, 프레임을 도식화하여 설명


설치 관련 파일
제품 SW를 설치하기 위한 관련 파일 설명
설치 구동을 위한 exe 실행 파일, ini나 log 파일 같은 관련 파일


설치 절차
제품 SW 설치를 위한 상세 절차 설명 설치 디렉토리, 위치 설명

 

설치 아이콘

윈도즈 구동용 설치 아이콘 설명

 

삭제 방법
제품 SW 사제 시 원래대로 삭제하는 방법 설명

 

설치 버전 및 작성자
제품 SW 릴리즈 버전 및 작성자 정보

 

고객 지원 방법 및 FAQ
설치 관련해 기술적인 지원이나 제품 서비스를 받을 수 있는 유선 및 이메일
설치 시 자주 발생하는 오류 및 처리 방법에 대한 요약 설명

 

준수 정보 & 제한 정보
시리얼 보존, 불법 등록 사용 금지 등의 준수 사항 권고
저작권 정보 관련 사항 작성

 

제품 SW 설치 매뉴얼 작성 프로세스 (개유 설삭 이최)

개요 및 기능 식별
제품 SW 개발 목적 및 제품의 전체적인 기능 식별

UI 분류
설치를 위한 화면 및 메뉴 분류, UI 정의서에 기초한 메인 항목 분류
설치 매뉴얼에 작성될 순서대로 UI 분류

설치/백업 파일 확인
실제 제품 설치 파일 및 백업 파일명 확인
제품을 설치할 파일 및 백업 파일 명의 폴더 위치 확인
실행, 환경, 로그, 백업 등의 다양한 파일들을 확인하고 기능 숙지

삭제 절차 확인
제품 제거를 고려해 삭제 파일 절차 확인
삭제 이후 설치 전 상태로의 원복을 최종 확인

이상 유형 확인
설치에 대한 이샹 유형에 대한 테스트 수행
다양한 이상 현상 발생 시 이에 따른 메시지 정리
유형별로 발생하는 메시지가 정상적인지 확인

최종 매뉴얼 적용
최종 설치 정상 완료 시 결과를 캡처 후 최종 매뉴얼에 적용

 

제품 SW 사용자 매뉴얼

개발이 완료된 제품 SW를 고객에게 전달하기 위한 형태로 패키징하고, 설치와 사용에 필요한 제반 절차 및 환경 등 전체 내용을 포함하는 매뉴얼이다.

 

제품 SW 설치 매뉴얼 기본 작성 항목 (목이주항사고준)

목차 및 개요
매뉴얼 전체 내용을 순서대로 요약, 제품 SW의 주요 특징 정리
사용자 매뉴얼에서의 구성과 실행 방법, 메뉴에 대한 설명을 비롯 하용법, 각 항목에 따른 점검 기준, 설정 방법 등에 대해 기술


문서 이력정보
버전, 작성자, 작성일, 검토자, 일시 등 일자별로 기록


사용자 매뉴얼 주석
주의사항과 참고사항으로 구성
주의 사항 : 사용자가 숙지해야 하는 중요 정보의 주석 표시
참고 사항 : 특별한 사용자 환경 및 상황에 대한 내용 주석 표시


기록항목
제품 명칭, 모델명, 문서번호, 제품 번호 등의 기록항목이 있음


시본사항
제품 SW 기본사항에는 개요, 사용법, 관리법, 모델, 버전별 특징 등이 있음


고객 지원 방법 및 FAQ
설치 관련 기술 지원과 제품 서비스를 받을 수 있는 유선 이메일, 홈페이지 주소


준수 정보 & 제한 보증
시리얼 보존, 불법 사용 금지 등의 준수 사항 권고

 

제품 SW 사용자 매뉴얼 작성 프로세스 (작사구검)

작성 지침 정의
사용자 매뉴얼을 작성하기 위한 지침 설정
사용자 매뉴얼은 실제 사용자 환경에 필요한 정보를 제공할 수 있는 형태로 작성

사용자 매뉴얼 구성요소 정의
제품 SW의 기능, 구성 객체 목록, 객체별 메서드, 파라미터, 실 사용 예제, 사용자 환경 세팅 방법 등의 사용자 매뉴얼 구성요소별 정의

구성요소별 내용 작성
제품 SW 구성요소별 내용 작성

사용자 매뉴얼 검토
작성된 사용자 매뉴얼이 개발된 제품의 기능을 제대로 설명하는지, 제품 사용 시 부족한 정보가 없는지 등을 검사
해당 기능별 관련 개발자와 함께 기능 내용이나 인터페이스, 메서드의 파라미터 등을 검토

 

제품 소프트웨어 배포본

배포 정보를 포함한 개발된 컴포넌트 또는 패키지가 제품화된 문서

 

미디어 제작 시 포함 항목

버전 정보
제품 SW 패키징 버전 정보를 포함


요구 사항
시스템이 설치되고 운영되기 위한 HW, SW 사양을 포함


설치 방법
설치 및 운영을 가능하게 하는 방법 포함


새로운 기능
이전 버전에 비해 나아진 기능 포함


알려진 오류/대처 방법
현재까지 개발된 시스템의 오류를 기술하고 대처 방안이 있으면 함께 포함


제약사항
현재까지 개발된 시스템이 설치, 운영 상에서 어떤 제약사항이 있다면 함께 포함

 

제품 소프트웨어 배포용 미디어 제작하기 (선관설 검정인)

프로세스 : 배포용 미디어 선정
프로세스 설명 :

1. 미디어 선정
2. 온라인, 오프라인을 조사해 배포용 미디어 선정
3. 미디어 작성용 SW, HW 제작
4. 미디어 작성은 SW 및 HW를 포함하여 제작

 

프로세스 : 관리 체계 확인

프로세스 설명 : 
1. 시리얼 넘버의 부여 체계
2. 시리얼 넘버의 체계 및 룰을 사전에 정의
3. 관리를 위한 시리얼 넘버 등록
4. 시리얼 넘버를 일괄 관리할 수 있도록 등록 및 관리 체계를 수립
5. 시리얼 넘버의 제품 관리 시스템 사전 준비
6. 시리얼 넘버 관리 체계를 정립하고 이를 시스템화

 

프로세스 : 설치파일/매뉴얼 확인
프로세스 설명 :

1. 설치 파일 확인
2. 설치 파일을 확인하고 실제 설치가 가능한 실행하칠인지 확인
3. 설치 매뉴얼 및 사용자 매뉴얼 확인
4. 설치 매뉴얼 및 사용자 매뉴얼을 확인하며 미디어 제작 전 이상 없는지 최종 확인

프로세스 : 최종 배포본 검증
프로세스 설명 :

1. 테스트 확인
2. 배포용 미디어 제작용 버전은 테스트가 완료되었는지 여부를 최종 확인
3. 미디어 제작 최종 확인
4. 미디어 제작시 사전에 최종 버전, 테스트 완료 여부, 매뉴열 완료 여부를 최종 확인

 


프로세스 : 배포용 미디어 정보 확인
프로세스 설명 :

1. 정보 확인
2. 배포용 미디어에서 SW 및 문서 정보를 추가 확인

프로세스 : 최종 미디어 인증 확인 및 배포
프로세스 설명 :

1. SW 확인
2. 최종 완성본의 테스트 완료되었는지 확인
3. 미디어 확인
4. 미디어 작성용 CD 및 ODD에 이상 없는지 확인

 

제품 소프트웨어의 형상관리

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

 

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

 

제품 소프트웨어의 형상 관리 역할

관리 유용
형상 관리를 통해 리비전이나 버전에 대한 정보에 언제든지 접근이 간으해 배포본 관리에 유용


동시 개발
동일 프로젝트에 여러 개발자 동시 개발 가능


빠른 복구
에러가 발생했을 때 빠른 시간 내에 복구 가능


SW 적시 공급
사용자의 요구에 따라 최상의 SW 공급

 

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

가져오기
버전 관리되지 않은 로컬 디렉토리 파일을 처음으로 저장소에 복사


추가
개발자가 신규로 어떤 파일을 저장소에 추가


체크아웃
저장소 파일 받기


체크인
저장소에 새로운 버전으로 갱신


업데이트
커밋 작업 이후 새로운 개발자가 자신의 작업 공간을 동기화


커밋
체크인 시 이전 갱신 사항이 있는 경우 충돌 알림, diff 도구 이용 수정, 커밋 과정 수행


저장소
파일의 현재 버전과 변경 이력 정보를 저장하는 저장소


차이
새로운 개발자가 추가된 파일의 수정 기록을 보면서 기존 개발자가 처음 추가한 파일과 이후 변경된 파일의 차이를 확인

 

소프트웨어 버전관리 도구

형상 관리 지침을 활용해 제품 SW의 신규 개발, 변경, 개선과 관련된 수정 사항을 관리하는 도구

 

SW 버전 관리 도구 유형

공유 폴더 방식 (RCS, SCCS)
매일 개발이 완료된 파일은 약속된 위치의 공유 폴더에 복사하는 방식
담당자 한 명이 매일 공유 폴더의 파일을 자기 PC로 복사해 컴파일 하고 에러 확인과 정상 동작 여부 확인


클라이언트/서버 방식 (CVS, SVN)
중앙에 버전 관리 시스템을 향시 동작시킴
개발자들의 현재 작업 내용과 이전 작업 내용 축적에 용이
서로 다른 개발자가 같은 파일을 작업했을 때 경고 메시지 출력


분산 저장소 방식 (Git, Bikeeper)
로컬 저장소와 원격 저장소로 분리된 구조
개발 완료한 파일을 수정한 다음 로컬 저장소에 우선적으로 커밋한 이후 다시 원격 저장소에 반영 하는 방식

 

SW 버전 관리 도구별 특징

CVS
서버와 클라이언트로 구성되어 다수의 인원이 동시에 범용적인 운영체제로 접근 가능하여 버전 관리가 가능한 도구


SVN
하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있게 도와주는 도구


RCS
CVS와 달리 소스 파일의 수정을 한 사람으로 제한해 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일 잠금 방식으로 버전을 관리하는 도구


Bitkeeper
SVN과 비슷한 중앙 통제 방식으로 대규모 프로젝트에서 빨느 속도를 내도록 개발된 버전 관리 도구


GIT
Git 속도에 중점을 준 분산형 버전 관리 시스템이며 대형 프로젝트에서 효과적이고 유용
Git의 커밋 동작은 로컬 저장소에서 이루어지고 푸시라는 동작으로 원격 저장소에 반영
로컬 저장소에서 작업이 이루어져 매우 빠른 응답을 받을 수 있음


Clera Case
복수 서버, 복수 클라이언트 구조이며 서버가 부족할 때 필요한 서버를 하나씩 추가하여 확장성을 기할 수 있음

 

SW 버전 관리 도구 사용 시 유의 사항

버전에 대한 쉬운 정보 접근성
형상 관리 지침에 의한 버전에 대한 정보를 언제든지 접근할 수 있어야 함


불필요한 사용자에 대한 접근 제어
제품 SW 개발자, 배포자 이외의 불필요한 사용자가 소스를 수정할 수 없도록 해야 함


동일 프로젝트에 대한 동시 사용성
동일한 프로젝트에 대해 여러 개발자가 동시에 개발할 수 있어야 함


빠른 오류 복구
에러 발생시 최대한 빠른 시간 내에 복구가 가능해야 함

 

제품 소프트웨어 버전 관리 도구의 활용 방향

제품 SW 개발 조직이나 이미 배포된 제품이 있는 조직에서는 보유 제품 버전과 새로 개발된 버전을 동시 유지 관리 하여야 한다.

 

버전 관리 도구를 통한 관리 작업

관리 작업 : 버전 관리 백업 및 복구
활용 사례 :

1. 이전 버전으로의 복구 필요시
2. 이전 버전의 기능 재활용시

비고 : 백업, 복구

 

관리 작업 : 동일 버전 공동 작업
활용 사례 :

1. 동일 버전의 소스 코드를 두 명 이상의 개발자가 수정 할 경우
2. 분산 환경에서 두 명 이상의 개발자가 동일한 버전의 소스를 수정할 경우
비고 : 공동 작업, 분산 버전 관리 툴 필요


관리 작업 : 여러 버전 솔루션 작업
활용 사례 : 하나의 솔루션을 기반으로 여러 버전의 제품을 개발할 경우
비고 : 브랜치 관리 기능 필요

 

버전 관리 도구 활용한 제품 SW 소스 및 자료 백업

제품 SW 소스 및 자료 백업의 의미
소스 및 자료 백업의 목적은 크게 천재지변, 해킹 작게는 SW 버그 및 오동작으로 인해 각종 재해에 대비해 시스템을 회복 가능한 상태로 만들기 위해 준비하는 것

 

버전 관리 도구 활용 시 자료 백업 정책 및 방법
버전 관리 도구를 활용, 제품 SW 백업은 내부의 정확한 백업 정책을 먼저 세워 상세 백업 방법을 공유해야 한다.

 

자료 백업 정책 및 방법 사례

백업 정책
버전 관리라이브러리에 대한 백업 파일은 버전 관리 라이브러리가 저장된 디스크와 분리된 디스크에 저장
디스크 백업은 1일 1회, CD 백업은 1주일 1회
실수에 의한 삭제 예방을 위해 백업은 최소 D-2일분 이상 보관 저장


백업 방법
버전 라이브러리의 백업은 빠른 복구를 위해 완전 백업 실시
백업 작업에 대한 임시/신규 요청 또는 중지 요청 절차에 따라 실시
백업 결과는 버전 관리를 담당하는 관리자가 주기적으로 점검하며 그 결과를 버전 관리 정비 보고 시 함께 보고 해야 함

반응형