도서 개발 공부/정보 처리 기사 필기

2. 소프트웨어 개발 - 제품 소프트웨어 패키징(소프트웨어 패키징 ~ 소프트웨어 사용자 매뉴얼 작성)

캐티시 2022. 3. 31. 15:19

45. 소프트웨어 패키징

: 모듈별로 생성한 실행 파일을 묶어 배포용 설치 파일을 만드는 것

  • 사용자 중심으로 진행
  • 향후 관리를 위해 소스 코드를 모듈화
  • 다양한 환경에서 소프트웨어를 사용할 수 있도록 일반적인 배포 형태로 패키징

- 패키징 시 고려 사항

  • 사용자의 시스템 환경(OS, CPU, 메모리, etc.)에서 소프트웨어 사용에 필요한 최소 환경 정의
  • UI를 시각적 자료와 함께 제공. 매뉴얼과 일치시켜 패키징
  • 소프트웨어가 하드웨어와 함께 관리될 수 있도록 Management Service 형태로 제공
  • 내부 컨텐츠에 대한 암호화 및 보안 고려, 소프트웨어 종류에 적합안 암호화 알고리즘 적용
  • 다른 컨텐츠 및 단말기 간 DRM 연동 고려
  • 사용자를 위해 복잡성 및 비효율성 문제 고려

Management Service : 소프트웨어를 24시간 모니터링하며 문제 발생 시 현장에 출동하여 점검을 수행하는 등 체계적으로 운영 관리와 유지보스를 수행하는 서비스

 

- 패키징 주기 : 애자일 기법의 경우 보통 2~4주 내에 지정. 각 개발 주기가 끝날 때마다 패키징 수행

  • 개발 주기별 패키징 결과물은 테스트 서버에 배포
  • 마지막 개발 과정으로 생성된 최종 패키징 결과물은 설치 및 사용 매뉴얼과 함께 온라인/오프라인 배포
  • 최근의 IDE 도구는 코딩부터 배포까지의 대부분의 과정을 지원하므로 별도의 패키징 도구를 사용하지 않음

 

- 패키징 작업 순서

기능 식별 - 작성된 코드의 기능 확인
 
모듈화 - 기능 단위로 코드 분루
 
빌드 진행 - 모듈 단위별로 실행 파일 생성
 
사용자 환경 분석 - 최소 운영 환경 정의 (운영체제, CPU, RAM, etc.)
 

패키징 및 적용 시험
- 실행 파일들을 정의된 환경에 맞게 배포용 파일 형식으로 패키징 (msi, dmg, jar, etc.)

- 패키징 결과를 테스트하고 불편사항을 사용자 입장에서 확인
 
패키징 변경 개선 - 확인된 불편사항을 기반으로 패키징 변경 및 개선
 
배포 - 배포 수행. 오류 발생 시 개발자에 수정 요청

46. 릴리즈 노트

: 개발 과정에서 정리된 릴리즈(배포) 정보를 사용자와 공유하기 위한 문서

게임 브롤스타즈 공식 홈페이지의 릴리즈 노트 게시판

  • 테스트 진행 방법에 대한 결과와 소프트웨어 사양에 대한 준수 여부 확인 가능
  • 소프트웨어에 포함된 전체 기능, 서비스 내용, 개선 사항 등 공유
  • 소프트웨어의 버전 및 릴리즈 정보의 체계적 관리 가능
  • 릴리즈 노트는 초기 배포 시 또는 출시 후 추가 배포 시에 제공
    • 초기 버전에 대한 릴리즈 노트에는 소프트웨어의 기능과 사용환경에 대한 내용 포함
    • 추가 버전에 대한 릴리즈 노트에는 개선된 작업에 대한 내용 포함
  • 릴리즈 노트의 정보는 철저한 테스트를 거친 것이며 최종 승인 후 문서화되어 제공
  • 릴리즈 노트는 정확하고 완전한 정보를 기반으로 개발팀에서 직접 현재 시제로 작성
  • 주요 포함 항목
    • Header (릴리즈 노트 이름, 릴리즈 버전 및 날짜, 릴리즈 노트의 버전 및 날짜, etc.)
    • 소프트웨어 및 변경 사항 전체에 대한 간략한 개요
    • 릴리즈 노트의 목적
    • 문제 요약 및 버그 발견 과정, 버그 수정 내용
    • 사용자에 대한 영향도, SW 지원 영향도
    • 그 외 참고 사항 노트, 면책 조항, 연락처 등

 

 

 

- 릴리즈 노트 작성 시 고려사항

  • 신규 소스, 빌드 등의 이력을 정확하게 관리하고 개선된 항목에 대한 이력 정보도 작성
  • 소프트웨어 베타 버전의 출시, 긴급한 버그 수정, 업그레이드 등의 기능 향상, 사용자 요청으로 인한 변화 시에 추가 버전에 대한 릴리즈 노트 작성
  • 사용자 요구로 인한 추가나 수정의 경우 자체 기능 향상과는 다른 별도의 릴리즈 버전으로 출시

 

