Cohe

12. 제품 소프트웨어 패키징 본문

자격증 공부/정보처리기사 실기

12. 제품 소프트웨어 패키징

코헤0121 2024. 10. 14. 17:18
728x90
12. 제품 소프트웨어 패키징

12. 제품 소프트웨어 패키징

keywordsDRM 컨트롤러Dynamic ModelingMPEG-21Secure DBXrMLssourl공개키 기반 구조노트릴리즈 노트모듈화문서 이력 정보보안 컨테이너이슈 요약전자 서명제품 software 매뉴얼제품 소프트웨어 매뉴얼제품 소프트웨어 패키징주석증분 백업차등 백업코드 난독화클리어링 하우스헤더
pageNum384-468

제품 소프트웨어 패키징하기

사용자 중심의 패키징 수행

  1. 사용자 중심의 패키징 수행의 개념
    • 제품 소프트웨어 패키징은 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정이다.
    • 제품 소프트웨어 패키징 적용 시 특성은 다음과 같다.
  1. 제품 소프트웨어 패키징을 위한 모듈빌드
    • 제품 소프트웨어 패키징은 모듈들을 통해 수행되므로, 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징을 수행한다.
      특성설명
      전체 내용을 포함설치와 사용에 필요한 과정 및 환경 등의 전체 내용을 포함하는 매뉴얼을 작성합니다.
      버전 관리 / 릴리즈 노트제품 소프트웨어에 대한 패치 개발과 업그레이드를 수행하며, 버전 관리 및 릴리즈 노트를 통해 신규/변경 이력을 확인하고 지속적으로 관리합니다.
      고객 중심제품 소프트웨어 패키징은 개발자가 아닌 사용자 중심으로 진행되며, 고객의 편의성을 중시합니다.
      모듈화신규 및 변경 개발 소스를 식별하고, 이를 모듈화하여 상용 제품으로 패키징합니다.
    1. 소프트웨어 모듈 및 패키징
      1. 모듈화(Modularization) 개념
        • 모듈화는 모듈을 이용하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 모듈 중심의 소프트웨어 설계 기법이다.
        • 모듈 간 결합도의 최소화(Loose Coupling)하고 모듈 내 요소들 간의 응집도 최대화(Strong Cohesion)하는 것이 중요하다.
          장점설명
          개발 편의성- 프로그램을 효율적으로 관리하며 전체적인 소프트웨어 이해를 용이하게 합니다.
          - 소프트웨어 시험, 통합, 수정 시 용이성을 제공합니다.
          - 모듈의 재사용 가능성으로 개발과 유지보수가 용이합니다.
          - 오류의 파급 효과를 최소화합니다.
          복잡성 감소- 기능의 분리가 가능하고 인터페이스가 단순하여 복잡성이 감소됩니다
          - 복잡도 감소로 인한 성능 향상이 이루어집니다.
      1. 제품 소프트웨어의 패키징
        • 제품 소프트웨어에서는 모듈의 개념을 정확하게 파악한 후에 기능 단위로 패키징하는 것이 필요하다.
        • 배포 전 시험 및 수정 등의 작업 진행에서도 모듈 단위로 분류하여 작업을 진행한다.
    1. 제품 소프트웨어 모듈 빌드 기법
      • 소프트웨어 빌드는 소스 코드 파일을 컴퓨터에서 실행할 수 있는 제품 소프트웨어의 단위로 변환하는 과정이다.
      • 대표적 인 도구들로는 Ant, Make, Maven, Gradle 등의 빌드 도구들이 있다.
      • 빌드 과정을 문서화하면 다양한 이력에 대한 관리가 가능하다
    1. 사용자 중심의 패키징 직업
      1. 사용자 중심의 패키징 작업 시 고려 사항
        • 제품 소프트웨어 패키징은 사용자를 위해 진행되는 작업으로서, 고객 편의성 및 사용자 실행 환경을 우선 고려하여 진행한다.
        • 사용자 중심의 패키징 고려 사항은 다음과 같다.
        고려 사항설명
        시스템 환경- OS, CPU, 메모리 등을 수행하기 위한 최소 환경을 정의합니다.
        직관적 UI- 사용자가 직관적으로 확인할 수 있는 UI를 제공하여 사용성을 향상시킵니다.
        관리 서비스- 매뉴얼과 일치시켜 패키징 작업을 진행하고, 제품 소프트웨어와 하드웨어의 통합 적용을 지원합니다.
        안정적 배포- 제품 소프트웨어는 안정적인 배포가 중요하며, 다양한 사용자 요구사항을 반영하여 패키징의 변경과 개선을 고려하여 배포합니다.
      1. 사용자 중심의 모듈 패키징 프로세스
        순서프로세스세부 활동
        1기능식별• 전체적인 기능 정의 및 데이터 흐름 식별
        • 기능 단위 및 출력에 대한 상세 정의
        • 입출력 데이터 식별
        2모듈화• 기능의 공유와 재활용 분류
        • 모듈 간 결합도와 응집도 식별
        • 기능 및 서비스를 모듈 단위로 분류
        3빌드 진행• 신규 개발 소스 및 컴파일 결과물 준비
        • 정상 기능 단위 및 서비스 분류
        • 빌드 도구 확인 및 정상 수행
        • 컴파일 이외 도구의 다양한 기능 확인
        4사용자 환경 분석• 최소 사용자 환경 사전 정의
        • 모듈 단위의 사용자 환경 테스트 수행
        5패키징 적용 시험• 사용자 환경에서의 패키징 적용 시험
        • UI 및 시스템 상의 편의성 체크
        6패키징 변경 개선• 패키징 적용 시 변경점 도출
        • 최소 사용자 환경에서 서비스 가능한 수준의 개선
        • 개선 버전의 재배포

