[정보처리기사 실기] 12. 제품 소프트웨어 패키징-Chapter 1. 제품 소프트웨어 패키징하기

Study/정보처리기사

[정보처리기사 실기] 12. 제품 소프트웨어 패키징-Chapter 1. 제품 소프트웨어 패키징하기

tnddj1219 2022. 1. 30. 17:27
728x90

정리 내용은 [수제비 2020 정보처리기사 실기]책을 기반으로 작성하였습니다.

 

2020 수제비 정보처리기사 실기(1권+2권 합본세트)

NCS 반영! 출제기준으로 전면개편한 교재이다. NCS 기반 반영 문제(예상문제 340제, 단원종합문제 360제, 모의고사 100제, 2020년기출문제)를 수록하였다. 수제비는 합격만을 위한 다양한 학습 콘텐츠


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

개념
개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정
제품 소프트웨어 패키징은 모듈들을 통해 수행되므로 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징 수행

 

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

전체 내용 포함 / 버전관리 & 릴리즈 노트 / 고객중심  / 모듈화

 

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

모듈화
모듈을 통해 소프트웨어 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계기법모듈관 결합도를 최소화하고 모듈 내 요소들 간의 응집도 최대화하는 것

장점: 개발 편의성( 프로그램 효율적으로 관리 / 전체적인 소프트웨어 이해의 용이성 증대 / 소프트웨어 시험, 통합, 수정시 용이성 제공 / 모듈의 재사용 가능으로 개발과 유지보수 용이 / 오류의 파급효과를 최소화) , 복잡성 감소( 기능 분리가 가능하고 인터페이스가 단순 / 복잡도 감소로 인한 성능 향상 )

소프트웨어 모듈 패키징: 제품 소프트웨어에서는 모듈의 개념을 정확하게 파악 후 기능단위로 패키징하는 것이 필요 / 배포전 시험 및 수정 등의 작업진행에서도 모듈단위로 구분하여 작업을 진행

 

소프트웨어 빌드
소스코드 파일을 컴퓨터에서 실행할 수 있는 제품소프트웨어 단위로 변환하는 과정

Ant, Make, Maven, Grandle
빌드과정을
 문서화하면 다양한 이력에 대한 관리 가능

 

사용자 중심 패키징 작업
제품 소프트웨어 패키징은 사용자를 위해 진행되는 작업, 고객 편의성 및 사용자 실행환경을 우선 고려하여 진행
1. 사용자 중심의 모듈 패키징 시 고려사항

고려사항 설명
시스템 환경 OS, CPU, 메모리 등이 수행하기 위한 최소환경 정의
직관적 UI 사용자가 직관적으로 확인할 수 있는 UI 제공. 매뉴얼과 일치시켜 패키징 작업
관리 서비스 제품소프트웨어는 하드웨어와 함께 통합 적용될 수 있도록 패키징 제공
안정적 배포 제품 소프트웨어 는 고객편의성을 위해 안정적 배포 중요
다양한 사용자의 요구사항을 반영하기 위해 항상 패키징의 변경 및 개선관리 고려하여 배포


사용자 중심의 모듈 패키징 작업 수행
1. 기능식별: 기능 수행을 위한 입출력 데이터 정의 / 전체적인 기능 정의 및 데이터 흐름 / 함수 상세 정의

2. 모듈화: 기능 단위 및 서비스 분류 / 기능의 공유와 재활용 분류 / 모듈 간 결합도와 응집도 식별

3. 빌드 진행: 개발 소스 및 컴파일 결과물 준비 / 정상 기능 단위 및 서비스 분류 / 빌드 도구 확인 및 정상 수행 

4. 사용자 환경 분석: 최소 사용자 환경 사전 정의 / 사용자 환경 태스트
5. 패키징 적용 시험:  사용자 환경에서의 패키징 적용 시험 / UI 및 시스템 편의성 체크

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

 

3. 릴리즈 노트

개념
조직의 최종 사용자인 고객과 잘 정리된 릴리즈 정보를 공유하는 문서
상세 서비스를 포함하여 회사가 제공하는 제품을 만들어 수정, 변경 또는 개선하는 일련의 작업

릴리즈 노트 정보들은 테스트 진행하고 개발팀에서 제공하는 사양에 대해 최종 승인 후 문서를 통해 배포

 

중요성

특성 설명
정보 제공 릴리즈 노트에는 테스트 결과와 정보가 포함
최종 배포된 릴리즈 노트에는 테스트 진행과정, 개발 팀의 제공 사양 수준 정도를 파악할 수 있음
사용자에게 더 자세하고 확실한 정보 제공
기본적으로 전체적인 제품의 수행 기능 및 서비스 변화를 공유
관리성용이 자동화 개념과 함께 적요 가능
전체적인 버전관리 및 릴리즈 정보를 체계적으로 관리


고려사항
개발팀에서 직접 작성하여야 함현재 시제로 작성. 명확하고 정확하며 완전한 정보 제공

배포 시부터 신규소스, 빌드 등 이력을 정확하게 관리하여 진행
개발자와 테스터가 함께 협업. 최초 및 변경, 개선항목까지 연결되어 다음 항목에 대한 정보들이 릴리즈 노트를 통해 작성되어야 함

 

작성항목
릴리즈 노트는 보통 특정 소프트웨어 릴리즈의 최근 변경사항, 개선사항 및 버그 수정을 간결히 요약함