- 릴리즈 노트 작성 순서

모듈 식별 모듈별 빌드 수행 후 릴리즈 노트에 작성할 내용 확인
 
릴리즈 정보 확인 릴리즈 노트 이름, 버전 및 날짜, 릴리즈 버전 및 날짜 등 확인
 
릴리즈 노트 개요 작성 소프트웨어 및 변경사항 전체에 대한 간략한 개요 작성
 
영향도 체크 해당 릴리즈 버전의 변화가 사용자나 다른 소프트웨어에 끼칠 수 있는 영향 기술
 
정식 릴리즈 노트 작성 Header, 개요, 영향도 등을 포함한 정식 릴리즈 노트 내용 작성
 
추가 개선 항목 식별 필요한 경우 추가 릴리즈 노트 작성

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

: 저작권자가 배포한 디지털 컨텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 컨텐츠를 관리하고 보호하는 기술

 

저작권 : 저작물에 대한 창작자가 가지는 배타적 독점권, 창작자가 타인의 침해를 받지 않을 고유 권리

 

  • 원본 컨텐츠가 아날로그인 경우 디지털로 변환하여 패키저(Packager)로 DRM 패키징 수행
  • 패키징을 수행하면 컨텐츠에 암호화된 저작권자의 전자 서명이 포함되고 라이선스 정보가 클리어링 하우스에 등록됨
  • 컨텐츠 크기가 작은 경우 사용자가 요청하는 시점에서 실시간으로, 크기가 큰 경우에는 미리 패키징을 수행

 

1) 클리어링 하우스 (Clearing House)

: 디지털 저작권 라이선스의 중개와 발급을 수행하는 곳.

  • 디지털 저작물의 이용 내역을 근거로 저작권료의 정산 및 분배 수행
  • 사용자가 특정 컨텐츠를 사용하기 위해서는 클리어링 하우스에 저작권자가 등록한 라이선스 정보를 통해 사용자 인증과 컨텐츠 사용 권한을 확인 받아야 함
  • 종량제 방식의 경우 클리어링 하우스를 통해 서비스의 사용량을 측정하고 이에 따라 요금을 부과함

 

2) 디지털 저작권 관리 흐름

디지털 저작권 관리 흐름도

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

 

3) 디지털 저작권 관리의 기술

  • 암호화 (Encryption) : 컨텐츠와 라이선스의 암호화 및 전자서명 수행
  • 키 관리 (Key Management) : 컨텐츠를 암호화한 키에 대한 저장 및 분배 수행
  • 암호화 파일 생성 (Packager) : 컨텐츠를 암호화된 컨텐츠로 생성
  • 식별 기술 (Identifier) : 컨텐츠에 대한 식별 체계 표현
  • 저작권 표현 (Right Expression) : 라이선스의 내용 표현
  • 정책 관리 (Policy Management) : 라이선스 발급 및 사용에 대한 정책 표현 및 관리
  • 크랙 방지 (Tamper Resistance) : 크랙에 의한 컨텐츠 사용 방지
  • 인증 (Authentication) : 사용자 인증

48. 소프트웨어 설치 매뉴얼 (Software Installation Manual/Guide)

: 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서

  • 사용자 기준으로 작성
  • 설치의 시작부터 완료까지의 전 과정을 빠짐없이 순서대로 설명
  • 설치 과정에서 나타날 수 있는 오류 메시지 및 예외 상황에 대한 내용 설명

- 목차 및 개요

  • 설치 매뉴얼의 목차에는 전체 설치 과정을 요약하여 시작 페이지와 함께 나타냄
  • 설치 매뉴얼의 개요에는 설치 매뉴얼의 주요 특징, 구성, 설치 방법 및 순서 등의 내용 기술

 

- 서문

  • 문서 이력
  • 설치 매뉴얼의 주석
    • 주의 사항 : 설치 시에 사용자가 반드시 알고 있어야 하는 중요한 내용
    • 참고 사항 : 설치에 영향을 미칠 수 있는 사용자 환경이나 상황
  • 설치 도구 구성 : 설치 관련 파일, 폴더 및 설치 프로그램 실행 파일, log 폴더 등
  • 설치 환경 체크 항목 : 사용자 환경, 설치 전 다른 응용 프로그램 종료 여부, 업그레이드 버전, 백업 폴더 확인

 

- 기본 사항

  • 소프트웨어 개요
  • 설치에 필요한 파일
  • 설치 아이콘
  • 프로그램 삭제 방법
  • 관련 추가 정보

 