버전을 고려한 제품 릴리즈 노트 작성

  1. 릴리즈 노트
    1. 릴리즈 노트의 개념
      • 릴리즈 노트는 최종 사용자인 고객에게 개발 과정에서 정리된 제품의 릴리
        즈 정보를 제공하는 문서이다.
        • 릴리즈 정보는 상세 서비스 정보를 포함하여 제품의 수정, 변경, 개선하는
        일련의 작업들에 대한 정보이며, 릴리즈 노트를 통해 제공된다
    1. 릴리즈 노트의 중요성
      중요성설명
      정보 제공- 최종 배포된 릴리즈 노트에는 테스트 진행 과정, 테스트 결과, 개발팀의 제공 사양 준수 정도를 파악할 수 있음
      - 사용자에게 더 자세하고 확실한 정보를 제공
      - 기본적으로 전체적인 제품의 수행 기능 및 서비스의 변화를 공유
      관리의 용이성- 전체적인 버전 관리 및 릴리즈 정보를 체계적으로 관리
  1. 릴리즈 노트 작성 시 고려 사항
    • 릴리즈 노트는 현재 시제로 작성되어야 하며, 배포 시부터 신규 소스, 빌드등 이력을 명확하고 정확하게 제공한다.
    • 개발자와 테스터가 함께 협업해야 하고 최초 및 변경, 개선 항목까지 연결되어 다음 항목에 대한 정보들이 릴리즈 노트를 통해 작성되어야 한다.
    • 릴리즈 노트는 개발팀에서 직접 작성하여야 한다.
    1. 릴리즈 노트 작성 항목
      • 릴리즈 노트는 특정 소프트웨어의 최근 변경 사항, 개선 사항 및 버그 수정을 간결히 요약한다.
      • 릴리즈 노트 작성 시 다음 항목들이 포함되어야 한다.
      항목설명
      헤더문서의 정보를 기록하는 부분으로 릴리스 노트의 이름, 제품 이름, 버전 번호, 릴리즈 날짜 등을 포함합니다.
      개요제품 및 변경에 대한 간략한 전반적 개요를 기술합니다.
      목적릴리스 노트의 목적과 새로운 기능, 버그 수정 내용을 설명합니다.
      이슈 요약버그의 간단한 설명 또는 추가된 릴리스 항목을 요약하여 기술합니다.
      재현 항목버그 발견에 따른 재현 단계를 기술합니다.
      수정•개선 내용수정 및 개선된 내용을 간단하게 설명합니다.
      사용자 영향도버전 변경에 따른 최종 사용자의 기능 및 응용 프로그램 상의 영향을 기술합니다.
      설명소프트웨어의 지원 영향도 및 설치 항목 등을 자세히 설명합니다.
      면책 조항제품 사용과 관련된 면책 조항을 기술합니다.
      연락정보사용자 지원 및 문의에 관련된 연락처 정보를 제공합니다.
    1. 릴리즈 노트 예외 케이스
      예외 케이스설명
      테스트 단계에서의
      베타 버전 출시
      제품의 베타 버전이나 차기 버전 테스트 단계에서도 릴리즈 노트를 작성하여 정보를 체크합니다. 베타 버전에 대한 릴리즈 노트를 별도로 작성할지 미리 정의해야 합니다.
      긴급 버그 수정 시보통 긴급히 버그가 수정되면 릴리즈 노트 작성을 놓치는 경우가 많으므로 버그 번호를 포함한 모든 수정된 버그를 기술하여 릴리즈 노트에 추가합니다.
      자체 기능 향상을 포함한 모든 추가 기능의 향상자체적으로 기능 개선을 완료했을 때 정식으로 릴리즈 버전을 추가하고, 이에 따른 신규 릴리즈 노트를 작성합니다.
      사용자 요청에 따른 특이한 케이스 발생사용자의 의견이 접수된 경우, 이를 자체 기능 향상과는 별도의 버전으로 새로 추가하여 릴리즈 노트를 작성합니다. 이 때, 연락처 정보를 통해 사용자의 의견을 수렴합니다.
  1. 릴리즈 노트 작성 프로세스
    순서프로세스세부 활동
    1모듈식별 릴리즈 노트 작성을 위한 모듈 및 빌드 정리
    • 입출력 데이터, 전체적인 기능 정의, 데이터 흐름 정리
    • 기능 단위 및 출력에 대한 상세 정의
    2릴리즈 정보 확인 문서 이름(릴리스 노트 이름), 제품 이름 정보 확인
    • 버전 번호, 릴리즈 날짜 확인
    • 참고 날짜, 노트 버전 확인
    3릴리즈 노트 개요 작성 제품 및 변경에 대한 간략한 전반적인 개요 작성
    • 개발 소스의 빌드에 따른 결과물 기록
    • 버전 및 형상 관리에 대한 전반적인 노트 기록
    4영향도 체크• 버그의 간단한 설명 또는 릴리즈 추가 항목 기술
    • 버그 발견을 위한 재현 테스트 및 재현 환경을 기록
    • 소프트웨어 및 사용자 입장에서의 영향도 파악
    5정식 릴리즈 노트 작성릴리즈 정보, 헤더 및 개요 등 기본사항 기술
    • 정식 버전을 기준으로 릴리즈 노트 개요 작성
    • 이슈, 버그 등 개선 내용 기술
    6추가 개선 항목 식별• 추가 개선에 대한 베타 버전을 이용한 테스트 수행
    • 테스트 중 발생한 긴급 버그 수정
    • 추가 기능 향상을 위해 작은 기능 수정
    • 사용자 요청에 따른 추가 개선

