JUINTINATION
소프트웨어 패키징과 릴리즈 노트 본문
반응형
소프트웨어 패키징의 개요
소프트웨어 패키징이란 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것을 말한다.
- 개발자가 아닌 사용자를 중심으로 진행한다.
- 소스 코드는 향후 관리를 고려하여 모듈화하여 패키징한다.
- 사용자가 소프트웨어를 사용하게 될 환경을 이해하여 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징한다.
패키징 시 고려사항
- 사용자의 시스템 환경(OS, CPU, 메모리 등)에 필요한 최소 환경을 정의한다.
- UI는 사용자가 눈으로 직접 확인할 수 있도록 시각적인 자료와 함께 제공하고 매뉴얼과 일치시켜 패키징한다.
- 소프트웨어는 단순히 패키징하여 배포하는 것으로 끝나는 것이 아니라 하드웨어와 함께 관리될 수 있도록 Managed Service 형태로 제공하는 것이 좋다.
- Managed Service는 고객이 사용중인 소프트웨어를 24시간 모니터링하면서 문제 발생 시 현장에 바로 출동하여 필요한 점검을 수행하는 등의 체계적인 운여 관리와 유지 보수를 수행하는 서비스이다.
- 사용자에게 배포되는 소프트웨어이므로 내부 콘텐츠에 대한 암호화 및 보안을 보려한다.
- 제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다.
- 다른 여러 콘텐츠 및 단말기 간 DRM(디지털 저작권 관리) 연동을 고려한다.
- 사용자의 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
패키징 주기는 소프트웨어 개발 기법에 따라 달라지는데 짧은 개발 주기를 반복하는 애자일 기법인 경우에는 보통 2~4주 내에서 지정하며 각 주기가 끝날 때마다 패키징을 수행한다.
- 프로젝트 개발 과정에서 주기별로 패키징한 결과물은 테스트 서버에 배포한다.
- 마지막 개발 과정을 거쳐 최종 패키징한 결과물은 고객이 사용할 수 있도록 온라인 또는 오프라인으로 배포한다.
- 온라인 배포 : 별도로 마련한 운영 서버에 설치 및 사용 매뉴얼과 함께 배포 파일을 등록하여 고객이 직접 다운받아 사용할 수 있도록 한다.
- 오프라인 배포 : CD-ROM이나 DVD, USB 등에 설치 및 사용 매뉴얼과 함께 배포 파일을 담는다.
패키징 작업 순서
- 기능 식별
- 작성된 코드의 기능을 확인한다.
- 모듈화
- 확인된 기능 단위로 코드들을 분류한다.
- 빌드 진행
- 모듈 단위별로 실행 파일을 만든다.
- 사용자 환경 분석
- 웹, 모바일, PC 등 소프트웨어가 사용될 환경이나 OS, CPU, RAM 등의 최소 운영 환경을 정의한다.
- 패키징 및 적용 시험
- 빌드된 실행 파일들을 정의된 환경에 맞게 배포용 파일 형식으로 패키징한다.
- 정의된 환경과 동일한 환경에서 패키징 결과를 테스팅한 후 소프트웨어에 대한 불편사항을 사용자 입장에서 확인한다.
- 패키징 변경 개선
- 확인된 불편 사항을 반영하기 위한 패키징의 변경 및 개선을 진행한다.
- 배포
- 배포 수행 시 오류가 발생하지 않는지 확인한다.
릴리즈 노트(Release Note)의 개요
릴리즈 노트는 개발 과정에서 소프트웨어의 버전 관리, 정리된 릴리즈 정보를 체계적으로 관리 및 사용자와의 공유를 위한 문서이다. 여기서 릴리즈(Release)는 개발이 완성된 소프트웨어를 출시, 즉 배포하는 것을 말한다.
- 릴리즈 노트를 통해 테스트 진행 방법에 대한 결과와 소프트웨어 사양에 대한 개발팀의 정확한 준수 여부를 확인할 수 있다.
- 소프트웨어에 포함된 전체 기능, 서비스의 내용, 개선 사항 등을 사용자와 공유할 수 있다.
- 릴리즈 노트에 정리된 정보들은 철저한 테스트를 거친 것이며 개발팀에서 제공하는 소프트웨어 사양에 대한 최종 승인을 얻은 후 문서화 되어 제공된다.
릴리즈 노트 초기 버전 작성 시 고려사항
- 릴리즈 노트는 정확하고 완전한 정보를 기반으로 개발팀에서 직접 현재 시제로 작성해야 한다.
- 신규 소스, 빌드 등의 이력이 정확하게 관리되어 변경 또는 개선된 항목에 대한 이력 정보들도 작성되어야 한다.
- 릴리즈 노트 작성에 대한 표준 형식은 없지만 일반적으로 다음과 같은 항목이 포함된다.
항목 | 내용 |
Header(머릿말) | 릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 및 릴리즈 노트의 버전, 날짜 등 |
개요 | 소프트웨어 및 변경사항 전체에 대한 간략한 내용 |
목적 | 해당 릴리즈 버전에서의 새로운 기능이나 수정된 기능의 목록과 릴리즈 노트의 목적에 대한 간략한 개요 |
문제 요약 | 수정된 버그에 대한 간략한 설명 또는 릴리즈 추가 항목에 대한 요약 |
재현 항목 | 버그 발견에 대한 과정 설명 |
수정/개선 내용 | 버그를 수정/개선한 내용을 간단히 설명 |
사용자 영향도 | 사용자가 다른 기능들을 사용하는데 있어 해당 릴리즈 버전에서의 기능 변화가 미칠 수 있는 영향에 대한 설명 |
SW 지원 영향도 | 해당 릴리즈 버전에서의 기능 변화가 다른 응용 프로그램들을 지원하는 프로세스에 미칠 수 있는 영향에 대한 설명 |
노트 | SW/HW 설치 항목, 업그레이드, 소프트웨어 문서화에 대한 참고 항목 |
면책 조항 | 회사 ㅁ치 소프트웨어와 관련하여 참조할 사항 |
연락처 | 사용자 지원 및 문의 응대를 위한 연락처 정보 |
릴리즈 노트 추가 버전 작성 시 고려사항
- 중대한 오류가 발생하여 긴급하게 수정하는 경우에는 릴리즈 버전을 출시하고 버그 번호를 포함한 모든 수정된 내용을 담아 릴리즈 노트를 작성하낟.
- 소프트웨어에 대한 기능 업그레이드를 완료한 경우에는 릴리즈 버전을 출시하고 릴리즈 노트를 작성한다.
- 사용자로부터 접수된 요구사항에 의해 추가나 수정된 경우 자체 기능 향상과는 다른 별도의 릴리즈 버전으로 출시하고 릴리즈 노트를 작성한다.
릴리즈 노트 작성 순서
- 모듈 식별
- 모듈별 빌드 수행 후 릴리즈 노트에 작성될 내용들을 확인한다.
- 릴리즈 정보 확인
- 릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 및 릴리즈 노트의 버전, 날짜 등을 확인한다.
- 릴리즈 노트 개요 작성
- 소프트웨어 및 변경사항 전체에 대한 간략한 내용을 작성한다.
- 영향도 체크
- 버그나 이슈 관련 내용 또는 해당 릴리즈 버전에서의 기능 변화가 다른 소프트웨어나 기능을 사용하는데 미칠 수 있는 여향에 대해 기술한다.
- 정식 릴리즈 노트 작성
- Header(머릿말), 개요, 영향도 체크 항목을 포함한 정식 릴리즈 노트에 작성될 기본 사항들을 작성한다.
- 추가 개선 항목 식별
- 추가 버전 릴리즈 노트 작성이 필요한 경우 추가 릴리즈 노트를 작성한다.
728x90
'정보처리기사 정리' 카테고리의 다른 글
소프트웨어 설치 및 사용자 매뉴얼 (1) | 2024.02.12 |
---|---|
디지털 저작권 관리(DRM) (0) | 2024.02.12 |
단위 모듈 구현 (0) | 2024.02.12 |
데이터베이스 개요 (0) | 2024.02.11 |
정보처리기사 필기 1과목 정리 (1) | 2024.02.10 |
Comments