제품소프트웨어패키징
- 신규 개발, 변경, 개선된 제품 소프트웨어의 소스들로부터 모듈들을 빌드하고 고객의 편의성을 고려하여 패키징
- 이전 릴리즈 이후의 변경, 개선 사항을 포함하여 신규 패키징한 제품 소프트에어에 대한 릴리즈 노트 작성
- 저작권 보호를 위해 암호화/보안 기능을 제공하는 패키징 도구를 활용하여, 제품 소프트웨어의 설치, 배포 파일을 생성
애플리케이션 패키징 개념
- 개발이 완료된 소프트웨어를 고객에게 전달하기 위한 형태로 패키징
- 설치와 사용에 필요한 제번 절차 및 환경 등 전체 내용을 포함하는 매뉴얼을 작성
- 소프트웨어에 대한 패치 개발과 업그레이드를 위하여 버전 관리를 수행
애플리케이션 패키징 특징
- 애플리케이션 패키징은 개발자가 아닌 사용자 중심으로 진행
- 신규 및 변경 개발 소스를 식별하고 이를 모듈화하여 상용 제품으로 패키징
- 고객의 편의성을 위해 신규/변경 이력을 확인하고, 이를 버전 관리 및 릴리즈 노트를 통해 지속적으로 관리
- 사용자의 실행 환경을 이해하고 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 분류하여 패키징 진행
사용자 실행 환경 이해
- 고객 편의성을 위해 사용자 실행 환경을 우선 고려하여 패키지 진행
- 사용자 환경은 OS부터 시작하여 실행환경, 시스템 사양 및 고객의 사용 방법까지 상세 분류하여 실행 환경을 사전 정의
- 여러 가지 실행 환경이 나오게 된다면 해당 경우에 맞는 배포본을 분류하여 패키징 작업을 여러 번 수행할 수도 있음
사용자 관점의 애플리케이션 패키징 고려사항
- 사용자 시스템 수행 최소 환경 정의
- 사용자가 직관적으로 확인할 수 있는 UI를 제공하고, 매뉴얼과 일치시켜 패키징 작업
- 애플리케이션은 하드에어와 함께 통합 적용될 수 있도록, 패키징은 Managed Service 형태로 제공
- 애플리케이션은 고객 편의성을 위해 안정적 배포가 가장 중요하고, 다양한 사용자 군의 요구사항을 반영하기 위해 패키징의 변경 및 관리를 고려하여 패키징 배포
애플리케이션 패키징 순서
- 기능 식별
- 신규 개발 소스의 목적 및 기능을 식별
- 입출력 데이터, 전체적인 기능 정의 및 데이터 흐름을 식별
- 모듈화
- 모듈 단위 분류 및 모듈화를 순서에 맞게 진행
- 수행을 위한 기능 단위 및 서비스 분류와 패키징 개념에서의 기능의 공유와 재활용 단위를 분류
- 빌드 진행
- 애플리케이션빌드 도구를 활용한 빌드를 단위별로 진행
- 신규 개발 소스 및 컴파일 결과물 준비
- 정상 기능 단위 및 서비스 분류, 빌드 도구 확인 및 빌드 수행
- 사용자 환경 분석
- 고객 편의성을 위한 사용자의 요구 사항 및 사용 환경을 사전 분석
- 최소 사용자 환경 사전 정의
- 모듈 단위의 여러 가지 기능별 사용자 환경테스트
- 패키징 적용 시험
- 최종 패키징에 대해서 사용자 입장에서의 불편한 점 체크
- 사용자 환경과 똑같은 상황으로 패키징을 적용하여 SW태스팅 수행
- UI 및 시스템 상의 편의성 체크
- 패키징 변경 개선
- 사용자 입장을 반영하여 패키징에서 변경 및 개선 진행
- 패키징 적용 시 변견점 도출
- 최소 사용자 환경에서 서비스 가능한 수준의 개선
- 모듈 및 빌드 수정을 통한 개선 버전의 재배포를 실습
애플리케이션 릴리즈 노트 개념
- 최종 사용자에게 전달되는 제품에 대한 정보 공유
- 제품의 수정, 변경 또는 개선하는 정보가 포함
- 릴리즈 정보들은 철저하게 테스트를 진행하고, 개발 팀에서 제공하는 사양에 대해 최종적으로 승인된 후 문서를 통해 배포
릴리즈 노트 작성 순서
- 모듈 식별
- 릴리즈 정보 확인
- 릴리즈 노트 개요 작성
- 영향도 체크
- 정식 릴리즈 노트 작성
- 추가 개선 항목 식별