관리 메뉴

나구리의 개발공부기록

3장 - 제품 소프트웨어 패키징 | 섹션10. 소프트웨어 패키징, 섹션11. 디지털 저작권 관리(DRM), 섹션12. 소프트웨어 설치 매뉴얼 작성 본문

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

3장 - 제품 소프트웨어 패키징 | 섹션10. 소프트웨어 패키징, 섹션11. 디지털 저작권 관리(DRM), 섹션12. 소프트웨어 설치 매뉴얼 작성

소소한나구리 2024. 4. 28. 00:20

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


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

 

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

 

  • 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것을 말함
  • 개발자가 아닌 사용자를 중심으로 진행하여 소스 코드는 향후 관리를 고려하여 모듈화 하여 패키징
  • 사용자가 소프트웨어를 사용하게 될 환경을 이해하여 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징

2. 패키징 시 고려사항

 

  • 사용자의 시스템 환경(운영체제, CPU, 메모리 등)에 필요한 최소 환경을 정의
  • UI(User Interface)는 사용자가 눈으로 직접 확인할 수 있도록 시각적인 자료와 함께 제공하고 메뉴얼과 일치시켜 패키징
  • 소프트웨어는 단순히 패키징하여 배포하는 것으로 끝나는 것이 아니라 하드웨어와 함께 관리될 수 있도록 Managed Service  형태로 제공하는 것이 좋음
  • 사용자에게 배포되는 소프트웨어이므로 내부 콘텐츠에 대한 암호화 및 보안을 고려
  • 다른 여처 콘텐츠 및 단말기 간DRM(디지털 저작권 관리) 연동을 고려
  • 사용자의 편의성을 위한 복잡성 및 비효율성 문제를 고려
  • 제품 소프트웨어 종류에 적합한 암호화 알고리즘 사용

*Managed Service : 고객에 사용중인 소프트웨어를 24시간 모니터링 하면서 문제 발생 시 현장에 바로 출동하여 필요한 점검을 수행하는 등의 체계적인 운영 관리와 유지 보수를 수행하는 서비스


3. 패키징 작업 순서

 

  • 소프트웨어 개발 기법에 따라 달라지며 짧은 개발 주기를 반복하는 애자일 기법의 경우 보통 2 ~ 4주로 지정하고 각 주기가 끝날 때마다 패키징을 수행
  • 프로젝트 개발 과정에서 주기별로 패키징한 결과물은 테스트 서버에 배포
  • 마지막 개발 과정을 거쳐 최종 패키징한 결과물은 고객이 사용할 수 있도록 온라인 및 오프라인으로 배포
  • 온라인 배포 : 별도로 마련한 운영 서버에 설치 및 사용 매뉴얼과 함께 배포 파일을 등록하여 고객에 직접 다운받아 사용
  • 오프라인 배포 : CD-ROM 이나 DVD, USB등에 설치 및 사용 매뉴얼과 함께 배포 파일을 담음

순서도

 

  1. 기능 식별 :  작성된 코드의 기능 확인
  2. 모듈화 : 확인된 기능 단위로 코드들을 분류
  3. 빌드진행 : 모듈 단위별로 실행파일 생성
  4. 사용자 환경 분석 : 웹, 모바일, PC 등 소프트웨어가 사용될 환경이나 운영체제, CPU, RAM 등의 최소 운영 환경을 정의
  5. 패키및 및 적용 시험 : 빌드된 실행 파일들을 정의된 환경에 맞게 배포용 파일 형식으로 패키징하고, 정의된 환경과 동일한 환경에서 패키징 결과를 테스팅한 후 소프트웨어에 대한 불편사항을 사용자 입장에서 확인
  6. 패키징 변경 개성 : 확인된 불편 사항을 반영하기 위한 패키징의 변경 및 개선을 진행
  7. 배포 : 배포 수행 시 오류가 발생하면 해당 개발자에게 전달하여 수정을 요청

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

 

1. 저작권의 개요

 

  • 소설, 시, 논문, 강연, 연술, 음악, 연극, 무용, 컴퓨터 프로그램 저작물 등에 대하여 창작자가 가지는 배타적 독점적 구너리로 타인의 침해를 받지 않을 고유한 권한
  • 컴퓨터 프로그램들과 같이 복제하기 쉬운 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법을 통칭해 저작권 보호 기술이라고 함

2. 디지털 저작권 관리(DRM; Digital Right Management)의 개요

 

  • 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 콘텐츠의 생성, 유통, 이용까지의 전 과정에 걸쳐 사용되는 디지털 콘텐츠 관리 및 보호 기술
  • 원본 콘텐츠가 아날로그인 경우 디지털로 변환한 후 패키저(Packager)에 의해 DRM 패키징을 수행
  • 콘텐츠의 크기에 따라 음원이나 문서와 같이 크기가 작은 경우에는 사용자가 콘텐츠를 요청하는 시점에서 실시간으로 패키징을 수행하고 크기가 큰 경우에는 미리 패키징을 수행한 후 배포
  • 패키징을 수행하면 콘텐츠에는 암호화된 저작권자의 전자서명이 포함되고 저작권자가 설정한 라이선스 정보가 클리어링 하우스에 등록
  • 사용자가 콘텐츠를 사용하기 위해서는 클리어링 하우스에 등록된 라이선스 정보를 통해 사용자 인증과 콘텐츠 사용 권한 소유 여부를 확인 받아야 함
  • 종량제 방식을 적용한 소프트웨어의 경우 클리어링 하우스를 통해 서비스의 실제 사용량을 측정하여 이용한 만큼의 요금을 부과