패키징 도구를 활용한 설치, 배포 수행

  1. 제품 소프트웨어의 패키징 도구
    • 디지털 콘텐츠의 불법 사용, 복제 방지, 과금 서비스를 통한 정상 사용자를 검증 가능한 저작권 도구를 통해 패키징하는 것이 중요하다.
    1. 제품 소프트웨어 패키징 도구의 개념
      • 제품 소프트웨어 패키징 도구는 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능을 제공하며, 안전한 유통과 배포를 보장하는 도구이다.
      • 패키징 도구는 불법 복제로부터 디지털 콘텐츠의 지적 재산권을 보호해 주는 사용 권한 제어 기술, 패키징 기술, 라이선스 관리, 권한 통제 기술 등을 포함한다.
    1. 패키징 도구 활용 시 고려 사항
      고려 사항설명
      암호화/보안 고려패키징 시 사용자에게 배포되는 소프트웨어이므로 내부 콘텐츠의 적절한 암호화 및 보안을 고려해야 합니다.
      이기종 연동 고려패키징 도구를 활용하여 다양한 이기종 콘텐츠 및 단말기 간의 DRM 연동을 고려하여 사용자 간의 호환성을 확보해야 합니다.
      사용자 편의성 고려패키징 도구를 선택할 때 사용자의 입장에서 불편할 수 있는 문제를 고려하여 사용자 편의성을 고려해야 합니다.
      적합한 암호화 알고리즘 선택적합한 암호화 알고리즘을 선택하여 소프트웨어의 보안을 강화하고, 배포 시 범용성에 지장이 없도록 고려해야 합니다.
  1. 제품 소프트웨어 저작권 보호의 이해와 필요성
    1. 저작권(Copyright)의 이해

      저작권은 창작물인 저작물에 대한 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한이다.

    1. 저작권 보호 기술의 개념
      • 저작권 보호 기술은 콘텐츠 및 컴퓨터 프로그램과 같이 복제가 용이한 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법이다.
      • 저작권 보호 기술은 다음과 같은 특성을 가진다.
        특성설명
        콘텐츠 복제 허용사용자가 허용된 경우에 한해 콘텐츠의 복제가 허용되며, 이때 사용자 확인을 거친 후 과금이 진행되거나, 제한된 경우에만 허용됩니다.
        종량제종량제 제품 소프트웨어의 경우, 이용 시간에 따라 요금이 부과되며, 이러한 요금 부과는 클리어링 하우스를 통한 이용시간에 비례하여 과금됩니다.
        암호화/보안 기능• 패키징 도구는 암호화/보안 등의 기능을 고려
        • 패키징 제작자가 지정한 Business Rule과 암호가 함께 패키징되어 배포
    1. 저작권 보호 기술의 필요성
      • 배포된 제품 소프트웨어의 무한 복제가 가능하고 원본과 복사본이 동일하게 배포될 특성을 가지고 있는 소프트웨어에 대한 저작권 보호 기술이 필요하다.
      • 제품 소프트웨어가 상용으로 배포되면 다양한 부가가치를 가질 수 있는 상품으로 바뀜에 따라 패키징 시에 원작자에 대한 권리 보호자가 우선적으로 필요하다.
  1. 저작권 보호 측면의 패키징 도구 활용
    1. 디지털 저작권 관리(DRM)
      1. 디지털 저작권 관리(DRM; Digital Right Management) 기능 활용
        • 중앙의 클리어링하우스에서 콘텐츠 제공자, 분배자, 소비자 간의 패키징 배포 및 키 관리, 라이선스 발급 관리를 수행한다.
        • DRM 구성요소는 저작권 관리 구성요소라고도 한다
          구성요소설명
          콘텐츠 제공자콘텐츠를 생성하고 제공하는 저작권자를 가리킵니다.
          콘텐츠 소비자콘텐츠를 소비하고 사용하는 주체를 의미합니다.
          콘텐츠 분배자콘텐츠를 암호화하여 유통하는 곳이나 개인을 지칭합니다.
          클리어링 하우스
          (Clearing House)
          • 저작권에 대한 사용 권한, 라이센스 발급, 사용량에 따른 관리 등을 수행하는곳
          • 키 관리 및 라이센스 발급 관리
          • 콘텐츠 권한 정책, 라이센스를 관리를 수행
          콘텐츠 권한 정책:
          • 라이센스 발급 여부를 결정하는 정책에 대한 부합 여부 확인
          • 적절한 사용 권한을 부여하는 역할 수행

          콘텐츠 라이센스
          • 클리어링 하우스에 의해서 사용자에게 전달되는 콘텐츠의 권리 인증
          • 콘텐츠에 대한 사용 조건 및 허가 정보를 포함
          DRM 콘텐츠
          (DRM Contents)
          - 서비스하고자 하는 암호화된 콘텐츠, 콘텐츠와 관련된 메타데이터, 콘텐츠 사용정보를 패키징하여 구성된 콘텐츠
          패 키저
          (Packager)
          • 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶는 도구
          DRM 컨트롤러
          (DRM Controller)
          • 배포된 디지털 콘텐츠의 이용 권한을 통제
          보안 컨테이너
          (Security Container)
          • 원본 콘텐츠를 안전하게 유통하기 위한 전자적 보안장치
      1. 암호화/보안 기능 중심의 패키징 도구 기술 활용
        • 올바른 패키징 도구의 활용을 위해서는 암호화/보안 기능 중심의 요소 기술을 정확히 이해하고 있어야 한다.
        • 이 기술을 바탕으로 패키징 작업 시에 도구를 이용하여 나오는 결과물에 대해서도 신뢰할 수 있도록 작업이 되어야 한다.
        구성요소설명
        암호화일반 텍스트, 콘텐츠, 라이선스 등을 암호화하고 전자서명하는 기술입니다.
        키 관리콘텐츠를 암호화하는 데 사용되는 키를 관리하고 저장하는 기술입니다.
        식별기술콘텐츠에 대한 식별 체계를 표현하고 관리하는 기술입니다.
        저작권 표현콘텐츠의 라이선스 내용을 표현하고 관리하는 기술입니다.
        암호화 파일 생성콘텐츠를 암호화하여 보호하는 기술입니다.
        정책 관리라이선스 발급 및 사용에 대한 정책을 표현하고 관리하는 기술입니다.
        크랙 방지크랙에 의한 콘텐츠 사용을 방지하기 위한 기술로, 난독화 등이 사용될 수 있습니다.
        인증라이선스 발급 및 사용의 기준이 되는 사용자 인증을 위한 기술입니다.
        암호화 파일 생성콘텐츠를 암호화하여 보호하는 기술입니다.
        정책 관리라이선스 발급 및 사용에 대한 정책을 표현하고 관리하는 기술입니다.
        크랙 방지크랙에 의한 콘텐츠 사용을 방지하기 위한 기술로, 난독화 등이 사용될 수 있습니다.
        인증라이선스 발급 및 사용의 기준이 되는 사용자 인증을 위한 기술입니다.
      • 암호화
        • 공개키 기반구조(PKI): 공개키 암호 방식을 기반으로 한 인증서를 사용하여 안전한 통신을 가능하게 하는 기술입니다.
        • 대칭 및 비대칭 암호화: 대칭 암호화는 동일한 키를 사용하여 암호화와 복호화를 수행하는 방식이며, 비대칭 암호화는 암호화와 복호화에 각기 다른 키를 사용하는 방식입니다.
        • 전자서명: 특정 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보로, 서명자를 확인하고 해당 문서에 서명했다는 사실을 나타냅니다.
      • 식별 기술
        • DOI(Digital Object Identifier): 디지털 저작물에 고유한 번호를 부여하여 저작권 보호 및 위치 추적을 위한 바코드 시스템입니다.
        • URI(Uniform Resource Identifier): 인터넷 상의 자원을 고유하게 식별하기 위한 주소 체계로, URL과 URN으로 구성됩니다.
      • 저작권 표현
        • XrML(eXtensible Right Markup Language): 디지털 콘텐츠의 권리 조건을 표현하기 위한 XML 기반의 마크업 언어입니다.
        • MPEG-21: 멀티미디어 요소 기술들이 통일된 형태로 상호 운용성을 보장하는 멀티미디어 표준 규격입니다.
      • 암호화 파일 생성
        • Pre-packaging : 콘텐츠를 등록하자마자 암호화하는 방법
        • On-the-fly Packaging : 사용자가 콘텐츠를 요청한 시점에 콘텐츠를 암호화하는 방법
      • 정책 관리
        • XML(eXtensible Markup Language) : 다른 특수한 목적을 갖는 마크업 언어를 만드는 데 사용하는 다목적 언어
        • CMS(Contents Management System) : 다양한 미디어 포맷에 따라 각종 콘텐츠를 작성, 수집, 관리, 배급하는 콘텐츠 생산에서 활용, 폐기까지 전 공급 과정을 관리하는 기술
      • 크랙 방지
        • 코드 난독화(Code Obfuscation) :역공학을 통한 공격을 막기 위해 프로그램의 소스 코드를 알아보기 힘든 형태로 바꾸는 기술
        • Secure DB : 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술
      • 인증
        • SSO(Single Sign On): 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 기술
  1. 애플리케이션 배포 도구를 활용한 배포 프로세스
    순서프로세스설명
    1빌드 내용 식별릴리즈 노트 작성을 위한 모듈 및 빌드 내용을 식별하고 정리합니다.
    2패키징 도구 식별사용할 패키징 도구를 선택하고 필요한 설정을 확인합니다.
    3DRM 흐름 확인 및 패키징 수행콘텐츠 분배자, 배포자, 소비자 간의 DRM(Digital Rights Management) 흐름을 확인하고, 패키징 작업을 수행합니다.
    4패키징 도구 설치패키징 도구를 시스템에 설치하고 환경에 맞게 설정합니다.
    5배포 작업제품 소프트웨어를 패키징한 후 배포 작업을 수행합니다.
    6정상 배포 확인배포된 제품 소프트웨어가 정상적으로 동작하며, 암호화/보안 기능이 제대로 적용되었는지 확인합니다.

