본문 바로가기

자격증/정보처리기사

7. 제품 소프트웨어 패키징 핵심요약

037. 소프트웨어 패키징

1. 소프트웨어 패키징의 개요

  • 개발자가 아니라 사용자를 중심으로 진행한다.
  • 소스 코드는 향후 관리를 고려하여 모듈화하여 패키징한다.
  • 다양한 환경에서 소프트웨어를 손쉽게 사용ㅎ라 수 있도록 일반적인 배포 형태로 패키징한다.

 

2. 패키징 시 고려사항

  • 사용자에게 배포되는 소프트웨어이므로 내부 콘텐츠에 대한 암화화 및 보안을 고려한다.
  • 다른 여러 콘텐츠 및 단말기 간 DRM(디지털 저작권 관리) 연동을 고려한다.
  • 사용자의 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
  • 제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다.

 

 

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

1. 디지털 저작권 관리(DRM; Digital Right Management)

저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 콘텐츠의 생성, 유통, 이용까지의 전 과정에 걸쳐 사용되는 디지털 콘텐츠 관리 및 보호 기술이다.

 

 

2. 디지털 저작권 관리(DRM)의 구성 요소

  • 클리어링 하우스(Clearing House): 저작권에 대한 사용 권한, 라이선스 발급, 사용량에 따른 결제 관리 등을 수행하는 곳
  • 콘텐츠 제공자(Contents Provider): 콘텐츠를 제공하는 저작권자
  • 패키저(Packager): 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화하는 프로그램
  • 콘텐츠 분배자(Contents Distributor): 암호화된 콘텐츠를 유통하는 곳이나 사람
  • DRM 컨트롤러(DRM Controller): 배포된 콘텐츠의 이용권한을 통제하는 프로그램
  • 보안 컨테이너(Security Container): 콘텐츠 원본을 안전하게 유통하가 위한 전자적 보안 장치

 

 

3. DRM(디지털 저작권 관리)의 기술 요소

  • 암호화: 콘텐츠 및 라이선스 암호화 기술
  • 키 관리: 콘텐츠를 암호화한 키에 대한 저장 및 분배 기술
  • 식별 기술: 콘텐츠에 대한 식별 체계 표현 기술
  • 저작권 표현: 라이선스의 내용 표현 기술
  • 정책 관리: 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술
  • 크랙 방지: 크랙에 의한 콘텐츠 사용 방지 기술

 

 

039. 소프트웨어 설치 메뉴얼 작성

1. 소프트웨어 설치 메뉴얼

  • 설치 메뉴얼은 사용자를 기준으로 작성한다.
  • 기본 사항: 소프트웨어 개요, 설치 관련 파일, 설치 아이콘, 프로그램 삭제, 관련 추가 정보

 

 

 

040. 소프트웨어 사용자 메뉴얼 작성

2. 소프트웨어 설치 메뉴얼 작성 순서

작성 지침 정의 → 사용자 메뉴얼 구성 요소 정의 → 구성 요소별 내용 작성 → 사용자 메뉴얼 검토

 

 

 

041. 소프트웨어 버전 등록

1. 소프트웨어 패키징의 형상 관리

  • 소프트웨어의 개발 과정에서 소프트웨어 변경 사항을 관리하기 위해 개발된 일련의 활동이다.
  • 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.
  • 관리 항목: 소스 코드, 프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 등
  • 형상 관리 도구: Git, CVS, Subversion 등

 

2. 형상 관리 기능

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

 

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

  • 체크아웃(Check-Out): 프로그램을 수정하기 위해 저장소(Repository)에서 파일을 받아옴
  • (Check-In): 체크아웃 한 파일의 수정을 완료한 후 저장소(Repository)의 파일을 새로운 버전으로 갱신함
  • (Commit): 체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에는 충돌(Conflict)을 알라고 diff 도구를 이용해 수정한 후 갱신을 완료함

 

 

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

1. 분산 저장소 방식

  • 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 로컬 저장소에 함께 저장되어 관리되는 방식이다.
  • 대표적인 종류에는 Git이 있다.

 

2. RCS(Revision Control System)

  • 여러 개발자가 프로젝트를 수행할 때 시간에 따른 파일 변화 과정을 관리하는 소프트웨어 버전 관리 도구이다.
  • 소스 파일을 동시에 수정하는 것을 방지하고, 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있다.

 

 

043. 빌드 자동화 도구

1. Jenkins / Gradle

  • Jenkins: JAVA를 기반의 오픈 소스 형태로, 가장 많이 사용되는 빌드 자동화 도구
  • Gradle: Groovy를 기반으로 한 오픈 소스 형태의 자동화 도구로, 안드로이드 앱 개발 환경에서 사용됨
728x90