정보처리기사

정보처리기사 실기 요약 - 12장. 제품 소프트웨어 패키징

례지 2022. 9. 24. 19:35
728x90

01. 소프트웨어 패키징

- 모듈 별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것

 

1) 패키징 작업 순서

- 기능 식별 → 모듈화 → 빌드 진행 → 사용자 환경 분석 → 패키징 및 적용 시험 → 패키징 변경 개선 → 배포

 

02. 릴리즈 노트 작성

 

1) 릴리즈 노트: 소프트웨어 개발 과정에서 정리된 릴리즈 정보를 최종 사용자인 고객과 공유하기 위한 문서

 

2) 릴리즈 노트 작성 항목: Header, 개요, 목적, 문제 요약, 재현 항목, 수정/개선 내용도, 사용자 영향도, SW 지원 영향도, 노트, 면책 조항, 연락처

 

3) 릴리즈 노트 작성 순서

- 모듈 식별 →  릴리즈 정보 확인 → 릴리즈 노트 개요 작성 → 영향도 체크 → 정식 릴리즈 노트 작성 → 추가 개선 항목 식별

 

03. 디지털 저작권 관리(DRM)

 

1) 저작권: 창작자가 가지는 배타적 독점적 권리로, 타인의 침해를 받지 않을 고유한 권한

 

2) 디지털 저작권 관리(DRM, Digital Right Management): 저작권자가 배포한 디지털 콘텐츠가 저작권자의 의도한 용도로만 사용되도록 디지털 콘텐츠 관리 및 보호 기술

 

3) 디지털 저작권 관리의 기술 요소: 암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증

 

04. 소프트웨어 설치 매뉴얼 작성

- 개발 초기에서부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서

 

05. 소프트웨어 사용자 매뉴얼 작성

- 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서와 안내서

 

06. 소프트웨어 버전 등록

 

1) 소프트웨어 패키지의 형상 관리: 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동

 

2) 형상 관리 기능

형상 식별 형상 관리 대상에 이름과 괄니 번호를 부여하고 계층 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업
버전 제어 소프트웨어 업그레이드나 유지보수 과정에서 생성된 다른 버전의 형상 항목을 관리하고, 이를 위해 특정 절차와 도구를 결합시키는 작업
형상 통제 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선이 잘 반영될 수 있도록 조정하는 작업
형상 감사 기준선의 무결성이 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업
형상 기록 형상의 식별, 통제, 감사 작업의 결과를 기록, 관리하고 보고서를 작성하는 작업

3) 소프트웨어의 버전 등록 관련 주요 기능

- 저장소(Repository): 최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳

- 가져오기(Import): 버전 관리가 되고 있지 않은 아무것도 없는 저장소에 처음으로 파일을 복사함

- 체크아웃: 프로그램을 수정하기 위해 저장소에서 파일을 받아옴

- 체크인: 체크아웃한 파일의 수정을 완료한 후 저장소의 파일을 새로운 버전으로 갱신함

- 커밋: 체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에는 충돌을 알리고 Diff 도구를 이용해 수정한 후 갱신을 완료함.

- 동기화: 저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화함

 

4) 소프트웨어 버전 등록 과정

- Import → Check-Out → Commit → Update → Diff

 

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

 

1) 공유 폴더 방식: 버전 관리 자료가 지역 컴퓨터의 공유 폴더에 저장되어 관리되는 방식

 

2) 클라이언트 / 서버 방식: 버전 관리 자료가 서버에 저장되어 관리되는 방식

 

3) 분산 저장소 방식: 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 지역 저장소에 함께 저장되어 관리되는 방식

 

4) Subversion(서브버전, SVN): CVS를 개선한 것으로, 아파치 재단에서 2000년에 발표함
- 클라이언트/서버 구조로, 서버에는 최신 버전의 파일들과 변경 사항이 관리됨

 

5) Git(깃): 리누스 토발즈가 2005년 리눅스 커널 개발에 사용할 관리 도구로 개발한 이후 주니오 하마노에 유지 보수 되고 있음
- 분산 버전 관리 시스템으로 2개의 저장소, 즉 지역 저장소와 원격 저장소가 존재함

 

08. 빌드 자동화 도구

- 빌드를 포함하여 테스트 및 배포를 자동화하는 도구

 

1) Jenkins: JAVA 기반의 오픈소스 형태로, 서블릿 컨테이너에서 실행되는 서버 기반 도구

 

2) Gradle: Groovy를 기반으로 한 오픈소스 형태의 자동화 도구

728x90