제품 소프트웨어 매뉴얼 작성 및 버전 등록

제품 소프트웨어 매뉴얼 작성

  1. 제품 소프트웨어 매뉴얼 개념
    • 제품 소프트웨어 매뉴얼은 사용자 측면에서 패키징 이후 설치, 제품 소프트웨어를 사용하는 데 필요한 주요 내용을 기록한 문서이다.
    • 사용자 중심의 기능 및 방법을 나타낸 설명서와 안내서를 의미한다.
    • 제품 소프트웨어 매뉴얼은 설치 매뉴얼과 사용자 매뉴얼이 있다.
  1. 제품 소프트웨어 설치 매뉴얼 작성
    1. 제품 소프트웨어 설치 매뉴얼 개념
      • 제품 소프트웨어 설치 매뉴얼은 사용자가 제품을 구매한 후 설치 시 참조하는 문서이다.
      • 제품 소프트웨어 설치 매뉴얼에는 제품 소프트웨어 소개, 설치 파일, 설치 절차 등이 포함된다
        항목설명
        목차 및 개요매뉴얼 전체 내용을 요약하고 순서대로 정리합니다.
        문서 이력 정보매뉴얼 변경 이력에 대한 정보를 버전별로 표시합니다.
        설치 매뉴얼 주석주의 사항과 참고 사항을 포함하여 설치 매뉴얼의 주석을 작성합니다.
        주의 사항 : 사용자가 제품 설치 시 반드시 숙지해야 하는 중요한 정보를 주석으로 표시합니다.
        참고 사항 : 설치 관련하여 영향을 미치는 특별한 사용자 환경 및 상황에 대한 내용을 주석으로 표시합니다.
        설치 도구의 구성exe, dll, ini, chm 등 해당 설치 관련 파일의 설명과 폴더 및 설치 프로그램 실행 파일을 설명합니다.
      항목설명
      사용자 환경CPU, 메모리, 운영체제(OS) 등의 적합 환경을 확인합니다.
      응용프로그램 종료 확인응용프로그램 설치 전 다른 응용 프로그램의 종료 여부를 확인합니다.
      업그레이드 이전 버전 확인업그레이드 버전을 설치하기 전 기존 버전의 존재 여부를 확인합니다.
      백업 폴더 확인데이터 저장 폴더를 확인하여 설치 시 폴더 동기화 여부를 확인합니다.
    1. 제품 소프트웨어 설치 매뉴얼 기본 작성 항목
      • 제품 소프트웨어 설치 매뉴얼 기본 작성 항목은 목차 및 개요, 문서 이력 정보, 설치 매뉴얼 주석, 설치 도구로 구성되어 있다.
    1. 제품 소프트웨어 설치 매뉴얼 구성요소
      • 제품 소프트웨어 설치 매뉴얼은 설치 방법을 순서대로 상세하게 설명할 수 있도록 설치 화면을 캡처하여 사용자가 이해하기 쉽도록 구성한다.
      • 설치 실행 시 표시되는 내용 및 안내 창에 대한 메시지를 설명한다.
      항목설명
      제품 소프트웨어 개요주요 기능 및 UI에 대한 설명
      • UI 및 화면상의 버튼, 프레임 등을 도식화하여 설명
      설치 관련 파일• 제품 소프트웨어를 설치하기 위한 관련 파일 설명
      • 설치 구동을 위한 exe 실행 파일
      • ini 나 log 파일 같은 관련 파일
      설치 절차• 제품 소프트웨어 설치를 위한 상세 절차 설명
      • 설치 디렉토리, 위치 설명
      설치 아이콘윈도우즈에서의 설치 아이콘에 대한 설명
      삭제 방법• 제품 소프트웨어 삭제 시 원래대로 삭제하는 방법 설명
      설치 버전 및 작성자• 제품 소프트웨어 릴리즈 버전 및 작성자 정보
      고객 지원 방법 FAQ• 설치 관련하여 기술적인 지원이나 제품 서비스를 받을 수 있는 유선
      및 이메일 홈페이지 주소
      • 설치 시 자주 발생하는 오류 및 처리 방법에 대한 요약 설명
      준수 정보 & 제한 보증• 시리얼 보존, 불법 등록 人요 금지 등의 준수 사항 권고
      • 저작권 정보 관련 사항 작성
    1. 제품 소프트웨어 설치 매뉴얼 작성 프로세스

      제품 소프트웨어 설치 매뉴얼 작성은 개요 및 기능 식별, UI 분류, 설치 파일/백업 파일 확인, 삭제 절차 확인, 이상 유형 확인, 최종 매뉴얼 적용 순의 절차로 구성되어 있다

      순서프로세스설명
      1개요 및 기능 식별제품 소프트웨어의 개발 목적과 전체적인 기능을 식별하여 설치 화면과 메뉴를 분류합니다.
      2UI 분류UI 정의서를 기반으로하여 주요 메뉴 항목을 분류하고 설치 매뉴얼에 작성될 순서를 결정합니다.
      3설치 파일/백업 파일 확인제품 설치 및 백업 파일명을 확인하고 해당 파일들의 위치를 파악하여 설치 준비를 합니다.
      4삭제 절차 확인제품을 삭제할 때 필요한 절차를 확인하고 삭제 이후에는 설치 전 상태로의 원복을 최종 확인합니다.
      5이상 유형 확인설치 중 발생할 수 있는 이상 현상을 확인하고 각 유형에 따른 메시지를 정리하여 테스트를 수행합니다.
      6최종 매뉴얼 적용설치가 정상 완료되었을 때 결과를 캡처하여 최종 설치 매뉴얼에 적용합니다.

