▶ 041 소프트웨어 패키징
소프트웨어 패키징
모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것
- 개발자가 아닌 사용자 중심으로 진행
- 소스 코드는 향후 관리를 고려해 모듈화하여 패키징함
*모듈화 : 시스템을 각 기능별로 나누는 것
- 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징함
- 사용자의 편의성 및 실행 환경을 우선적으로 고려해야 함
패키징 시 고려사항
- 사용자의 시스템 환경, 즉 OS, CPU, 메모리 등에 필요한 최소 환경을 정의
- UI는 시각적인 자료와 함께 제공하고 매뉴얼과 일치시켜 패키징함
- 소프트웨어를 패키징해 배포한 이후, 하드웨어와 함께 관리될 수 있도록 Managed Service 형태로 제공하는 것이 좋음
- 고객의 편의성을 고려한 안정적인 배포 중요
- 패키징의 변경 및 개선에 대한 관리를 항상 고려해야 함
패키징 작업 순서
패키징 주기는 소프트웨어 개발 기법에 따라 달라지는데, 각 주기가 끝날 때마다 패키징 수행
- 프로젝트 개발 과정에서 주기별로 패키징한 결과물은 테스트 서버에 배포
- 마지막 개발 과정을 거쳐 패키징한 결과물은 고객이 사용할 수 있도록 온라인 배포 또는 오프라인으로 배포 함
▶ 042 릴리즈 노트 작성
릴리즈 노트(Release Note)
개발 과정에서 정리된 릴리즈 정보를 소프트웨어의 최종 사용자인 고객과 공유하기 위한 문서
*릴리즈 : 개발이 완성된 소프트웨어를 출시, 배포하는 것
- 소프트웨어에 포함된 전체 기능, 서비스의 내용, 개선 사항 등을 사용자와 공유할 수 있음
- 소프트웨어의 버전 관리나 릴리즈 정보를 체계적으로 관리할 수 있음
- 테스트 진행 방법에 대한 결과와 소프트웨어 사양에 대한 개발팀의 정확한 준수 여부를 확인할 수 있음
- 소프트웨어의 초기 배포 시 또는 출시 후 개선 사항을 적용한 추가 배포 시에 제공
- 개발팀에서 제공하는 소프트웨어 사양에 대한 최종 승인까지 얻은 후 문서화 되어 제공됨
릴리즈 노트 초기 버전 작성 시 고려사항
- 정확하고 완전한 정보를 기반으로 개발팀에서 직접 현재 시제로 작성
- 신규 소스, 빌드 등의 이력이 정확하게 관리되어 변경 또는 개선된 항목에 대한 이력 정보들도 작성
릴리즈 노트 추가 버전 작성 시 고려사항
- 중대한 오류가 발생해 긴급 수정하는 경우, 릴리즈 버전을 출시하고 버그 번호를 포함한 모든 수정된 내용을 담아 릴리즈 노트 작성
- 소프트웨어에 대한 기능 업그레이드를 완료한 경우에 릴리즈 버전을 출시하고 릴리즈 노트 작성
- 사용자로부터 접수된 요구사항에 의해 추가나 수정된 경우 자체 기능 향상과는 다른 별도의 릴리즈 버전을 출시하고 릴리즈 노트 작성
릴리즈 노트 작성 순서
▶ 043 디지털 저작권 관리(DRM)
저작권
창작자가 가지는 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한
- 저작권 보호 기술 : 컴퓨터 프로그램들과 같이 복제하기 쉬운 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법
디지털 저작권 권리(DRM; Digital Right Management)
저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 콘텐츠의 생성, 유통, 이용까지의 전 과정에 결쳐 사용되는 디지털 콘텐츠 관리 및 보호 기술
- 원본 콘텐츠가 아날로그인 경우에는 디지털로 변환한 후 패키저에 의해 DRM 패키징 수행
- 콘텐츠의 크기가 음원이나 문서와 같이 크기가 작은 경우 사용자가 콘텐츠를 요청하는 시점에서 실시간으로 패키징을 수행하고, 크기가 큰 경우 미리 패키징을 수행 후 배포
- 패키징 수행 시 콘텐츠에는 암호화된 저작권자의 전자서명이 포함되고 저작권자가 설정한 라이선스 정보가 클리어링 하우스에 등록 됨
*클리어링 하우스(Clearing House) : 디지털 저작권 라이선스의 중개 및 발급을 수행하는 곳, 디지털 저작물의 이용 내역을 근거로 저작권료의 정산 및 분배가 수행됨
- 사용자가 콘텐츠를 사용하기 위해서는 클리어링 하우스에 등록된 라이선스 정보를 통해 사용자 인증과 콘텐츠 사용 권한 소유 여부를 확인받아야 함
- 종량제 방식을 적용한 소프트웨어의 경우 클리어링 하우스를 통해 서비스의 실제 사용량을 측정하여 이용한 만큼의 요금 부과
디지털 저작권 관리의 흐름도
- 클리어링 하우스(Clearing House) : 저작권에 대한 사용 권한, 라이선스 발급, 사용량에 따른 결제 관리 등을 수행하는 곳
- 콘텐츠 제공자(Contents Provider) : 콘텐츠를 제공하는 저작권자
- 패키저(Packager) : 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화하는 프로그램
*메타 데이터 : 데이터에 대한 데이터, 즉 데이터에 대한 속성 정보 등을 설명하기 위한 데이터
- 콘텐츠 분배자(Contents Distributor) : 암호화된 콘텐츠를 유통하는 곳이나 사람
- 콘텐츠 소비자(Customer) : 콘텐츠를 구매해서 사용하는 주체
- DRM 컨트롤러(DRM Controller) : 배포된 콘텐츠의 이용 권한을 통제하는 프로그램
- 보안 컨테이너(Security Container) : 콘텐츠 원본을 안전하게 유통하기 위한 전자적 보안 장치
디지털 저작권 관리의 기술 요소
디지털 저작권 관리를 위해 사용되는 기술은 다음과 같음
구성요소 |
설명 |
암호화(Encryption) |
콘텐츠및 라이선스를 암호화하고 전자 서명을 할 수 있는 기술 |
키 관리(Key Management) |
콘텐츠를 암호화한 키에 대한 저장 및 분배 기술 |
암호화 파일 생성(Packager) |
콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술 |
식별 기술(Identification) |
콘텐츠에 대한 식별 체계 표현 기술 |
저작권 표현(Right Expression) |
라이선스의 내용 표현 기술 |
정책 관리(Policy Management ) |
라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술 |
크랙 방지(Tamper Resistance) |
크랙에 의한 콘텐츠 사용 방지 기술 |
인증(Authentication) |
라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술 |
▶ 044 소프트웨어 설치 매뉴얼 작성
소프트웨어 설치 매뉴얼
개발 초기에서부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서
- 설치 메뉴얼은 사용자 기준으로 작성
- 설치 시작부터 완료 될 때까지의 전 과정을 빠짐없이 순서대로 설명
서문
서문에는 문서 이력, 설치 매뉴얼의 주석, 설치 도구의 구성, 설치 환경 체크 항목을 기술
- 설치 매뉴얼의 주석 : 주의사항과 참고 사항을 기술
- 설치 도구의 구성 : 설치 관련 파일, log 폴더, 폴더 및 설치 프로그램 실행 파일에 대해 설명
- 설치 도구 체크 항목 : 사용자 환경, 응용 프로그램, 업그레이드 버전, 백업 폴더 확인
기본 사항
소프트웨어와 관련하여 기본적으로 설명되어야 할 항목
- 소프트웨어 개요, 설치 관련 파일, 설치 아이콘, 프로그램 삭제, 관련 추가 정보
설치 매뉴얼 작성 방법
설치 매뉴얼은 사용자가 설치 과정을 이해하기 쉽도록 설치 화면을 누락 없이 캡쳐하고 순서대로 상세히 설명
- 설치 화면 및 UI, 설치 이상 메시지, 설치 완료 및 결과, FAQ, 설치 시 점검 사항, Network 환경 및 보안, 고객 지원 방법, 준수 정보 및 제한 보증 등에 대한 내용 기술
설치 매뉴얼 작성 순서
▶ 045 소프트웨어 사용자 매뉴얼 작성
소프트웨어 사용자 매뉴얼
사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서와 안내서
- 개별적으로 동작이 가능한 컴포넌트 단위로 매뉴얼 작성
- 컴포넌트 명세서와 컴포넌트 구현 설계서를 토대로 작성
서문
서문에는 문서 이력, 사용자 매뉴얼의 주석, 기록 보관을 위해 필요한 내용을 기술 함
- 사용자 매뉴얼의 주석 : 주의 사항과 참고 사항 기술
- 기록 보관 내용 : 필요한 기술 지원이나 추가 정보를 얻기 위한 소프트웨어 등록 정보 기술
기본 사항
소프트웨어와 관련하여 기본적으로 설명되어야 할 항목
- 소프트웨어 개요, 소프트웨어 사용 환경, 소프트웨어 관리, 모델, 버전별 특징, 기능, 인터페이스의 특징, 소프트웨어 구동 환경
사용자 매뉴얼 작성 방법
사용자 매뉴얼은 사용자가 사용 방법을 이해하기 쉽도록 상황별로 누락 없이 캡처하여 순서대로 상세히 설명
- 사용자 화면 및 UI, 주요 기능 분류, 응용 프로그램 및 설정, 장치 연동, Network 환경, Profile 안내, 고객 지원 방법, 준수 정보 및 제한 보증
사용자 매뉴얼 작성 순서