*클리어링 하우스(Clearing House) : 디지털 저작권 라이선스의 중개 및 발급을 수행하는 곳으로 디지털 저작물의 이용 내역을 근거로 저작권료의 정산 및 분배가 수행됨

'Clearing' 에는 결제, 청산 이라는 의미도 있으므로 클리어링 하우스는 결제가 이루어지는 곳으로 해석할 수도 있음

* 종량제 방식 : 실제 사용한 양에 따라 요금을 차등 적용하는 방식


3. 디지털 저작권 관리의 흐름 및 구성 요소

https://lipcoder.tistory.com/297 출처 / 시나공 도서 이미지

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

*메타데이터(Meta Data) : 데이터에 대한 데이터, 데이터에 대한 속성 정보등을 설명하기위한 데이터


4. 디지털 저작권 관리의 기술 요소

 

구성 요소 설 명
암호화(Encryption) 콘텐츠 및 라이선스를 암호화하고 전자 서명을 할 수 있는 기술
키 관리(Key Management) 콘텐츠를 암호화한 키에 대한 저장 및 분배 기술
암호화 파일 생성(Packager) 콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술
식별 기술(Identification) 콘텐츠에 대한 식별 체계 표현 기술
저작권 표현(Right Expression) 라이선스의 내용 표현 기술
정책 관리(Policy Management) 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술
크랙 방지(Tamper Resistance) 크랙에 의한 콘텐츠 사용 방지 기술
인증(Authentication) 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술

섹션 13. 소프트웨어 설치 매뉴얼 작성

 

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

 

  • 개발 초기에서부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서
  • 사용자 기준으로 작성하며 설치 시작부터 완료할 때까지의 전 과정을 빠짐없이 순서대로 설명
  • 설치 과정에서 표시될 수 있는 오류 메시지 및 예외 상황에 관한 내용을 별도로 분류하여 설명
  • 목차 및 개요, 서문, 기본 사항 등이 기본적으로 포함 되어있어야 하며 목차에는 전체 설치 과정을 순서대로 요약한 후 관련 내용의 시작 페이지를 함께 기술
  • 설치 매뉴얼의 주요 특징, 구성과 설치 방법, 순서 등의 내용을 기술

2. 서문

 

  • 문서 이력, 설치 매뉴얼의 주석, 설치 도구의 구성, 설치 환경 체크 항목을 기술
  • 문서 이력 예시
버전 작성자 작성일 검토자 일시 검수인
v 0.1 박개발 2021-04-21 황종근 2021-04-15 박인식
변경내용 최초 작성
  • 설치 매뉴얼의 주석 : 주의 사항과 참고 사항을 기술

    • 주의 사항 : 소프트웨어를 설치할 때 사용자가 반드시 알고 있어야 하는 중요한 내용을 기술
    • 참고 사항 : 설치에 영향을 미칠 수 있는 사용자의 환경이나 상황에 대한 내용을 기술
  • 설치 도구의 구성
    • exe(실행 파일), dll(장치의 드라이버 등 프로그램 설치 과정에서 필요한 경우 호출에서 사용하는 동적 링크 라이브러리 파일, ini(window기반의 기본 구성 값을 변경해야 하는 경우 사용되는 설정 초기화 파일), chm(HTML 로 구성된 도움말 파일) 등의 설치 관련 파일에 대해 설명
    • 폴더 및 설치 프로그램 실행 파일에 대해 설명
    • 설치 과정 및 결과가 기록되는 log 폴더에 대해 설명
    • 설치 환경 체크 항목
항목 내용
사용자 환경 CPU, Memory, OS 등
응용 프로그램 설치 전 다른 응용프로그램 종료
업그레이드 버전 업그레이드 이전 버전에 대한 존재 유무 확인
백업 폴더 확인 데이터 저장 폴더를 확인하여 설치 시 폴더를 동기화

3. 기본 사항 (기본적으로 설명 되어야할 항목)

항목 내용
소프트웨어의 개요 주요 기능 및 UI 설명
UI 및 화면 상의 버튼, 프레임 등을 그림으로 설명
설치 관련 파일 소프트웨어 설치에 필요한 파일 설명
exe, ini, log 등의 파일 설명
설치 아이콘(Installation) 설치 아이콘 설명
프로그램 삭제 설치된 소프트웨어의 삭제 방법 설명
관련 추가 정보 소프트웨어 이외의 관련 설치 프로그램 정보
소프트웨어 제작사 등의 추가 정보 기술

4. 설치 매뉴얼 작성 순서

 

  1. 기능 식별 : 소프트웨어의 개발 목적과 주요 기능을 흐름 순으로 정리하여 기록
  2. UI 분류 : 설치 매뉴얼을 작성할 순서대로 UI를 분류한 후 기록
  3. 설치 파일/백업 파일 확인 : 폴더 위치, 설치 파일, 백업 파일 등의 개별적인 기능을 확인하여 기록
  4. Uninstall 절차 확인 : 직접 Uninstall을 수행하면서 그 순서를 단계별로 자세히 기록
  5. 이상 Case 확인 : 설치 과정에서 발생할 수 있는 다양한 Case를 만들어 확인하고 해당 Case에 대한 대처법을 자세하게 기록
  6. 최종 매뉴얼 적용 : 설치가 완료된 화면과 메세지를 캡처하여 추가하고 완성된 매뉴얼을 검토하고 고객 지원에 대한 내용을 기술