제품 소프트웨어 사용자 매뉴얼

  1. 제품 소프트웨어 사용자 매뉴얼 개념
    • 제품 소프트웨어 사용자 매뉴얼은 사용자가 소프트웨어 사용에 필요한 내용, 제반 절차, 환경 등의 내용을 포함하는 문서이다.
    • 제품 소프트웨어 사용자 매뉴얼에는 개발된 컴포넌트 사용 시에 알아야 할 내용을 기술하며 패키지의 기능, 패키지의 인터페이스, 포함하고 있는 메서드나 오퍼레이션과 메서드의 파라미터 등의 설명이 포함되어 있다.
  1. 제품 소프트웨어 사용자 매뉴얼 작성 항목
    작성 항목설명
    목차 및 개요매뉴얼 전체 내용을 순서대로 요약하고, 제품 소프트웨어의 주요 특징을 정리합니다.
    사용자 매뉴얼에서의 구성과 실행 방법, 메뉴에 대한 설명을 비롯하여 사용법, 각 항목에 따른 점검 기준, 설정 방법 등에 대해 기술
    문서 이력 정보• 버전, 작성자, 작성일, 검토자, 일시, 검수인 등을 일자별로 기록
    사용자 매뉴얼 주석주의 사항과 참고 사항으로 구성합니다.

    주의 사항 : 사용자가 반드시 숙지해야 하는 중요한 정보의 주석 표시
    참고 사항 : 특별한 사용자 환경 및 상황에 대한 내용의 주석 표시
    기록 항목제품 명칭, 모델명, 문서 번호, 제품 번호 등의 기록항목을 포함합니다.
    기본사항제품 소프트웨어의 기본 정보를 기록합니다. 개요, 사용방법 및 관리 방법, 모델, 버전별 특징, 제품 소프트웨어 기능 및 인터페이스 특징, 구동환경 등이 포함됩니다.
    고객 지원 방법 및 FAQ설치 관련 기술적인 지원이나 제품 서비스를 받을 수 있는 유선 및 이메일, 홈페이지 주소를 기록하고, 설치 시 자주 발생하는 오류 및 처리 방법에 대한 요약 설명을 포함합니다.
    준수 정보 & 제한 보증시리얼 보존, 불법 사용 금지 등의 준수 사항을 권고하고, 저작권 정보 관련 사항을 작성합니다.
    • 제품 소프트웨어 사용자 매뉴얼은 사용자가 이해하기 쉽도록 화면을 캡처하여 구성하고, 주요 기능에 대해서는 설명을 첨부한다.
    • 제품 소프트웨어 동작 시 함께 동작하는 애플리케이션이나 설치되어 충돌될 수 있는 응용 프로그램에 대해 설명한다.
  1. 제품 소프트웨어 사용자 매뉴얼 작성 프로세스
    순서프로세스설명
    1작성 지침 정의사자 매뉴얼을 작성하기 위한 지침 설정
    사용자 매뉴얼은 실제 사용자 혼겨에 필요한 정보를 제공할 수
    있는 형태로 작성
    2사용자 매뉴얼
    구성요소 정의
    • 제품 소프트웨어의 기능, 구성 객체 목록, 객체별 메서드, 파라
    미터, 실제 사용 예제, 사용자 환경 세팅 방법 등의 사용자 매뉴
    얼 구성요소를 정의
    3구성요소별
    내용 작성
    • 제품 소프트웨어 구성요소별로 내용 작성
    4사용자 매뉴얼 검토• 작성된 사용자 매뉴얼이 개발된 제품의 기능을 제대로 설명하는
    지, 제품 사용 시 부족한 정보가 없는지 등을 검사
    • 해당 기능별 관련 개발자와 함께 기능 내용이나 인터페이스, 메서드나 메서드의 파라미터 등을 검토
    • 점검 사항을 반영하여 사용자 지침서 수정, 보완