특성 설명
헤더 문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜 ,노트 버전등의 정보
개요 제품 및 변경에 대한 간략한 전반적 개요
목적 릴리즈 버전의 새로운 기능목록과 목적에 대한 개요, 버그 수정 및 새로운 기능 기술
이슈요약 버그의 간단한 설명, 릴리즈 추가 항목 요약
재현항목 버그 발견에 따른 재현 단계 기술
수정/개선내용 수정/개선의 간단한 설명 기술
사용자 영향도 버전 변경에 따른 최종 사용자 기준의 기능 및 응용 프로그램상의 영향도 기술
소프트웨어 지원영향도 버전 변경에 따른 소프트웨어 지원 프로세스 및 영향도 기술
노트 소프트웨어 및 하드웨어 설치 항목, 제품, 문서를 포함한 업그레이드 항목 메모
면책조항 회사 및 표준 제품과 관련된 메시지, 프리웨어 및 불법 복제 방지, 중복 등 참조에 대한 고지사항
연락처정보 사용자 지원 및 문의에 관련한 연락처 정보

 

예외케이스
추가 및 개선항목이 나타날 경우 릴리즈 노트 항목이 추가될 수 있다

.1. 테스트 단계에서의 베타 버전 출시
2. 긴급 버그 수정 시 
3. 자체 기능 향상을 포함한 모든 추가 기능의 향상
4. 사용자 요청에 따른 특이한 케이스 발생

 

릴리즈 노트 작성 프로세스
모듈 식별->
릴리즈 정보 확인->릴리즈 노트 개요 작성->영향도 체크->정식 릴리즈 노트 작성->추가 개선 항목 식별


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

개념
배포를 위한 패키징 시 디지털 콘텐츠의 지식 재산권을 보호하고 관리하는 기능을 제공하며 안전한 유통과 배포를 보장하는 도구이자 솔루션패키징 작업 진행 시 암호화/보안 기능을 고려하여 패키징 할 수 있도록 도와줌

사용 권한 제어 기술, 패키징 기술, 라이선스 관리, 구언한 통제 기술 등 포함

 

고려사항

고려사항 설명
암호화/보안 고려 패키징 시 사용자에게 배포되는 소프트웨어임을 감안하여 반드시 내부 콘텐츠에 대한 암호화 및 보안 고려
이기종 연동 고려 패키징 도구를 활용하여 여러 가지 이기종 콘텐츠 및 단말기간 DRM 연동을 고려
사용자 편의성 고려 패키징 도구를 고려하면 사용자 입장에서 불편해질 수 있는 문제를 고려하여 효율적으로 적용
적합한 암호화 알고리즘 제품 소프트웨어 종류에 맞는 알고리즘을 선택하여 배포 지장이 없도록 고려


4. 저작권

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

 

저작권 보호 기술 개념
콘텐츠 및 컴퓨터 프로그램과 같이 복제가 용이한 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법 통칭
콘텐츠 복제 제한적 허용: 복제는 허용하나 사용자 확인을 거쳐 과금, 제품 소프트웨어 패키징 시 사용자 확인에 대해 상용화 과금 정책 수립 연계
종량제: 종량제 제품 소프트웨어의 경우 요금 부과는 클리어링 하우스를 통한 이용시간과 비례한 과금
암호화/보안기능: 패키징 도구는 암호화/보안 등의 기능을 고려. 패키징 제작자가 지정한 Business Rule과 암호가 패키징되어 배포
* 클리어링 하우스: 디지털 저작권 라이선싱을 중개하고 라이선스 발급을 수행하는 정산소. 모니터링 서비스를 지원하여 디지털 저작물의 이용내역을 근거로 신뢰할 수 있는 저작권료의 정산 및 분배가 이루어짐

 

필요성
배포된 제품 소프트웨어의 무한 복제가 가능, 원본과 복사본이 동일하게 배포될 특성을 가지고 있는 소프트웨어에 대한 저작권 보호 기술이 필요
제품 소프트웨어가 상용으로 배포되면 다양한 부가가치를 가질 수 있는 상품으로 바뀜에 따라 패키징 시 원작자에 대한 권리 보호자가 우선적으로 필요

 

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

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

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


암호화/보안 기능 중심의 패키징 도구 기술과 활용
패키징 작업시 도구를 이용하여 나오는 결과물에 대해서도 신뢰할 수 있도록 작업 되어야 한다.

암호화(Encryption): 일반 텍스트, 콘텐츠, 라이선스 등의 암호화 및 전자서명에 사용하는 기술

키관리(Key Management): 콘텐츠를 암호화한 키에 대한 저장 및 배포 기술(중앙집중형, 분산형)

식별기술(Identification): 콘텐츠에 대한 식별 체계 표현 기술

저작권 표현(Right Expression): 라이선스 표현 기술(XrML, MPEG-21)

암호화 파일 생성(Packager): 콘텐츠 암호화를 통해 콘텐츠를 보호하는 기술(Pre-Packaging, On-the-fly Packaging)

정책관리(Policy Management): 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술(XML, 콘텐츠 관리 시스템(CMS))

크랙방지(Track Resistance): 크랙에 의한 콘텐츠 사용 방지 기술(코드난독화, Secure DB)

인증(Authenitication): 라이선스 발급 및 사용의 기준이 되는 사용자 인증기술(SSO(Single Sign On))


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

애플리케이션 배포 도구를 활용한 배포 프로세스
중앙의 클리어링 하우스에서 콘텐츠 제공자,분배자,소비자 간의 패키징 배포 및 키 관리,라이선스 발급 관리 등 수행

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

728x90