티스토리 뷰

728x90
반응형

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

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

사용자 중심의 패키징 수행

제품 소프트웨어 패키징의 개념

개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정

제품 소프트웨어 패키징 적용 시 특성

  • 전체 내용을 포함하는 메뉴얼 작성
  • 버전 관리 / 릴리즈 노트
  • 고객, 사용자 편의성 중심
  • 모듈화

제품 소프트웨어 패키징을 위한 모듈 빌드

제품 소프트웨어 패키징은 모듈들을 통해 수행되므로, 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징을 수행

소프트웨어 모듈 및 패키징
모듈화 개념
모듈을 이용하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법.

모듈화의 장점

  • 프로그램의 효율적인 관리
  • 소프트웨어 이해, 시험, 통합, 수정시 용이성 증대
  • 모듈의 재사용으로 개발과 유지보수가 용이
  • 오류의 파급 효과 최소화
  • 기능의 분리와 인터페이스가 단순
  • 복잡도 감소로 인한 성능 향상

제품 소프트웨어 모듈 빌드 기법
Ant, Make, Maven, Gradle 등의 빌드 도구가 있음.

사용자 중심의 패키징 작업

사용자 중심의 패키징 고려 사항

  • 시스템 환경
  • 직관적 UI
  • 관리 서비스
  • 안정적 배포

사용자 중심의 모듈 패키징 작업 수행

  1. 기능 식별

    • 기능 수행을 위한 입출력 데이터 정의
    • 전체적인 기능 정의 및 데이터 흐름
    • 함수에 대한 상세 정의
  2. 모듈화

    • 기능 단위 및 서비스 분류
    • 기능의 공유와 재활용 분류
    • 모듈 간 결합도와 응집도 식별
  3. 빌드 진행

    • 개발 소스 및 컴파일 결과물 준비
    • 정상 기능 단위 및 서비스 분류
    • 빌드 도구 확인 및 정상 수행
    • 도구의 다양한 기능 확인
  4. 사용자 환경 분석

    • 최소 사용자 환경 사전 정의
    • 사용자 환경 테스트
  5. 패키징 적용 시험

    • 사용자 환경에서의 패키징 적용 시험
    • UI 및 시스템 편의성 체크
  6. 패키징 변경 개선

    • 패키징 적용 시 변경부분 도출
    • 서비스 가능한 수준의 개선
    • 개선 버전 재배포

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

릴리즈 노트

릴리즈 노트의 개념
조직의 최종 사용자인 고객과 잘 정리된 릴리즈 정보를 공유하는 문서

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

  • 개발 팀에서 직접 작성
  • 현재 시제로 작성, 명확하고 정확하며 완전한 정보를 제공
  • 이력을 정확하게 관리
  • 개발자, 테스터 함께 협업

릴리즈 노트 작성 항목

  • 헤더
  • 개요
  • 목적
  • 이슈 요약 : 버그 설명, 릴리즈 추가 항목
  • 재현 항목 : 버그 발견에 따른 재현 단계 기술
  • 수정/개선 내용
  • 사용자 영향도 : 버전 변경에 따른 최종 사용자 기준의 기능 및 응용 프로그램상의 영향도 기술
  • 소프트웨어 지원 영향도 : 버전 변경에 따른 소프트웨어의 지원 프로세스 및 영향도 기술
  • 노트 : 업그레이드 항목 메모
  • 면책 조항
  • 연락 정보

릴리즈 노트 작성 프로세스

  • 모듈 식별
  • 릴리즈 정보 확인
  • 릴리즈 노트 개요 작성
  • 영향도 체크
  • 정식 릴리즈 노트 작성
  • 추가 개선 항목 식별

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

제품 소프트웨어의 패키징 도구

제품 소프트웨어 패키징 도구의 개념

  • 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능을 제공하며, 안전한 유통과 배포를 보장하는 도구이자 솔루션
  • 불법 복제로부터 디지털 콘텐츠의 지적 재산권을 보호해 주는 사용 권한 제어 기술, 패키징 기술, 라이선스 관리, 권한 통제 기술등을 포함.