- 설치 매뉴얼

  • 설치 화면 및 UI : 설치 실행 화면, 메인 화면 및 안내창
  • 설치 이상 메시지 : 설치 방법이나 환경이 잘못된 경우 표시될 수 있는 메시지 설명
  • 설치 완료 및 결과 : 설치 완료 화면
  • FAQ : 설치 과정에서 사용자가 직면할 수 있는 다양한 문제 상황에 대한 FAQ 정리
  • 설치 시 점검 사항
  • 네트워크 환경 및 보안
  • 고객 지원 방법 : 설치와 관련된 기술적 지원이나 관련 서비스를 문의할 수 있는 연락처
  • 준수 정보 및 제한 보증 (Compliance Information and Limited Warranty)

 

- 설치 매뉴얼 작성 순서

기능 식별 소프트웨어 개발 목적과 주요 기능을 흐름 순으로 정리 및 기록
 
UI 분류 설치 매뉴얼 작성 순서대로 UI 분류 및 기록
 
설치 파일 / 백업 파일 확인 설치 파일과 백업 파일 등의 개별적 기능 확인 및 기록
 
언인스톨 절차 확인 직접 언인스톨을 수행하며 그 순서를 자세히 기록
 
이상 케이스 확인 설치 과정에서 발생할 수 있는 다양한 케이스 확인, 해당 케이스에 대한 대처법 기록
 
최종 매뉴얼 적용 설치 완료 화면과 메시지 추가. 완성된 매뉴얼 검토 및 고객 지원 내용 작성

48. 소프트웨어 사용자 매뉴얼 (Software User Manual/Guide)

: 사용자가 소프트웨어를 사용하는 과정에 필요한 내용을 기록한 설명서와 안내서

  • 사용자 기준으로 작성
  • 개별적으로 동작 가능한 컴포넌트 단위로 매뉴얼 작성
  • 컴포넌트 명세서와 컴포넌트 구현 설계서를 기반으로 작성
  • 소프트웨어 사용에 필요한 절차, 환경 등의 제반 사항 포함
  • 소프트웨어 배포 후 발생가능한 오류에 대한 패치와 기능 업그레이드를 위해 매뉴얼 버전 관리가 필요함

- 목차 및 개요

  • 목차에는 매뉴얼 전체 내용을 순서대로 요약하고 관련 시작 페이지를 함께 기술
  • 개요에는 소프트웨어의 주요 특징, 매뉴얼 구성, 실행 방법 및 사용법, 항목별 점검 기준 및 설정 방법 등 포함

 

- 서문

  • 문서 이력
  • 사용자 매뉴얼의 주석
    • 주의 사항 : 사용 시에 사용자가 반드시 알고 있어야 하는 중요한 내용
    • 참고 사항 : 특별히 참고해야 할 사용자 환경이나 상황
  • 기록 보관 내용 : 기술 지원이나 추가 정보를 얻기 위한  소프트웨어 등록 정보(소프트웨어 명, 모델명, 제품 번호 등)

 

- 기본 사항

  • 소프트웨어 개요
  • 소프트웨어 사용 환경 (사용을 위한 최소 환경, 최초 구동에 대한 설명, 사용시 주의사항, etc.)
  • 소프트웨어 사용 종료 및 관리에 대한 내용
  • 모델별, 버전별 특징과 차이점
  • 제품 기능과 인터페이스의 특징
  • 소프트웨어 구동 환경 (개발에 사용한 언어, 호환 가능한 OS, OS별 설치 후 구동까지의 과정, etc.)

 

- 사용자 매뉴얼

  • 사용자 화면 및 UI : 주의 사항 및 참고 사항 기술
  • 주요 기능 분류 : 기능이 실행되는 화면을 순서대로 나타내고 설명함. 기능 구현 과정에서의 주의 사항 및 참고 사항 기술
  • 응용 프로그램 및 설정 : 구동 시 함께 실행 가능한/불가능한 응용 프로그램 설명, 정상 구동을 위한 설정이나 기본값 설명
  • 장치 연동 : 소프트웨어가 특정 장치에 내장 되는 경우 연동되는 장치 설명
  • 네트워크 환경 : 정상적 네트워크 연결을 위한 설정값 설명
  • 프로필(Profile) 안내 : 소프트웨어 구동 환경 점검 파일인 Profile에 대한 안내, 그 외에 구동에 필수적인 파일 안내
  • 고객 지원 방법 : 소프트웨어 사용과 관련된 기술적 지원이나 관련 서비스를 문의할 수 있는 연락처
  • 준수 정보 및 제한 보증 (Compliance Information and Limited Warranty)

 

- 사용자 매뉴얼 작성 순서

작성 지침 정의 사용자 매뉴얼 작성 지침 기록
 
사용자 매뉴얼 구성 요소 정의 소프트웨어 기능, 구성 객체 목록, 객체별 메소드와 메소드의 파라미터, 사용 예시, 사용자 환경 세팅 방법 등
 
구성 요소별 내용 작성 사용자 매뉴얼 구성 요소별로 내용 기록
 
사용자 매뉴얼 검토 작성된 매뉼얼을 검토하고 수정 및 보완