소프트웨어 개발에서 애플리케이션 패키징은 중요한 단계입니다. 이는 모듈별로 생성한 실행 파일을 묶어 사용자가 손쉽게 설치하고 사용할 수 있는 배포용 설치 파일을 만드는 과정입니다. 여기서는 애플리케이션 패키징의 개념과 특징, 그리고 사용자 실행 환경을 고려한 패키징의 중요성에 대해 알아보겠습니다.
애플리케이션 패키징의 개념
애플리케이션 패키징의 특징
사용자 실행 환경의 이해
사용자 관점에서의 패키징 고려사항
애플리케이션 패키징 수행 순서
기능 식별 | - 개발 소스의 목적 및 기능을 식별 - 입출력 데이터, 전체적인 기능과 데이터 흐름을 식별 |
모듈화 | - 모듈 단위 분류 및 모듈화를 순서에 맞게 진행 - 수행을 위한 기능 단위 및 서비스 분류, 기능 공유와 재활용 분류, 모듈 간 결합도와 응집도를 식별 |
빌드 진행 | - 개발된 소스의 컴파일을 진행 - 정상 기능 단위 및 서비스 분류 - 빌드 도구 확인 및 정상 수행확인 - 컴파일 이외 도구의 다양한 기능 확인 |
사용자 환경 분석 | - 최소 사용자 환경 사전 정의 - 모듈 단위의 여러 가지 기능별 사용자 환경 테스트 |
패키징 적용 시험 | - 사용자 환경에서의 패키징 적용 시험 - UI 및 시스템상의 편의성 체크 |
패키징 변경 개선 | - 패키징 적용 시 변경점 도출 - 최소 사용자 환경에서 서비스 가능한 수준의 개선 - 개선 버전의 재배포 |
애플리케이션 배포 도구
애플리케이션 배포 도구 활용 시 고려사항
CI/CD (★)
릴리즈 노트
Header | - 문서 이름 (릴리즈 노트 이름) , 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트버전 등 |
개요 | - 제품 및 변경에 대한 간략한 전반적 개요 |
목적 | - 릴리즈 버전의 새로운 기능 목록과 릴리즈 노트의 목적에 대한 간략한 개요 - 버그 수정 및 새로운 기능 기술 |
이슈 요약 | - 버그의 간단한 설명 또는 릴리즈 추가 항목 요약 |
재현 항목 | - 버그 발견에 따른 재현 단계 기술 |
수정/개선 내용 | - 수정/개선의 간단한 설명 기술 |
사용자 영향도 | - 버전 변경에 따른 최종 사용자 기준의 기능 및 응용 프로그램상의 영향도 기술 |
SW 지원 영향도 | - 버전 변경에 따른 SW의 지원 프로세스 및 영향도 기술 |
노트 | - SW 및 HW Install 항목, 제품, 문서를 포함한 업그레이드 항목 메모 |
면책 조항 | - 회사 및 표준 제품과 관련된 메시지, 프리웨어, 불법 복제 방지, 중복 등 참조에 대한 고지 사항 |
연락 정보 | - 사용자 지원 및 문의 관련한 연락처 정보 |
릴리즈 노트 추가 작성 및 개선 사항 발생의 예외 케이스
DRM(Digital Rights Management)
DRM의 구성 및 흐름
DRM 사용 규칙 제어 기술
저작권 보호 기술
워터마킹(Watermarking), 핑거프린팅(Fingerprinting) 구분
관점 | 워터마킹 | 핑거프린팅 |
목적 | 불법 복제 방지 | 불법 유통 방지 |
삽입정보 | 저작권 정보 | 저작권 정보 + 구매자 정보 |
콘텐츠 변화 시점 | 최초 저작 시점 | 구매시점마다 |
취약점 | 불법 유통 | 공모 공격 |
DRM 구성요소
암호화 | - 콘텐츠 및 라이선스를 암호화하고, 전자 서명을 할 수 있는 기술 |
키 관리 | - 콘텐츠를 암호화한 키에 대한 저장 및 배포 기술 |
암호화 파일 생성 | - 콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술 |
식별 기술 | - 콘텐츠에 대한 식별 체계 표현 기술 |
저작권 표현 | - 라이센스의 내용 표현 기술 |
정책 관리 | - 라이센스 발급 및 사용에 대한 정책 표현 및 관리기술 |
크랙 방지 | - 크랙에 의한 콘텐츠 사용 방지 기술 |
인증 | - 라이센스 발급 및 사용의 기준이 되는 사용자 인증 기술 |
좋은 애플리케이션 패키징과 보호 기술은 소프트웨어 제품의 성공과 사용자 만족도를 결정짓는 중요한 요소입니다. 사용자 중심의 개발과 보안적인 측면을 함께 고려하여 소프트웨어를 제공함으로써 품질 높은 서비스를 구현할 수 있습니다.
2024년에 정보처리기사를 따기 위해 노력하는 모두에게 행운을 빕니다!
[정보처리기사 실기 공부] 데이터베이스 개념 (2) | 2024.03.08 |
---|---|
[정보처리기사 실기 공부] 제품 소프트웨어 매뉴얼 작성 (0) | 2024.03.07 |
[정보처리기사 실기 공부] 소프트웨어 유지 보수 (0) | 2024.03.04 |
[정보처리기사 실기 공부] 애플리케이션 성능 개선 (4) | 2024.02.28 |
[정보처리기사 실기 공부] 소프트웨어 통합 테스트 (2) | 2024.02.27 |