191. 소프트웨어 패키징
소프트웨어 패키징 작업 순서
- 기능식별
- 모듈화
- 빌드 진행
- 사용자 환경 분석
- 패키징 및 적용 시험
- 패키징 변경 개선
소프트웨어 패키징
모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것
192. 릴리즈 노트 작성
릴리즈 노트
개발 과정에서 소프트웨어가 얼마나 개선되었는지를 정리한 정보를 사용자와 공유하기 위해 작성하는 문서로, 이를 통해 사용자는 소프트웨어에 포함된 서비스나 사용 환경 등을 확인할 수 있다.
릴리즈 노트 작성 항목
- 머릿말
- 릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 버전, 릴리즈 날짜, 릴리즈 노트 날짜, 릴리즈 노트 버전 등
릴리즈 노트 작성 순서
- 모듈 식별
- 릴리즈 정보 확인
- 릴리즈 노트 개요 작성
- 영향도 체크
- 정식 릴리즈 노트 작성
- 추가 개선 항목 식별
193. 디지털 저작권 관리
저작권 관리 구성 요소
- 클리어링 하우스 : 저작권에 대한 사용 권한, 라이선스 발급, 암호화된 키 관리, 사용량에 따른 결제 관리 등을 수행하는 곳
- 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자
- 콘텐츠 분배자 : 암호화된 콘텐츠를 유통하는 곳이나 사람
- DRM 콘트롤러 : 배포된 콘텐츠의 이용 권한을 통제하는 프로그램
디지털 저작권 관리를 위해 사용되는 기술
- 암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증
194. 소프트웨어 설치 매뉴얼 작성
소프트웨어 설치 매뉴얼
- 개발 초기에서부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에서 필요한 내용을 기록한 설명서와 안내서
- 사용자를 기준으로 작성한다
- 설치 과정에서 표시될 수 있는 오류 메시지 및 예외 상황에 관한 내용을 별도로 분류하여 설명한다.
소프트웨어 설치 매뉴얼 작성 순서
- 기능 식별
- UI 분류
- 설치 파일 / 백업 파일 확인
- Uninstall 절차 확인
- 이상 Case 확인
- 최종 매뉴얼 적용
195. 소프트웨어 사용자 매뉴얼 작성
소프트웨어 사용자 매뉴얼
- 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서와 안내서
- 사용자가 소프트웨어 사용에 필요한 절차, 환경 등의 제반 사항이 모두 포함되도록 작성
- 개별적으로 동작이 가능한 컴포넌트 단위로 작성
소프트웨어 사용자 매뉴얼에 관련된 작업
- 기능 식별
- 사용자 화면 분류
- 사용자 환경 파일 확인
- 초기화 절차 확인
- 이상 Case 확인
- 최종 매뉴얼 확인
196. 소프트웨어 버전 등록
소프트웨어 형상 관리
- 소프트웨어 개발 단계의 각 과정에서 만들어지는 프로그램, 프로그램을 설명하는 문서, 데이터 등을 관리하는 것
- 소프트웨어 개발 과정에서 만들어지는 여러 버전들의 변경 사항을 관리하는 일련의 활동
- 지원 도구로 Git, SVN등이 있다.
형상 통제
식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선이 잘 반영될 수 있도록 조정하는 작업
소프트웨어 버전 등록 과정
- 가져오기
- 인출
- 예치
- 동기화
- 차이
저장소
최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳
197. 소프트웨어 버전 관리 도구
Subversion에서 사용하는 명령어
- update : 서버의 최신 커밋 이력을 클라이언트의 소스 파일에 적용
- 커밋 전에는 매번 수행하여 클라이언트에 적용되지 않은 서버의 변동 내역을 클라이언트에 적용한다.
분산 저장소 방식
- 개발자별로 원격 저장소의 자료를 자신의 로컬 저장소로 복사하여 작업한 후 변경된 내용을 로컬 저장소에서 우선 반영한 다음 이를 원격 저장소에 반영
- 로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업 가능
- Git, GNU arch, DCVS 등이 있다.
Git 명령어
- add 작업 내용을 지역 저장소에 저장하기 위해 스테이징 영역에 추가한다.
- checkout 지정한 브랜치로 이동한다.
- init 지역 저장소를 생성한다.
- remote add 로컬 저장소의 변경 내용을 원격 저장소에 반영한다.
198. 깃 명령어 활용
깃 명령
- init
- checkout
- checkout
- merge
- add : 작업 폴더 → 스테이징 영역
- commit : 스테이징 영역 → 지역 저장소
- push : 개발자 PC → 원격 저장소
199. 빌드 자동화 도구
Gradle
- Groovy를 기반으로 한 오픈 소스 형태의 자동화 도구로 안드로이드 앱 개발 환경에서 사용된다.
- 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행
- 안드로이드 뿐 아니라 자바, C++, 파이썬 등의 언어로도 빌드할 수 있다.
Jenkins
- Java 기반의 오픈 소스 형태로, 가장 많이 사용되는 빌드 자동화 도구
- 서블릿 컨테이너에서 실행되는 서버 기반 도구
- SVN, Git 등 대부분의 형상 관리 도구와 연동이 가능하다.
- 친숙한 Web GUI 제공으로 사용이 쉽다.
- 여러 대의 컴퓨터를 이용한 분산 빌드나 테스트가 가능하다.
빋드 자동화 도구
- Gradle, Ant, Make, Maven, Jenkins