패키징 도구 활용 시 고려사항

  • 암호화/보안 고려
  • 이기종 연동을 고려
  • 사용자 편의성 고려
  • 적합한 암호화 알고리즘을 적용

제품 소프트웨어 저작권 보호의 이해와 필요성

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

저작권 보호 기술의 개념
콘텐츠 및 컴퓨터 프로그램과 같이 복제가 용이한 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법을 통칭

저작권 보호 기술의 특성

  • 콘텐츠 복제 제한적 허용
  • 종량제 : 종량제 제품 소프트웨어의 경우 요금 부과는 클리어링 하우스를 통한 이용 시간에 비례한 과금
  • 암호화/보안 기능

클리어링 하우스
디지털 저작권 라이선싱을 중개하고 라이선스 발급을 수행하는 정산소.

저작권 보호 측면의 패키징 도구 활용

디지털 저작권 관리(DRM)
중앙의 클리어링하우스에서 콘텐츠 제공자, 분배자, 소비자 간의 패키징 배포 및 키 관리, 라이선스 발급 관리를 수행

저작권 관리 구성요소

  • 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자
  • 콘텐츠 분배자 : 쇼핑몰 등으로써 암호화된 콘텐츠 제공
  • 패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
  • 보안 컨테이너 : 원본을 안전하게 유통하기 위한 전자적 보안 장치
  • DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제
  • 클리어링 하우스 : 키 관리 및 라이선스 발급 관리

애플리케이션 패키징 도구 구성

  • 암호화
  • 키 관리
  • 식별 기술
  • 저작권 표현
  • 암호화 파일 생성
  • 정책 관리
  • 크랙 방지
  • 인증

패키징 도구 구성 세부 항목

  1. 암호화

    • 공개키 기반 구조
    • 대칭 및 비대칭 암호화
    • 전자 서명
  2. 식별 기술

    • DOI(Digital Object Identifier) : 디지털 저작물에 특정한 번호를 부여하는 일종의 바코드 시스템
    • URI(Uniform Resource Identifier)
  3. 저작권 표현

    • XrML(eXtensible Right Markup Language) : 디지털 콘텐츠 / 웹 서비스 권리 조건을 표현한, XML 기반의 마크업 언어
    • MPEG-21 : 멀티미디어 관련 요소 기술들이 통일된 형태로 상호 운용성을 보장하는 멀티미디어 표준 규격
  4. 암호화 파일 생성

    • Pre-packaging : 콘텐츠를 등록하자마자 암호화를 함
    • On-the-fly Packaging : 사용자가 콘텐트를 요청한 시점에 콘텐츠를 암호화
  5. 정책 관리

    • XML(eXtensible Markup Language)
    • CMS(Contents Management System) : 다양한 미디어 포맷에 따라 각종 콘텐츠를 수집, 관리,
      배급하는 콘텐츠 생산에서 활용, 폐기 까지 전 공급 과정을 관리하는 기술
  6. 크랙 방지

    • 코드 난독화
    • Secure DB : 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술
  7. 인증

    • SSO(Single Sign On) : 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 기술

애플리케이션 배포 도구를 활용한 배포 프로세스

  • 빌드 내용 식별
  • 패키징 도구 식별
  • DRM 흐름을 확인하여 패키징 수행
  • 패키징 도구 설치
  • 배포 작업
  • 정상 배포 확인

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

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

제품 소프트웨어 메뉴얼 개념

제품 소프트웨어 개발단계부터 적용한 기준이나 패키징 이후 설치 및 사용자 측면의 주요 내용 등을 기록한 문서

제품 소프트웨어 설치 메뉴얼 작성

제품 소트프웨어 설치 메뉴얼 개념
사용자가 제품을 구매한 후 최초 설치 시 참조하는 메뉴얼

