제품 소프트웨어 패키징하기
사용자 중심의 패키징 수행★★
제품 소프트웨어 패키징의 개념
개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정
제품 소프트웨어 패키징 적용 시 특성
- 전체 내용을 포함하는 메뉴얼 작성
- 버전 관리 / 릴리즈 노트
- 고객, 사용자 편의성 중심
- 모듈화
제품 소프트웨어 패키징을 위한 모듈 빌드
제품 소프트웨어 패키징은 모듈들을 통해 수행되므로, 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징을 수행
소프트웨어 모듈 및 패키징
- 모듈화 개념모듈을 이용하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법.
모듈화의 장점
- 프로그램의 효율적인 관리
- 소프트웨어 이해, 시험, 통합, 수정시 용이성 증대
- 모듈의 재사용으로 개발과 유지보수가 용이
- 오류의 파급 효과 최소화
- 기능의 분리와 인터페이스가 단순
- 복잡도 감소로 인한 성능 향상
제품 소프트웨어 모듈 빌드 기법
- Ant, Make, Maven, Gradle 등의 빌드 도구가 있음.
사용자 중심의 패키징 작업
사용자 중심의 패키징 고려 사항
- 시스템 환경
- 직관적 UI
- 관리 서비스
- 안정적 배포
사용자 중심의 모듈 패키징 작업 수행
- 기능 식별
- 기능 수행을 위한 입출력 데이터 정의
- 전체적인 기능 정의 및 데이터 흐름
- 함수에 대한 상세 정의
- 모듈화
- 기능 단위 및 서비스 분류
- 기능의 공유와 재활용 분류
- 모듈 간 결합도와 응집도 식별
- 빌드 진행
- 개발 소스 및 컴파일 결과물 준비
- 정상 기능 단위 및 서비스 분류
- 빌드 도구 확인 및 정상 수행
- 도구의 다양한 기능 확인
- 사용자 환경 분석
- 최소 사용자 환경 사전 정의
- 사용자 환경 테스트
- 패키징 적용 시험
- 사용자 환경에서의 패키징 적용 시험
- UI 및 시스템 편의성 체크
- 패키징 변경 개선
- 패키징 적용 시 변경부분 도출
- 서비스 가능한 수준의 개선
- 개선 버전 재배포
버전을 고려한 제품 릴리즈 노트 작성★★
릴리즈 노트
릴리즈 노트의 개념조직의 최종 사용자인 고객과 잘 정리된 릴리즈 정보를 공유하는 문서
릴리즈 노트 작성 시 고려 사항
- 개발 팀에서 직접 작성
- 현재 시제로 작성, 명확하고 정확하며 완전한 정보를 제공
- 이력을 정확하게 관리
- 개발자, 테스터 함께 협업
릴리즈 노트 작성 항목
- 헤더
- 개요
- 목적
- 이슈 요약 : 버그 설명, 릴리즈 추가 항목
- 재현 항목 : 버그 발견에 따른 재현 단계 기술
- 수정/개선 내용
- 사용자 영향도 : 버전 변경에 따른 최종 사용자 기준의 기능 및 응용 프로그램상의 영향도 기술
- 소프트웨어 지원 영향도 : 버전 변경에 따른 소프트웨어의 지원 프로세스 및 영향도 기술
- 노트 : 업그레이드 항목 메모
- 면책 조항
- 연락 정보
릴리즈 노트 작성 프로세스
- 모듈 식별
- 릴리즈 정보 확인
- 릴리즈 노트 개요 작성
- 영향도 체크
- 정식 릴리즈 노트 작성
- 추가 개선 항목 식별
패키징 도구를 활용한 설치, 배포 수행★★
제품 소프트웨어의 패키징 도구
제품 소프트웨어 패키징 도구의 개념
- 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능을 제공하며, 안전한 유통과 배포를 보장하는 도구이자 솔루션
- 불법 복제로부터 디지털 콘텐츠의 지적 재산권을 보호해 주는 사용 권한 제어 기술, 패키징 기술, 라이선스 관리, 권한 통제 기술등을 포함.
패키징 도구 활용 시 고려사항
- 암호화/보안 고려
- 이기종 연동을 고려
- 사용자 편의성 고려
- 적합한 암호화 알고리즘을 적용
제품 소프트웨어 저작권 보호의 이해와 필요성
저작권의 이해
- 창작물인 저작물에 대한 베타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한
저작권 보호 기술의 개념
- 콘텐츠 및 컴퓨터 프로그램과 같이 복제가 용이한 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법을 통칭
저작권 보호 기술의 특성
- 콘텐츠 복제 제한적 허용
- 종량제 : 종량제 제품 소프트웨어의 경우 요금 부과는 클리어링 하우스를 통한 이용 시간에 비례한 과금
- 암호화/보안 기능
클리어링 하우스디지털 저작권 라이선싱을 중개하고 라이선스 발급을 수행하는 정산소.
저작권 보호 측면의 패키징 도구 활용
디지털 저작권 관리(DRM)
- 중앙의 클리어링하우스에서 콘텐츠 제공자, 분배자, 소비자 간의 패키징 배포 및 키 관리, 라이선스 발급 관리를 수행
저작권 관리 구성요소
- 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자
- 콘텐츠 분배자 : 쇼핑몰 등으로써 암호화된 콘텐츠 제공
- 패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
- 보안 컨테이너 : 원본을 안전하게 유통하기 위한 전자적 보안 장치
- DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제
- 클리어링 하우스 : 키 관리 및 라이선스 발급 관리
애플리케이션 패키징 도구 구성
- 암호화
- 키 관리
- 식별 기술
- 저작권 표현
- 암호화 파일 생성
- 정책 관리
- 크랙 방지
- 인증
패키징 도구 구성 세부 항목
- 암호화
- 공개키 기반 구조
- 대칭 및 비대칭 암호화
- 전자 서명
- 식별 기술
- DOI(Digital Object Identifier) : 디지털 저작물에 특정한 번호를 부여하는 일종의 바코드 시스템
- URI(Uniform Resource Identifier)
- 저작권 표현
- XrML(eXtensible Right Markup Language) : 디지털 콘텐츠 / 웹 서비스 권리 조건을 표현한, XML 기반의 마크업 언어
- MPEG-21 : 멀티미디어 관련 요소 기술들이 통일된 형태로 상호 운용성을 보장하는 멀티미디어 표준 규격
- 암호화 파일 생성
- Pre-packaging : 콘텐츠를 등록하자마자 암호화를 함
- On-the-fly Packaging : 사용자가 콘텐트를 요청한 시점에 콘텐츠를 암호화
- 정책 관리
- XML(eXtensible Markup Language)
- CMS(Contents Management System) : 다양한 미디어 포맷에 따라 각종 콘텐츠를 수집, 관리,배급하는 콘텐츠 생산에서 활용, 폐기 까지 전 공급 과정을 관리하는 기술
- 크랙 방지
- 코드 난독화
- Secure DB : 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술
- 인증
- SSO(Single Sign On) : 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 기술
애플리케이션 배포 도구를 활용한 배포 프로세스
- 빌드 내용 식별
- 패키징 도구 식별
- DRM 흐름을 확인하여 패키징 수행
- 패키징 도구 설치
- 배포 작업
- 정상 배포 확인
제품 소프트웨어 메뉴얼 작성
제품 소프트웨어 메뉴얼 작성★★
제품 소프트웨어 메뉴얼 개념
- 제품 소프트웨어 개발단계부터 적용한 기준이나 패키징 이후 설치 및 사용자 측면의 주요 내용 등을 기록한 문서
제품 소프트웨어 설치 메뉴얼 작성
제품 소트프웨어 설치 메뉴얼 개념
- 사용자가 제품을 구매한 후 최초 설치 시 참조하는 메뉴얼
제품 소프트웨어 설치 메뉴얼 기본 작성 항목
- 목차 및 개요
- 문서 이력 정보
- 설치 메뉴얼 주석
- 설치 도구의 구성
제품 소프트웨어 설치 메뉴얼 구성 요소
- 제품 소프트웨어 개요
- 설치 관련 파일
- 설치 절차
- 설치 아이콘
- 삭제 방법
- 설치 버전 및 작성자
- 고객 지원 방법 및 FAQ
- 준수 정보 & 제한 보증
제품 소프트웨어 설치 메뉴얼 작성 프로세스
- 개요 및 기능 식별
- UI 분류
- 설치 파일 / 백업 파일 확인
- 삭제 절차 확인
- 이상 유형 확인
- 최종 메뉴얼 적용
제품 소프트웨어 사용자 메뉴얼★★
제품 소프트웨어 사용자 메뉴얼 개념
- 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 패키징하-고, 설치와 사용에 필요한 제반 절차 및 환경 등 전체 내용을 포함하는 메뉴얼
제품 소프트웨어 사용자 메뉴얼 작성 항목
- 목차 및 개요
- 문서 이력 정보
- 사용자 메뉴얼 주석
- 기록항목
- 기본사항
- 고객 지원 방법 및 FAQ
- 준수 정보 & 제한 보증
제품 소프트웨어 사용자 메뉴얼 작성 프로세스
- 작성 지침 정의
- 사용자 메뉴얼 구성요소 정의
- 구성요소별 내용 작성
- 사용자 메뉴얼 검토
제품 소프트웨어 메뉴얼의 배포용 미디어 제작★
제품소프트웨어 배포본
제품 소프트웨어 배포본의 개념
- 배포 정보를 포함한 개발된 컴포넌트 또는 패키지가 제품화된 문서.
- 버전, 시스템의 설치 및 운영을 위한 요구사항, 설치 방법, 달라진 기능, 알려진 버그 및 대처 방법 등을 포함하여 배포.
- 최종 완성 단계에서 사용자가 정상 사용할 수 있도록 반드시 공식적인 인증 절차를 통하여 사용자에게 배포.
제품 소프트웨어 배포용 미디어 제작하기
- 배포용 미디어 선정
- 관리 체계 확인
- 설치 파일 / 메뉴얼 확인
- 최종 배포본 검증
- 배포용 미디어 정보 확인
- 최종 미디어 인증 확인 및 배포
제품 소프트웨어 버전 등록★★
제품 소프트웨어 패키징의 형상 관리
제품 소프트웨어의 형상 관리 개념
- 소프트웨어의 변경 사항을 체계적으로 추적하고 통제하는 관리 기법
제품 소프트웨어 버전 관리 도구 사용★★
소프트웨어 버전관리 도구 개념
- 형상 관리 지침을 활용하여 제품 소프트웨어의 신규 개발, 변경, 개선과 관련된 수정 사항을 관리하는 도구
소프트웨어 버전관리 도구 유형
- 공유 폴더 방식(RCS, SCCS)
- 클라이언트/서버 방식(CVS, SVN)
- 분산 저장소 방식(Git, Bitkeeper)
소프트웨어 버전관리 도구별 특징
- CVS(Concurrent Versions System) : 서버와 클라이언트로 구성
- SVN(Subversion) : 하나의 서버에서 소스를 쉽고 유연하게 관리
- RCS(Revision Control System) : CVS와 달리 소스 파일의 수정을 한 사람만으로 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없음
- Bitkepper : SVN과 비슷한 중앙 통제 방식
- Git : 분산형 버전 관리 시스템. 대형 프로젝트에 효과적
- Clear Case : 복수 서버, 복수 클라이언트 구조.
'기타 > 정처기' 카테고리의 다른 글
정보처리기사 실기 시나공 4장 통합구현 (0) | 2020.12.31 |
---|---|
정보처리기사 실기 시나공 3장 데이터 입출력 구현 (0) | 2020.12.31 |
정보처리기사 실기 수제비 11과목 응용 SW기초 기술 활용 (0) | 2020.12.31 |
정보처리기사 실기 수제비 10과목 프로그래밍 언어활용 (0) | 2020.12.31 |
정보처리기사 실기 수제비 9과목 소프트웨어 개발 보안 구축 (0) | 2020.12.31 |