제품 소프트웨어 매뉴얼의 배포용 미디어 제작

  1. 제품 소프트웨어 배포본
    1. 제품 소프트웨어 배포본의 개념
      • 제품 소프트웨어 배포본은 사용자가 사용하기 편하도록 배포 정보를 포함하.여 개발된 컴포넌트 또는 패키지가 제품화된 형태이다.
      • 버전, 시스템이 설치 및 운영을 위한 요구사항, 설치 방법, 달라진 기능, 알려진 버그 및 대처 방법 등을 포함하여 배포한다.
      • 제품 소프트웨어 배포본은 최종 완성 단계에서 사용자가 정상 사용할 수 있도록 반드시 공식적인 인증 절차를 통하여 사용자에게 배포되도록 한다.
    1. 제품 소프트웨어 배포본의 중요 사항
      • 제품 소프트웨어의 배포본은 최종 완성된 제품으로 안정성을 고려하여 배포 한다.
      • 신규 및 변경 사항을 고려하여 배포본에는 고유 버전 및 배포 단위의 기준을 정한다.
      • 배포용 미디어를 제작할 때에는 저작권 및 보안에 유의하여 제작한다.
      • 배포본은 자체의 고유 시리얼 넘버(Serial Number)를 반드시 부착하여 복제 및 사후 지원을 고려한다.
  1. 제품 소프트웨어 매뉴얼의 배포용 미디어 제작
    1. 미디어 제작 시 포함 항목
      미디어 항목설명
      버전 정보제품 소프트웨어 패키징의 버전 정보를 포함합니다.
      요구 사양시스템이 설치되고 운영되기 위한 하드웨어, 소프트웨어의 사양을 포함합니다.
      설치 방법설치 및 운영을 가능하게 하는 방법을 포함합니다.
      새로운 기능이전 버전에 비해 나아진 기능을 포함합니다.
      알려진 오류/대처 방법현재까지 개발된 시스템의 알려진 오류를 기술하고, 대처 방안이 있으면 함께 포함합니다.
      제약사항현재까지 개발된 시스템이 설치, 운영 상에서 어떤 제약사항이 있는지 포함합니다.
    1. 배포용 미디어 제작 방법
      1. 오프라인 미디어
        • CD와 같은 오프라인상으로 제품을 배포 가능하도록 제작한다.
        • CD에는 반드시 고유의 시리얼 넘버를 포함하여 복제 등의 불법 유통을 방지 한다.
        • 시리얼 넘버는 이를 체계적으로 등록 관리해야 하며, 미디어 제작과는 별개로 이에 대한 관리 시스템을 사전에 확보해야 한다.
        • 배포본에는 패키지 설치 기준의 Install 버전을 작성하고, Document 파일은 사용자 매뉴얼 및 설치 매뉴얼이 전부 포함될 수 있도록 한다.
        미디어 제작 단계설명
        오프라인 미디어 준비CD 등의 오프라인 미디어를 제작하기 위해 필요한 준비를 합니다.
        시리얼 넘버 확인제품의 시리얼 넘버를 확인하여 미디어에 포함시킵니다.
        매뉴얼 확인설치 매뉴얼과 사용자 매뉴얼
        Install 파일 확인제품 설치용 Install 파일이 미디어에 정상 확인합니다.
        제작, 정상 동작 확인미디어를 제작하고, 제작된 미디어가 정상적으로 동작하는지 확인합니다.
      1. 온라인 미디어
        • 최근에는 온라인상에서 제품의 업그레이드나 패치 버전 등을 만들어 배포한다. 업그레이드나 오류 패치, 기능 수정 등은 빈번하게 일어날 수 있으므로, 사용자의 편의를 위해 정식 버전에 한하여 제품 지원을 계속한다.
        • 온라인상에서 제작되는 미디어는 그 특성에 맞도록 실행 파일로 통합하여 제작한다.
        • 온라인상으로 제작되어 제공되는 내용들은 다음과 같다
  1. 제품 소프트웨어 배포용 미디어 제작하기
    순서프로세스설명
    1배포용 미디어 선정• 온라인, 오프라인을 조사하여 배포용 미디어 선정
    2관리 체계 확인 시리얼 넘버의 체계 및 룰을 사전에 정의
    시리얼 넘버를 일괄 관리할 수 있도록 등록 및 관리 체계를 수립
    • 시리얼 넘버 관리 체계를 정립하고 이를 시스템화
    3설치 파일 및 매뉴얼 확인• 설치 파일을 확인하고 실제 설치가 가능한 실행 파일인지 확인
    • 설치 매뉴얼 및 사용자 매뉴얼 확인
    4최종 배포본 검증• 배포용 미디어 제작용 버전은 테스트가 완료되었는지 여부를 최종 확인
    • 미디어 제작 최종 확인
    5배포용 미디어 정보 확인 배포용 미디어에서 SW 및 문서 정보를 추가 확인
    6최종 미디어 인증 확인 및 배포• 최종 완성본의 테스트가 완료되었는지 확인
    • 미디어 작성용 CD에 이상이 없는지 확인

