기타/정보처리기사실기

[정보처리기사 실기 / 내용정리] 12. 제품 소프트웨어 패키징

rinix_x 2022. 4. 21. 18:57
반응형
정보처리기사 실기 12. 제품 소프트웨어 패키징
반응형
제품 소프트웨어 패키징 하기

* 제품 소프트웨어 패키징(Product Software Packaging) : 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정

* 모듈 : 소프트웨어 설계에서 기능 단위로 분해하고 추상되어 재사용 및 공유가 가능한 단위

* 모듈화 : 모듈을 통해 제품 소프트웨어의 성능을 향상시키고 시스템의 통합, 시험 디버깅 및 수정을 용이하게 하는 소프트웨어 설계 기법
 - 사용자 중심의 모듈 패키징 프로세스

 

   + 기능 식별 -> 모듈화 -> 빌드 진행 -> 사용자 환경 분석 -> 패키징 적용 시험 -> 패키징 변경 개선
* 릴리즈 노트(Release Note) : 고객에게 개발 과정에서 정리된 제품의 릴리즈 정보를 제공하는 문서

 - 헤더 : 문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜

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

 - 릴리즈 노트 작성 프로세스

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

 

* 제품 소프트웨어 패키징 도구 : 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능 제공하며, 안전한 유통과 배포를 보장하는 도구

 - DRM(디지털 저작권 관리) : 데이터의 안전한 배포를 활성화하거나 불법 배포를 방지하여 인터넷이나 기타 디지털 매체를 통해 유통되는 데이터의 저작권을 보호하기 위한 시스템
* 패키징 도구 활용 시 고려 사항
 - 암호화/보안 고려 : 내부 콘텐츠에 대한 암호화 및 보안 고려
 - 이기종 연동을 고려 : 이기종 콘테츠 및 단말기 간 DRM 연동 고려
 - 사용자 편의성 고려 : 사용자 입장에서 문제를 고려하여 최대한 효율적으로 적용
 - 적합한 암호화 알고리즘 적용 : 제품 소프트웨어 종류에 맞는 알고리즘을 선택하여 배포 시 범용성에 지장이 없도록 고려


* 저작권(Copyright) : 창작물인 저작물에 대한 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한
* 디지털 저작권 관리(DRM : Digital Right Management) : 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 콘테츠 관리 및 보호 기술
* 디지털 저작권 관리(DRM) 구성요소
 - 클리어링 하우스(Clearing House) : 저작권에 대한 사용 권한, 라이선스 발급, 암호화된 키 관리, 사용량에 따른 결제 관리 등을 수행하는 곳
 - 콘텐츠 제공자(Content Provider) : 콘텐츠를 제공하는 저작권자
 - 패키저(Packager) : 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶은 도구
 - 콘텐츠 분배자(Contents Distributor) : 암호화된 콘텐츠를 유통하는 곳이나 사람
 - 콘텐츠 소비자(Content Customer ): 콘텐츠를 구매하여 사용하는 주체
 - DRM 컨트롤러(DRM Controller) : 배포된 디지털 콘텐츠의 이용 권한을 통제
 - 보안 컨테이너(Security Contatiner) : 원본 콘텐츠를 안전하게 유통하기 위한 전자적 보안장치
 - DRM 콘텐츠(DRM Content) : 서비스하고자 하는 암호화된 콘텐츠, 콘텐츠와 관련된 메타데이터, 콘텐츠 사용정보를 패키징하여 구성된 콘텐츠
* 패키징 도구 구성 세부 기술
 - 암호화 : 콘텐츠 및 라이선스를 암호화하고 전자 서명을 할 수 있는 기술
 - 키 관리 : 콘텐츠를 암호화한 키에 대한 저장 및 분배 기술
 - 암호화 파일 생성 : 콘텐츠 암호화된 콘텐츠로 생성하기 위한 기술
 - 식별 기술 : 콘텐츠에 대한 식별 체계 표현 기술
 - 저작권 표현 : 라이선스의 내용 표현 기술
 - 정책 관리 : 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술
 - 크랙 방지 : 크랙에 의한 콘텐츠 사용 방지 기술
 - 인증 : 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술

 

