제품 소프트웨어 패키징
03. 제품 소프트웨어의 패키징 도구
1) 제품 소프트웨어 패키징 도구의 개념
- 제품 소프트웨어의 배포를 위한 패키징 시 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능을 제공함
- 제품 소프트웨어의 안전한 유통과 배포를 보장하는 도구이자 솔루션
- 제품 소프트웨어의 패키징 작업 진행 시 암호화 및 보안 기능을 고려하여 패키징할 수 있도록 도와줌
- 디지털 콘텐츠의 불법 사용, 복제 방지, 과금 서비스를 통한 정상적인 사용자를 검증 가능한 저작권 기술을 감안한 도구를 통해 패키징하는 것이 중요함
- 불법 복제로부터 디지털 콘텐츠의 지적 재산권을 보호해 주는 사용 권한 제어 기술, 패키징 기술, 라이선스 관리, 권한 통제 기술 등을 포함
2) 제품 소프트웨어 패키징 도구 활용 시 고려사항
- 반드시 암호화 및 보안 기능 고려
- 패키징 시 사용자에게 배포되는 소프트웨어임을 감안하여 반드시 내부 콘텐츠에 대한 옴호화 및 보안을 고려함
- 다양한 다른 기종 연동 고려
- 패키징 도구를 활용하여 여러 가지 다른 기종 콘텐츠 및 단말기 간 DRM 연동을 고려함
- 사용자 편의성을 위한 복잡성 및 비효율성 문제 고려
- 패키징 도구를 고려하면 사용자의 입장에서 불편해질 수 있기 때문에 최대한 효율적으로 적용될 수 있도록 함
- 제품 소프트웨어의 종류에 적합한 암호화 알고리즘 적용
- 제품 소프트웨어 종류에 맞는 암호화 알고리즘을 선택하여 배포 시 범용성에 지장이 없도록 고려함
- 지속적인 배포 고려
- CI와 연계된 지속적인 배포를 고려함
- 짧은 주기의 배포로 빠른 제품 출시의 효과를 볼 수 있도록 함
3) 제품 소프트웨어 저작권 보호
- 저작권의 이해
- 문학, 학술 또는 예술의 범위에 속하는 청작물인 저작물에 대한 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권리
- 저작권 보호 기술의 개념
- 콘텐츠 및 컴퓨터 프로그램과 같이 복제가 용이한 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법을 통칭
- 복제는 허용하나 사용자 확인을 거쳐 과금, 제품 소프트웨어 패키징 시 사용자 확인에 대해 상용화 과금 정책 수립이 연계됨
- 종량제 BM을 갖는 제품 소프트웨어의 경우 요금 부과는 Clearing House를 통한 이용 시간에 비례한 요금으로 과금함
- 패키징 도구는 암호화 및 보안 기능을 고려함
- 패키징 제작자가 지정한 사업 규칙과 암호가 함께 패키징되어 배포됨
- 저작권 보호 기술의 필요성
- 배포된 제품 소프트웨어의 무한 복제가 가능하고 원본과 복사본이 동일하게 배포될 특성을 가짐
- 제품 소프트웨어가 상용으로 배포되면 다양한 부가 가치를 가질 수 있는 상품으로 바뀜에 따라 패키징 시 원작자에 대한 권리 보호가 우선 필요함
4) 저작권 보호 측면의 패키징 도구 활용
1. 저작권 관리의 구성 요소
구성 요소 | 설명 |
---|---|
콘텐츠 제공자(Contents Provider) | 콘텐츠를 제공하는 저작권자 |
콘텐츠 분배자(Contents Distributor) | 인터넷 상거래를 암호화된 콘텐츠로 제공 |
패키지(Package) | 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶음 |
보안 컨테이너 | 원본을 안전하게 유통하기 위한 전자적 보안 장치 사용 |
DRM 컨트롤러 | 배포된 콘텐츠의 이용 권한 통제 |
클리어링 하우스(Clearing House) | 키 관리 및 라이선스 발급 관리 |
2. 암호화/보안 기능 중심의 패키징 도구 기술 및 활용
- 패키징 도구 구성 요소
- 암호화
- 콘텐츠 및 라이선스를 암호화하고, 전자서명을 할 수 있는 기술
- 공개키 기반 기술, 디지털 서명 등이 있음
- PKI, 대칭키, 비대칭키, 디지털 서명
- 키 관리
- 콘텐츠를 암호화한 키에 저장 및 배포하는 기술
- Centralized, Enveloping
- 암호화 파일 생성
- 콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술
- Pre-packaging, On-the-fly-packaging
- 식별 기술
- 콘텐츠에 대한 식별 체계를 표현하는 기술
- DOI, URI
- 저작권 표현
- 라이선스의 내용 표현 기술
- XrML, MPEG-21 REL, ODRL
- 정책 관리
- 라이선스 발급 및 사용에 대한 정책을 표현하거나 관리하는 기술
- XML, Contents Management System
- 크랙 방지
- 크랙에 의한 콘텐츠 사용을 방지하는 기술
- Code Obfuscation, Kernel Detection, Nodule Certification, Secure DB, Secure Time Management, Encryption
- 인증
- 라이선스 발급 및 사용의 기준이 되는 사용자를 인증하는 기술
- 암호화
- 패키징 도구 적용 관련 기술적 동향
- 패키징 도구 벤더에 의해 개발되던 각종 기술이 표준화를 통해 통합하여 플랫폼화함
- 클라우드 환경에서 디지털 콘텐츠의 투명한 접속, 이용, 이동 등의 사용 편리성을 보장함
- 특정 도구나 환경에서만 적용되지 않는 범용성 확보, 벤더 간 식별 체계, 상호 호환성 등을 표준화하기 위해 노력함
04. 패키징에서의 릴리즈 노트
1) 릴리즈 노트의 개념
- 소프트웨어와 함께 배포되는 문서
- 소프트웨어의 변경 사항을 기록, 설명하는 문서
- 소프트웨어 최종 사용자에게 전달되는 제품에 대한 공유 정보
- 릴리즈 정보들은 철저하게 테스트를 진행한 후 개발팀에서 제공하는 사양에 대해 최종 승인된 후 문서를 통해 배포
- 회사가 제공하는 제품 소프트웨어를 만들어 수정 또는 개선하는 일련의 작업들
- 사용자와 릴리즈 정보를 공유하는 문서로 릴리즈 노트에 대한 표준 형식은 없음
- 릴리즈 노트는 개발팀에서 소유권을 가지고 직접 작성해야 함
- 현재 시점에서 작성되어야 하며, 명확하고 정확하며 완전한 정보를 제공
- 신규 소스, 빌드 등을 배포 시부터 이력을 정확하게 관리하여 진행
2) 릴리즈 노트의 중요성
- 릴리즈 노트에는 테스트 결과와 정보가 포함
- 사용자는 테스트가 어떻게 진행됐는지 알 수 있음
- 개발팀의 제공 사양을 얼마나 준수했는지를 확인해 볼 수 있음
- 사용자에게 보다 더 확실한 정보를 제공
- 전체적인 제품의 수행 기능 및 서비스의 변화를 공유
- 자동화 개념과 함께하여 적용할 수 있음
- 전체적인 버전 관리를 할 수 있음
- 릴리즈 정보를 체계적으로 관리할 수 있음
3) 릴리즈 노트 작성 시 고려사항
- 초기 버전 릴리즈 노트 작성 항목
- 릴리즈 노트는 소프트웨어 릴리즈의 수정 사항, 개선 사항 및 오류 수정을 간결하게 요약한 것
- 릴리즈 노트는 표준 형식은 없지만 배포되는 정보의 유형과 요구사항을 기초로 한 공통 항목이 있음
- 헤더 : 릴리즈 노트 이름, 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전 번호 등을 기술
- 개요 : 제품 및 변경에 대한 전반적 개요를 간략하게 기술
- 목적 : 목적과 릴리즈 버전의 새로운 기능 목록에 대한 간략한 개요를 기술
- 이슈 요약 : 오류의 간단한 설명 또는 릴리즈 추가 항목을 요약
- 재현 항목 : 오류 발견에 따른 재현 단계를 기술
- 수정, 개선 내용 : 수정, 개선의 간단한 설명을 기술
- 사용자 영향도 : 버전 변경에 따른 최종 사용자 기준의 기능 및 응용 프로그램의 영향도를 기술
- 소프트웨어 지원 영향도 : 버전 변경에 따른 소프트웨어의 지원 프로세스 및 영향도를 기술
- 노트 : 소프트웨어 및 하드웨어 설치 항목, 제품, 문서를 포함한 갱신 등의 항목을 메모
- 면책 조항 : 회사 및 표준 제품과 관련된 메시지, 프리웨어, 불법 복제 방지, 중복 등 참조에 대한 고지 사항을 기술
- 연락 정보 : 사용자 지원 및 문의 관련한 연락처 정보를 기술
- 릴리즈 노트 추가 작성 및 개선 사항 발생의 예외 케이스
- 테스트 단계에서의 베타 버전 출시
- 제품 소프트웨어의 다음 버전이나 새로운 베타 버전 테스트 단계에서도 릴리즈 버전으로 릴리즈 노트를 작성할 수 있음
- 현 베타 버전을 신규 소스로 하여 릴리즈 노트를 만들지, 예외 사항으로 베타 버전에 대한 릴리즈 노트를 따로 만들지 사전에 정의해야 함
- 긴급 오류 수정 시
- 긴급 오류를 수정할 경우 릴리즈 노트를 작성
- 긴급 오류를 수정할 경우 릴리즈 노트 작성을 놓치는 경우가 많음
- 오류 번호와 수정된 오류를 반드시 릴리즈 노트에 추가
- 자체 기능 향상을 포함한 모든 추가 기능의 향상
- 기능의 개선을 완료했을 때 릴리즈 버전을 추가하여 신규 릴리즈 노트를 작성
- 갱신은 소프트웨어 및 하드웨어에 대한 항목까지 포함함
- 사용자 요청에 따른 특이한 케이스 발생
- 제품 소프트웨어가 사용자에 배포된 릴리즈 노트의 연락처 정보를 통해 사용자의 의견이 접수된 경우
- 허용되는 범위 내에서 요청이 접수될 경우 이를 자체 기능 향상과는 별도의 버전으로 새롭게 릴리즈 노트를 작성할 수 있음
- 테스트 단계에서의 베타 버전 출시
'정보처리기사 > 소프트웨어 개발' 카테고리의 다른 글
제품 소프트웨어 패키징 4 (0) | 2023.05.23 |
---|---|
제품 소프트웨어 패키징 3 (0) | 2023.05.17 |
제품 소프트웨어 패키징 1 (0) | 2023.05.17 |
통합 구현 7 (0) | 2023.05.17 |
통합 구현 6 (1) | 2023.05.17 |