- 소프트웨어 패키징 : 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것
- 순서 : 기능 식별, 모듈화, 빌드 진행, 사용자 환경 분석, 패키징 및 적용 시험, 패키징 변경 개선, 배포
- 릴리즈 노트 : 소프트웨어 개발 과정에서 정리된 릴리즈 정보를 고객과 공유하기 위한 문서
- 작성 항목
- 헤더 : 문서 이름, 제품 이름, 버전 번호, 날짜 등
- 개요 : SW 및 변경사항 전체에 대한 간략한 내용
- 목적 : 새로운 기능이나 수정된 기능의 목록과 릴리즈 노트의 목적에 대한 간략한 개요
- 문제 요약 : 버그의 간단한 설명 또는 릴리즈 추가 항목 요약
- 재현 항목 : 버그발견과정설명
- 수정/개선 내용 : 버그를 수정, 개선한 내용을 설명
- 사용자 영향도 : 사용자가 다른 기능들을 사용하는데 있어 해당 릴리즈 버전에서의 기능 변화가 미칠 수 있는 영향에 대한 설명
- SW 지원 영향도 : 해당 기능 변화가 다른 응용 프로그램들을 지원하는 프로세스에 미칠 수 있는 영향에 대한 설명
- 노트 : 참고항목
- 면책 조항 : 회사 및 소프트웨어와 관련하여 참조할 사항
- 연락처
- 작성 순서
- 모듈 식별, 릴리즈 정보 확인, 릴리즈 노트 개요 작성, 영향도 체크, 정식 릴리즈 노트 작성, 추가 개선 항목 식별
- 디지털 저작권 관리
- 저작권 : 창작자가 가지는 배타적 독점적 권리로, 타인의 침해를 받지 않을 고유한 권한이다.
- 디지털 저작권 관리 (DRM) : 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 하는 관리 및 보호 기술
- 구성요소
- 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자
- 콘텐츠 분배자 : 쇼핑몰 등으로써 암호화된 콘텐츠 제공
- 패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화하는 프로그램
- 보안 컨테이너 : 원본을 안전하게 유통하기 위한 전자적 보안 장치
- DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제하는 프로그램
- 클리어링 하우스 : 저작권에 대한 사용 권한, 라이선스 발급, 암호화된 키 관리, 사용량에 따른 결제 관리 등을 수행하는 곳
- 기술 요소
- 암호화 : 콘텐츠 및 라이센스를 암호화하고 전자서명을 할 수 있는 기술
- 키 관리 : 콘텐츠를 암호화된 키에 대한 저장 및 분배 기술
- 암호화 파일 생성 : 콘텐츠를 암호화한 콘텐츠로 생성하기 위한 기술
- 식별 기술 : 콘텐츠에 대한 식별 체계 표현 기술
- 저작권 표현 : 라이선스의 내용 표현 기술
- 정책 관리 : 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술
- 크랙 방지 : 크랙에 의한 콘텐츠 사용 방지 기술
- 인증 : 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술
- 소프트웨어 버전 등록
- 형상 관리 : 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동
- 형상 관리 기능
- 형상 식별 : 형상 관리 대상에 이름과 관리 번호를 부여하고 계층 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업
- 버전 제어 : 다른 버전의 형상 항목을 관리하고 특정 절차와 도구를 결합시키는 작업
- 형상 통제 : 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선이 잘 반영될 수 있도록 조정하는 작업
- 형상 감사 : 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업
- 형상 기록 : 형상의 식별, 통제, 감사 작업의 결과를 기록, 관리하고 보고서를 작성하는 작업
- 관련 주요 기능
- 저장소 : 변경 내역 + 최신 버전 파일들이 저장되어있는 곳
- import : 아무 것도 없는 저장소에 처음으로 파일을 복사
- 체크 아웃 : 프로그램을 수정하기 위해 저장소에서 파일을 받아옴
- 체크인 : 체크아웃 한 파일의 수정을 완료한 후 저장소의 파일을 갱신함
- 커밋 : 체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에 ㄹ충돌을 알리고 수정한 후 갱신을 완료함
- 동기화 : 저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화
- 등록과정
- import → check-out → commit → update → diff
- SW 버전 관리 도구
- 공유 폴더 방식 : 버전 관리 자료가 지역 컴퓨터의 공유 폴더에 저장되어 관리
- 클라이언트/서버 방식 : 버전관리 자료가 서버에 저장되어 관리 되는 방식
- CVS, SVN, CVSNT, Clear Case, CMVC, Perforce
- 분산 저장소 방식 : 버전관리 자료가 원격저장소와 개발자 PC의 지역저장소에 함께 저장되어 관리되는 방식
- Git, GNU arch, DCVS, Bazaar, Mercurial, TeamWare, Bitkeeper Plastic SCM
- Git, SVN이 일반적으로 사용
- 빌드 자동화 도구
- 빌드를 포함하여 테스트 및 배포를 자동화하는 도구
- 종류 : Ant, Make, Maven, Gradle, Jenkins
- Jenkins : Java 기반, 서블릿 컨테이너에서 실행됨
- Gradle : Groovy 기반, 오픈소스, 안드로이드에 사용