본문 바로가기

스터디스터디/정처기

[실기] 소프트웨어 구축- 제품 소프트웨어 패키징

최초 작성일: 2024-09-08

최종 작성일: 2024-09-08

목표 : 정처기 합격 및 CS 지식 쌓기

 

 

Chapter 10. 제품 소프트웨어 패키징

Section 2. 제품 소프트웨어 패키징

1.    애플리케이션 패키징

(1)   애플리케이션 패키징의 개념

개발 완료된 소프트웨어를 사용자에게 전달하기 위한 형태로 패키징 하는 과정

실행 파일의 모듈화, 배포용 설치 파일 제작, 사용자 설치 및 사용에 필요한 절차와 환경을 담은 매뉴얼 작성

(2)   특징

개발자가 아닌 최종 사용자 중심으로 진행한다

신규 및 변경된 소스를 식별, 모듈화 하여 패키징 한다

버전 관리 및 릴리즈 노트를 통해 지속적으로 관리한다

다양한 사용자 환경에서의 호환성을 고려하여 패키징 한다

(3)   패키징 순서

수행순서 설명
기능 식별 개발 소스의 목적 및 기능을 식별
모듈화 모듈 단위로 분류
빌드 진행  
사용자 환경분석  
패키징 적용 시험  
패키징 변경 개선  

2.    애플리케이션 배포 도구

(1)   애프리케이션 배포의 개념

정의: 최종 사용자에게 소프트웨어를 전달하는 전체 과정

배포판: 소프트웨어를 사용하기 위해 빌드, 조합, 재구성한 결과물

배포 도구의 역할: 사용자에게 소프트웨어를 배포할 수 있도록 지원하는 도구 (젠킨스, 그래들)

(2)   애플리케이션 배포도구 활용 시 고려사항

반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려

추가로 다양한 이기종 연동을 고려

사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려

제품 소프트웨어의 종류에 적합한 암호화 알고리즘을 적용

 

(3)   CI/CD

1)CI(Continuous Integration)

지속적인 통합

여러 개발자들의 새로운 코드 변경 사항을 정기적으로 공유 레포지토리에 통합하는 과정

2)CD (Continuous Delivery / Deployment)

지속적인 서비스 제공 혹은 지속적인 배포

지속적인 제공: 빌드와 테스트를 거쳐 공유 레포지토리로 업로드 하는 과정

지속적인 배포: 사용자가 사용할 수 있는 환경까지 소프트웨어를 배포하는 과정(지속적인 통합을 해야 지속적인 배포가 가능함)

3.    릴리즈 노트

(1)   개념

소프트웨어 제품과 함께 배포되는 문서로, 제품의 업데이트 및 변화에 대한 정보를 제공한다

업데이트가 출시될떄, 사용자에게 변경 사항을 알리는 데 사용된다

소프트웨어 서비스 내용, 수정, 변경 또는 개선 사항 등이 포함된다.

(2)   역할

사용자에게 제품의 변화 및 테스트 결과를 상세하게 알린다

전체적인 제품의 수행 기능과 서비스의 변화를 공유한다

자동화 개념과 결합하여 효율적인 정보 제공을 할 수 있다.

(3)   작성 항목

Header, 개요, 목적, 이슈 요약, 재현 항목, 면책 조항, 연락 정보

(4)   릴리즈 노트 추가 작성 및 개선사항 발생의 예외 케이스

테스트 단계에서의 베타 버전에 대한 정보

긴급하게 수정된 버그에 대한 상세 정보

자체 기능 향상 및 추가 기능에 대한 상세 설명

사용자 요처에 따른 특별한 케이스에 대한 정보

4.    DRM(Digital Rights Management)

(1)   DRM의 개념

디지털 콘텐츠의 불법 사용을 제한하고 승인된 사용자에게만 콘텐츠 사용을 허용하는 기술

콘텐츠 보호를 위한 암호화 기술과 사용 권한 제어를 위한 라이선스 관리 기술로 구성된다

콘텐츠의 보안, 지불 및 결제 기능 등이 포함된다

(2)   특징

콘텐츠는 공개키로 암호화 되며, 해당 콘텐츠의 비밀키는 판매된다