* 암호화 : 텍스트, 콘텐츠 등을 암호문으로 만드는 기술

 - 공개키 기반 구조(PKI) : 공개키 암호화 방식 기반으로 디지털 인증서를 활용하는 소프트웨어, 하드웨어, 사용자 등을 총칭하는 암호 기술

 - 대칭 및 비대칭 암호화 : 암호화 시 키, 암호화 키 생성

 - DOI(Digital Object identifier) : 디지털 저작물에 특정 번호를 부여하는 일종의 바코드 시스템

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

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

 - MPEG-21 : 멀티미디어 표준 규격

 - XML : 마크업 언어로 '키'와 '값'의 한쌍으로 사람이 쉽게 알아볼 수 있는 오브젝트를 생성하는 언어

 - JSON : 비동기 브라우저 / 서버통신(AJAX)을 위해 "속성-값 쌍", "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

 - 코드 난독화 : 역공학을 통한 공격을 막기 위해 프로그램 소스를 알아보기 힘든 코드로 바꾸는 기술

 - Secure DB : 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고 접근제어와 보안적인 요소가 추가된 데이터 베이스 강화 기술

 - SSO(Single Sign On) : 한 번의 인증절차를 통해 여러 정보 시스템에 재인증 절차 없이 사용할 수 있는 통합 로그인 기술

 - CMS : 콘텐츠 생산 전 활동의 과정을 관리하는 기술

 

제품 소프트웨어 매뉴얼 작성 및 버전 등록

* 제품 소프트웨어 매뉴얼 : 사용자 측면에서 패키징 이후 설치, 제품 소프트웨어를 사용하는 데 필요한 주요 내용을 기록한 문서

* 제품 소프트웨어 설치 매뉴얼 : 사용자가 제품을 구매한 후 최초 설치 시 참조하는 매뉴얼 목차, 개요, 이력정보, 설치 매뉴얼 주석, 설치 도구
* 제품 소프트웨어 사용자 매뉴얼 : 사용자가 소프트웨어 사용에 필요한 내용을 포함한 문서
* 제품 소프트웨어 배포판 : 사용자가 사용하기 편하도록 배포 정보를 포함하여 개발된 컴포넌트 또는 패키지가 제품화된 형태

 

* 형상관리 : 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동

 - 체크인 : 개발자가 수정한 소스를 형상관리 저장소로 업로드하는 기능

 - 체크아웃

 - 커밋 : 개발자가 소스를 형상관리 저장소에 업로드 후 최종적으로 업데이트가 되었을 때 형상관리 서버에 반영하도록 하는 기능

 - 형상관리 역할 : 관리 유용, 동시 개발, 빠른 복수

* 형상 식별 : 형상 관리 대상에 이름과 관리 번호를 부여하고, 계층 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업

* 형상 통제 (변경관리) : 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선(Base Line)이 잘 반영될 수 있도록 조정하는 작업

  + 베이스라인 : 소프트웨어 변경 통제 시점

* 형상 감사 : 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업

* 형상 기록 : 형상의 식별, 통제, 감사 작업의 결과를 기록, 관리하고 보고서를 작성하는 작업

 

* 백업 유형
 - 전체 백업(Full Backup) : 백업받고자 하는 데이터 전체에 대한 백업을 하는 방식
 - 차등 백업(Differential Backup) : 마지막 전체 백업 이후 변경된 모든 데이터를 백업하는 방식
 - 증분 백업(Incremental Backup) : 정해진 시간을 기준으로 그 이후에 변경된 파일만을 백업하는 방식

 

* 버전 관리 도구

 - 공유 폴더 방식 : 공유 폴더에 복사하는 방식, RCS

 - 클라이언트/서버 방식 : CVS, SVN

 - 분석 저장소 방식 : 로컬 저장소 -> 원격 저장소 , Git, Bitkeeper

* Subversion(SVN) : trunk디렉터리에서 수행, CVS를 개선한 것 

* 버전 등록 과정

 - 가져오기(import) : 개발자가 저장소에 신규로 파일을 추가한다. 

 - 인출(Check-Out) : 수정 작업을 진행할 개발자가 저장소에 추가된 파일을 자신의 작업 공간으로 인출한다.

 - 예치(Commit) : 인출한 파일을 수정한 후 설명을 붙여 저장소에 예칭 한다.

 - 동기화(Update) : 커밋 후 새로운 개발자가 자신의 작업 공간을 동기화한다. 

 - 차이(Diff) : 새로운 개발자가 추가된 파일의 수정 기록을 확인하면서 변경된 파일의 차이를 확인한다.

반응형