관리 메뉴

나구리의 개발공부기록

3장 - 제품 소프트웨어 패키징 핵심 요약 본문

2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/필기 2강 - 소프트웨어 개발

3장 - 제품 소프트웨어 패키징 핵심 요약

소소한나구리 2024. 4. 28. 11:51

2024년도 시나공 필기 책 내용 정리 


섹션10. 소프트웨어 패키징

 

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

 

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

2. 패키징 시 고려사항

 

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

섹션11. 디지털 저작권 관리(DRM)

 

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

 

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

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

 

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

3. DRM의 기술 요소

 

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

섹션12. 소프트웨어  설치 매뉴얼 작성 / 섹션13. 소프트웨어 사용자 매뉴얼 작성

 

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

 

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

2. 소프트웨어 사용자 매뉴얼 작성 순서

 

  • 작성 지침 정의 -> 사용자 매뉴얼 구성 요소 정의 -> 구성요소별 내용 작성 -> 사용자 매뉴얼 검토

섹션14. 소프트웨어 버전 등록

 

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

 

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

2. 형상 관리 기능

 

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

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

 

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

섹션15. 소프트웨어 버전 관리 도구

 

1. 분산 저장소 방식

 

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

2. RCS(Revision Control System)

 

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

섹션16. 빌드 자동화 도구

 

1. Jenkins / Gradle

 

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