유료 콘텐츠 사용자에게는 사용료가 부과되며, 이는 안전하게 결제된다

저작권의 라이선스에 따른 분배가 투명하게 이루어진다

라이선스 제공 기관과 콘텐츠 배포 기관을 분리하여 거래 구조를 개선한다

콘텐츠 사용에 대한 횟수, 날짜, 장비 등의 사용 권한을 통제한다

(3)   DRM의 구성 및 흐름

구성 설명
콘텐츠 제공자 콘텐츠를 제공하는 저작권자
콘텐츠 분 배자 쇼핑몰 등으로써 암호화된 콘텐츠 제공
패키저 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
보안 컨테이너 원본 콘텐츠를 안전하게 유통하기 위한 전자적 보안 장치
DRM 컨트롤러 배포된 콘텐츠의 이용 권한을 통제
클리어링 하우스 키 관리 및 라이선스 발급 관리

(4)   DRM 사용 규칙 제어 기술

1)콘텐츠 식별 체계

디지털 콘텐츠에 고유 식별 번호를 부여하여 관리하고 운영한다

대표적으로 DOI(Digital Object Identifier) URI(Uniform Resource Identifier) 등이 있다

2) 메타 데이터

콘텐츠에 관한 구조화된 데이터

콘텐츠의 속성 정보, 즉 콘텐츠에 대한 상세한 정보를 제공한다

3) 권리 표현 기술

콘텐츠에 대한 규칙을 설정하고, 사용자의 권한 및 조건을 정의한다

콘텐츠 사용 조건(: 기간, 횟수)에 따라 사용 제한을 설정한다

XML 기반의 권한 표현 언어로 개발 되며, XrML이 대표적이다

4) 권리 표현 종류

종류 설명
Render Permission 사용자에게 콘텐츠가 표현되고 이용되는 권리 형태를 정의
Transport Permission 사용자들간에 권리의 교환이 이루어지는 권리 형태를 정의
Derivative
Permission
콘텐츠의 추출 변형이 가능한 권리 형태를 정의

(5)   저작권 보호 기술

1)    암호화 기술: 특정 키를 가진 사용자 만이 콘텐츠를 사용할 수 있도록 한다

2)    위변조 방지(temper-proofing)

콘텐츠에 무단 조작이 가해졌을 때 이를 감지하고 오류 동작을 유발 한다

부정 조작에 대한 방어를 목적으로 한다

3)    워터 마킹

콘텐츠에 저작권 정보를 은닉하여 저작권 분쟁 시 저작권자를 확인하게 해준다

유형 설명
워터마킹 불법 복제 방지를 목적으로 하며, 주로 저작권 정보를 삽입
최초 저작 시점에 삽입 한다
핑거 프린팅 불법 유통 방지를 목적으로 하며, 저작권 정보와 구매자 정보를 삽입
구매 시점마다 삽입

(6)   DRM 구성요소

구성요소 설명
암호화(Encryption) 콘텐츠 및 라이선스를 보호하기 위한 암호화 기술
PKI, Symmetric/Asymmetric Encryption, Digital Signature
키 관리( Key Management) 콘텐츠를 암호화한 키에 대한 저장 및 배포 기술 (Centralized Enveloping)
암호화 파일 생성
(Packager)
콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술
Pre-packaging, on-the-fly packaging(미리 싸놓는 것)
식별 기술 콘텐츠에 대한 식별 체계 표현 기술
DOI, URI
저작권 표현 라이선스의 내용 표현 기술
XrML/MPGE-21 REL, ODRL
정책 관리 라이선스 발금 및 사용에 대한 정책 표현 및 관리 기술
-XML, Contents Management System
크랙 방지(Tamper resistance) 크랙에 의한 콘텐츠 사용 방지 기술
Secure DB, Secure Time Management, Encryption
인증
(authentication)
라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술
User/device authentication, SSO, DiGital Certificate

 

 

1.    제품 소프트웨어 매뉴얼 작성

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

1)    설치 매뉴얼 작성의 기본 사항

작성 시 사용자의 관점에서 접근

설치 절차를 순차적으로 제시하며, 관련 화면 캡쳐와 함께 설명

이상이 발생할 경우 에러메시지나 문제를 분류하여 설명