제품 소프트웨어 버전 관리 도구 활용

  1. 제품 소프트웨어 버전 관리 도구의 활용 방향
    • 제품 소프트웨어 개발 조직이나 이미 배포된 제품이 있는 조직에서는 보유 제품 버전과 새로 개발된 버전을 동시에 유지, 관리하여야 한다.
    • 버전 관리 도구의 상세 기능을 활용하여 새 버전을 유지하면서 기존 버전의 관리도 함께 수행하여야 한다.
    • 백업 및 장애 복구 등의 추가적인 사항도 Case별로 고려해야 한다
  1. 버전 현황 관리 기법 및 백업, 장애 복구
    1. 버전 관리 도구를 활용한 통합 버전 현황 관리
      • 버전 관리 도구를 활용한 버전 현황 관리 작업에는 기존의 고유한 버전 관리 외에도 버전 관리 도구에서 지원하는 모든 관리 작업 전체를 관리할 수 있어야 한다.
      • 버전 관리의 버전별 공동 작업 이외에도 백업 및 복구 작업, 공동 솔루션 기반의 여러 가지 작업 등을 통합, 관리해야 한다
        관리 작업버전 관리 활용 사례비고
        버전 관리 이전 버전으로의 복구 필요시
        • 이전 버전의 기능을 재활용시
        백업, 복구
        동일 버전 공동작업• 동일 버전의 소스 코드를 두 명 이상의 개발자가 수정할경우
        • 분산환경에서 두 명 이상의 개발자가 동일한 버전의
        소스를 수정할 경우
        공동 작업, 분산 버전 관리 툴 필요
        여러 버전 솔루션 작업 하나의 솔루션을 기반으로 여러 버전의 제품을 개발
        할경우
        브랜치 관리 기능 필요
    1. 버전 관리 도구 활용한 제품 소프트웨어 소스 및 자료 백업
      1. 제품 소프트웨어 소스 및 자료 백업의 의미
        • 소스 및 자료 백업의 목적은 크게는 천재지변이나 해킹, 작게는 소프트웨어 버그 및 오동작 등으로 인한 각종 재해에 대비해 시스템을 회복 가능한 상태로 만들기 위해 준비하는 것이다
        • 손실의 예방 및 최소화를 우선해야 하고, 정작 재해가 발생했을 시는 최단기간에 정상 업무에 복구하도록 버전 관리 도구를 적절히 사용할 수 있어야 한다.
      1. 백업의 유형
        유형설명
        전체 백업백업받고자 하는 데이터 전체에 대해 백업하는 방식
        차등 백업마지막 전체 백업 이후 변경된 모든 데이터를 백업하는 방식
        증분 백업정해진 시간을 기준으로 그 이후에 변경된 파일만을 백업하는 방식
      1. 버전 관리 도구 활용 시 자료 백업 정책 및 방법
        • 버전 관리 도구를 활용, 제품 소프트웨어 백업은 내부의 정확한 백업 정책을 먼저 세워야 하고, 상세 백업 방법을 공유해야 한다.
        • 백업 정책 사례 및 방법은 아래와 같다
          구분방법
          백업 정책- 디스크 백업은 매일 03시에 1회 실시 (단, 일요일은 제외)
          - CD 백업은 매주 금요일에 1회 실시
          - 실수에 의한 삭제 방지를 위해 백업은 최소 D-2일분 이상 보관
          백업 방법- 버전 관리 라이브러리에 대한 백업 파일은 저장된 디스크와 분리된 디스크에 저장
          - 백업은 완전 백업(Full Backup)으로 실시
          - 백업 작업에 대한 요청 또는 중지는 절차에 따라 진행
          - 백업 결과는 주기적으로 점검되며 버전 관리 정기 보고 시 함께 보고함
        1. 디렉토리를 신규로 만들며 물리적 복사(저장소 백업)
          • Git 자체가 소스 코드 백업용으로 쓰이지만, 2차 백업 개념으로 ./.Git 폴더의 내용 디 렉토리를 물리적으로 다른 곳에 보관하여 백업한다.
        1. 버전 관리 도구의 백업 기능 활용(Git 번들)
          • Git 저장소(Repository)의 번들을 생성하는 프로세스를 통해 백업 자체를 버전 관리 도구에서 자동화하여 백업을 진행해주는 백업 방법이다.