용어 정리
정보처리기사[실기 핵심 정리] - 제품 소프트웨어 패키징
k_sangmin
2024. 4. 15. 20:56
애플리케이션 패키징
1) 애플리케이션 패키징의 개념
- 개발 완료된 소프트웨어를 사용자에게 전달학 위한 형태로 패키징하는 과정
- 실행 파일의 모듈화, 배포용 설치 파일 제작, 사용자 설치 및 사용에 필요한 절차와 환경을 담은 메뉴얼 작성
2) 애플리케이션 패키징 특징
- 개발자가 아닌 최종 사용자 중심으로 진행
- 신규 및 변경된 소스를 식별, 모듈화하여 패키징한다.
- 버전 관리 및 릴리스 노트를 통해 지속적으로 관리한다.
- 다양한 사용자 환경에서의 호환성을 고려하여 패키징 한다.
3) 애플리케이션 패키징 수행 순서
수행 순서 | 설명 |
기능 식별 | 개발 소스의 목적 및 기능을 식별 |
모듈화 | 모듈 단위로 분류하고, 모듈 간 의존성을 식별 |
빌드 진행 | 소스 컴파일 및 정상 기능 확인을 위한 빌드를 진행 |
사용자 환경 분석 | 최소 사용자 환경을 정의하고, 모듈별 기능 테스트를 진행 |
패키징 적용 시험 | 사용자 환경에서 패키징 적용을 시험하고, 편의성을 체크 |
패키징 변경 개선 | 적용 시 나타난 변경점을 도출하고, 개선 사항을 반영한 후 재배포 |
애플리케이션 배포 도구
1) 애플리케이션 배포의 개념
- 정의: 최종 사용자에게 소프트웨어를 전달하는 전체 과정
- 배포판: 소프트웨어를 사용하기 위해 빌드, 조합, 재구성한 결과물
- 배포 도구의 역할: 사용자에게 소프트웨어를 배포할 수 있도록 지원하는 도구
2) 애플리케이션 배포 도구 활용 시 고려사항
- 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려
- 추가로 다양한 이기종 연동을 고려
- 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려
- 제품 소프트웨어의 종류에 적합한 암호화 알고리즘 적용
3) CI/CD
- CI(Conitnuous Integration)
- 지속적인 통합
- 여러 개발자들의 새로운 코드 변경 사항을 정기적으로 공유 레포지토리에 통합하는 과정
- CD(Continuis Delivery & Continuos Deployment)
- Continuis Delivery(지속적 제공)
- 빌드와 테스트를 거쳐 공유 레포지토리로 업로드하는 과정
- Continuos Deployment(지속적 배포)
- 사용자가 사용할 수 있는 환경까지 소프트웨어를 배포하는 과정
릴리즈 노트
릴리즈 노트의 개념
- 소프트웨어 제품과 함께 배포되는 문서로, 제품의 업데이트 및 변화에 대한 정보를 제공
- 업데이트가 출시될 때, 기존 사용자에게 변경 사항을 알리는 데 사용
- 소프트웨어 서비스 내용, 수정, 변경 또는 개선 사항 등이 포함
DRM
1) DRM(Digital Rights Management)의 개념
- 디지털 콘텐츠의 불법 사용을 제한하고, 승인된 사용자에게만 콘텐츠 사용을 허용하는 기술
2) DRM의 구성 및 흐름
구성 | 설명 |
콘텐츠 제공자 (Contents Provider) |
콘텐츠를 제공하는 저작권자 |
콘텐츠 분배자 (Contents Distributor) |
쇼핑몰 등으로써 암호화된 콘텐츠 제공 |
패키저 (Packager) |
콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능 |
보안 컨테이너 | 원본 콘텐츠를 안전하게 유통하기 위한 전자적 보안 장치 |
DRM 컨트롤러 | 배포된 콘탠츠의 이용권한을 통제 |
클리어링 하우스 (Clearing House) |
키 관리 및 라이선스 발급 관리 |
3) DRM 사용 규칙 제어 기술
- 콘텐츠 식별 체계(Identification)
- 디지털 콘텐츠에 고유 식별 번호를 부여하여 관리하고 운영한다.
- 대표적으로 DOI(Digital Object Identifier)와 URI(Uniform Resource Identifier)등이 있다
- 메타 데이터(Meta Data)
- 콘텐츠에 관한 구조화된 데이터
- 권리 표현 기술(Right Expression)
- 콘텐츠에 대한 규칙을 설정하고, 사용자의 권한 및 조건을 정의
- 콘텐츠 사용조건(예: 기간 횟수)에 따라 사용 제한을 설정한다.
- XML 기반의 권한 표현 언어로 개발,XRML(eXtensible rights Markup Language)이 대표적이다.
- 권리 표현 종류
종류 | 설명 |
Render Permission | 사용자에게 콘텐츠가 표현되고 이용되는 권리 형태를 정의 |
Transport Permission | 사용자들 간에 권리의 교환이 이루어지는 권리형태를 정의 |
Derivative Permission | 콘텐츠의 추출 변형이 가능한 권리 형태를 정의 |
4) 저작권 보호기술
- 암호화 기술
- 특정 키를 가진 사용자만이 콘텐츠를 사용할 수 있도록 한다.
- 워변조 방지(Temper-Proofing)
- 콘텐츠에 무단 조작이 가해졌을 때 이를 감지하고 오류 동작을 유발한다.
- 부정 조작에 대한 방어를 목적으로 한다.
- 워터마킹(Watermarking)
- 콘텐츠에 저작권 정보를 은닉하여 저작권 분쟁 시 저작권자를 확인할 수 있게 해준다.
- 유형
유형 | 설명 |
워터마킹 | ● 불법 복제 방지를 목적으로 하여, 주로 저작권 정보를 삽입 ● 최초 저작 시점에 삽입한다. |
핑거프린팅 | ● 불법 유통 방이를 목적으로 하며, 저작권 정보와 구매자 정보를 삽입 ● 구매 시점마다 삽입 |
5) DRM 구성요소
구성요소 | 설명 |
암호화 (Encryption) |
● 콘텐츠 및 라이선스를 보호하기 위한 암호화 기술 |
키 관리 (Key Management) |
● 콘텐츠를 암호화한 키에 대한 저장 및 배포 기술 |
암호화 파일 생성 (Packager) |
● 콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술 |
식별 기술 (Identification) |
● 콘텐츠에 대한 식별 체계 기술 |
저작권 표현 (Right Expression) |
● 라이선스의 내용 표현 기술 |
정책 관리 (Temper Resistance) |
● 크랙에 의한 콘텐츠 사용 방지 기술 |
크랙 방지 (Tamper Resistance) |
● 크랙에 의한 콘텐츠 사용 방지기술 |
인증 (Authentication) |
● 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술 |