제품 소프트웨어 설치 메뉴얼 기본 작성 항목

  • 목차 및 개요
  • 문서 이력 정보
  • 설치 메뉴얼 주석
  • 설치 도구의 구성

제품 소프트웨어 설치 메뉴얼 구성 요소

  • 제품 소프트웨어 개요
  • 설치 관련 파일
  • 설치 절차
  • 설치 아이콘
  • 삭제 방법
  • 설치 버전 및 작성자
  • 고객 지원 방법 및 FAQ
  • 준수 정보 & 제한 보증

제품 소프트웨어 설치 메뉴얼 작성 프로세스

  1. 개요 및 기능 식별
  2. UI 분류
  3. 설치 파일 / 백업 파일 확인
  4. 삭제 절차 확인
  5. 이상 유형 확인
  6. 최종 메뉴얼 적용

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

제품 소프트웨어 사용자 메뉴얼 개념

개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 패키징하고, 설치와 사용에 필요한 제반 절차 및 환경 등 전체 내용을 포함하는 메뉴얼

제품 소프트웨어 사용자 메뉴얼 작성 항목

  • 목차 및 개요
  • 문서 이력 정보
  • 사용자 메뉴얼 주석
  • 기록항목
  • 기본사항
  • 고객 지원 방법 및 FAQ
  • 준수 정보 & 제한 보증

제품 소프트웨어 사용자 메뉴얼 작성 프로세스

  1. 작성 지침 정의
  2. 사용자 메뉴얼 구성요소 정의
  3. 구성요소별 내용 작성
  4. 사용자 메뉴얼 검토

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

제품소프트웨어 배포본

제품 소프트웨어 배포본의 개념

  • 배포 정보를 포함한 개발된 컴포넌트 또는 패키지가 제품화된 문서.
  • 버전, 시스템의 설치 및 운영을 위한 요구사항, 설치 방법, 달라진 기능, 알려진 버그 및 대처 방법 등을 포함하여 배포.
  • 최종 완성 단계에서 사용자가 정상 사용할 수 있도록 반드시 공식적인 인증 절차를 통하여 사용자에게 배포.

제품 소프트웨어 배포용 미디어 제작하기

  1. 배포용 미디어 선정
  2. 관리 체계 확인
  3. 설치 파일 / 메뉴얼 확인
  4. 최종 배포본 검증
  5. 배포용 미디어 정보 확인
  6. 최종 미디어 인증 확인 및 배포

제품 소프트웨어 버전 등록

제품 소프트웨어 패키징의 형상 관리

제품 소프트웨어의 형상 관리 개념
소프트웨어의 변경 사항을 체계적으로 추적하고 통제하는 관리 기법

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

소프트웨어 버전관리 도구 개념

형상 곤리 지침을 활용하여 제품 소프트웨어의 신규 개발, 변경, 개선과 관련된 수정 사항을 관리하는 도구

소프트웨어 버전관리 도구 유형

  • 공유 폴더 방식(RCS, SCCS)
  • 클라이언트/서버 방식(CVS, SVN)
  • 분산 저장소 방식(Git, Bitkeeper)

소프트웨어 버전관리 도구별 특징

  • CVS(Concurrent Versions System) : 서버와 클라이언트로 구성
  • SVN(Subversion) : 하나의 서버에서 소스를 쉽고 유용하게 관리
  • RCS(Revision Control System) : CVS와 달리 소스 파일의 수정을 한 사람만으로 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없음
  • Bitkepper : SVN과 비슷한 중앙 통제 방식
  • Git : 분산형 버전 관리 시스템. 대형 프로젝트에 효과적
  • Clear Case : 복수 서버, 복수 클라이언트 구조.




출처
정보처리기사 실기 2020 수제비(저자 : NCS 정보처리기술사 연구회) [건기원]


728x90
반응형
댓글
반응형
250x250
글 보관함
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday
링크