소프트웨어 패키징
- 생성한 실행 파일들을 묶어 배포용 설치 파일로 만듦
- 사용자 중심으로 진행
릴리즈 노트 작성
- 개발 과정에서 정리된 릴리즈 정보를 사용자와 공유하기 위한 문서
- 작성 항목
- 헤더, 개요, 목적, 문제 요약, 재현 항목 등
디지털 저작권 권리(DRM)
- 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 하는 디지털 콘텐츠 관리 및 보호 기술
- 아날로그인 경우 패키저(Packager)로 DRM 패키징 수행
- 저작권자가 설정한 라이선스 정보가 클리어링 하우스(Clearing House)에 등록
- 흐름 및 구성 요소
- 클리어링 하우스: 저작권에 대한 사용 권한, 라이선스 발급, 암호키 관리, 결제 관리 등
- 콘텐츠 제공자
- 패키저: 콘텐츠를 배포 가능한 형태로 묶어 암호화하는 프로그램
- 콘텐츠 분배자
- 콘텐츠 소비자
- DRM 컨트롤러: 배포된 콘텐츠의 이용 권한을 통제하는 프로그램
- 보안 컨테이너: 원본을 안전하게 유통하기 위한 전자적 보안 장치
- 기술 요소
- 암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증
소프트웨어 매뉴얼
- 소프트웨어 설치 매뉴얼 : 사용자 기준으로 작성
- 소프트웨어 사용자 매뉴얼 : 컴포넌트 단위로 작성
- 컴포넌트 명세서와 컴포넌트 구현 설계서 토대로 작성
소프트웨어 버전 관리
- 형상 관리(SCM, Software Configuration Management)
- 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동
- 형상 관리 기능
- 식별: 이름과 관리 번호 부여, 계층(Tree) 구조로 구분
- 통제: 기준선(Base Line) 반영, 형상통제위원회
- 감사: 기준선(Base Line) 검토
- 기록: 기록 및 보고서 작성
- diff 도구: 비교 대상 파일의 내용을 비교하여 다른 부분을 표시해주는 도구
빌드 자동화 도구
- 빌드 자동화 도구
- 빌드를 포함하여 테스트 및 배포를 자동화하는 도구
- Ant, Make, Maven, Gradle, Jenkins 등
- Jenkins
- Java 기반 오픈 소스 형태
- 서블릿 컨테이너에서 실행되는 서버 기반 도구
- 서블릿 컨테이너: 서버 측에서 실행되는 작은 프로그램인 서블릿의 생명주기 관리
- Gradle