솜은 코튼
[정보처리기사] 11장 제품 소프트웨어 패키징 본문
01. 소프트웨어 패키징
: 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일 생성 / 사용자 중심 / 모듈화하여 패키징
고려사항 : 최소 환경 정의 / 패키징의 변경 및 개선에 대한 관리 고려
패키징 작업 순서 : 짧은 개발 주기 애자일 기법인 경우 2~4주 내에서 지정
- 온라인 배포 : 고객이 직접 다운 / 오프라인 배포 : CD-ROM이나 DVD, USV
* 소프트웨어 패키징 작업 순서 :
기능 식별->모듈화->빌드 진행->사용자 환경 분석->패키징 및 적용 시험->패키징 변경 개선->배포
02. 릴리즈 노트
: 개발 과정에서 정리된 릴리즈 정보를 최종 사용자인 고객과 공유하기 위한 문서 / 버전 관리, 릴리즈 정보 관리
작성 순서 :
모듈 식별->릴리즈 정보 확인->릴리즈 노트 개요 작성->영향도 체크->정식 릴리즈 노트 작성->추가 개선 항목 식별
항목 :
Header : 릴리즈 노트 이름·날짜·버전 등 / 개요 : 간략한 내용 / 목적 : 목적에 대한 간략한 개요 /
문제 요약 : 수정된 버그에 대한 간략한 설명 / 재현 항목 : 버그 발견에 대한 과정 /
수정·개선 내용 / 사용자 영향도 / SW 지원 영향도 / 노트 / 면책 조항 / 연락처
03. 디지털 저작권 관리(DRM)
: 창작자가 가지는 배타적 독점적 권리->저작권 / 저작권자가 의도한 용도로만 사용되도록 관리 및 보호 기술
- 아날로그이면 디지털로 변환 후 패키저에 의해 DRM 패키징 수행
- 크기가 작으면 실시간 패키징, 크기가 크면 미리 패키징 후 배포
- 패키징하면 암호화 된 저작권자의 전자서명 포함 저작권자가 설정한 라이선스 정보가 클리어링 하우스에 등록
- 종량제 방식 적용한 이용한만큼 요금 부과
디지털 저작권 관리의 흐름도
- 클리어링 하우스 : 저작권에 대한 사용 권한, 라이선스 발급 등 수행
- 콘텐츠 제공자 : 콘텐츠 제공하는 저작권자
- 패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화하는 프로그램
- 콘텐츠 분배자 : 암호화 된 콘텐츠를 유통하는 사람
- 콘텐츠 소비자 : 콘텐츠 구매해서 사용하는 사람
- DRM 컨트롤러 : 이용 권한 통제
- 보안 컨테이너 : 원본 안전하게 유통 위한 전자적 보안 장치
디지털 저작권 관리의 기술 요소
: 암호화 / 키 관리 / 암호화 파일 생성 / 식별 기술 / 저작권 표현 / 정책 관리 / 크랙 방지 / 인증
04. 소프트웨어 설치 매뉴얼 작성
: 필요한 내용 기록한 설명서 / 사용자 기준 / 전 과정 빠짐없이 순서대로 / 오류 별도 분류
설치 매뉴얼 작성 순서 :
기능 식별->UI 분류->설치 파일/백업 파일 확인->Uninstall 절차 확인->이상 Case 확인->최종 매뉴얼 적용
05. 소프트웨어 사용자 매뉴얼 작성
: 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록
(제반 사항 포함 / 매뉴얼 버전 관리 / 컴포넌트 단위로 매뉴얼 작성 / 컴포넌트 명세서와 구현 설계서 토대로 작성)
사용자 매뉴얼 작성 순서 :
기능 식별->사용자 화면 분류->사용자 환경 파일 확인->초기화 절차 확인->이상 Case 확인->최종 매뉴얼 적용
06. 소프트웨어 패키징의 형상 관리(SCM)
: 소프트웨어의 변경 사항 관리(전 단계 적용 / 유지보수 단계 / 비용↓ / 방해 요인↓)
중요성 : 추적 및 통제 / 무절제한 변경 방지 / 버그나 수정 사항 추적 / 가시성이 결핍되므로 진행 정도 확인 가능
기능
- 형상 식별 : 이름, 관리번호 부여, 계층 구조, 수정 및 추적 용이
- 버전 제어 : 특정 절차와 도구 결합
- 형상 통제 : 기준선이 잘 반영되도록 조정
- 형상 감사 : 확인, 검증, 검열 과정을 통해 공식적 승인
- 형상 기록 : 보고서 작성
소프트웨어 버전 등록 관련 용어 :
저장소 / 가져오기(Import) / 체크아웃(Check-Out) / 체크인(Check-In) / 예치(Commit) / 동기화(Update) / 차이(Diff)
소프트웨어 등록 과정
가져오기(Import)->체크아웃(Check-Out)->커밋(Commit)->동기화(Update)->차이(Diff)
07. 소프트웨어 버전 관리 도구
공유 폴더 방식 : 로컬 컴퓨터의 공유 폴더에 저장(SCCS, RCS, PVCS, QVCS 등)
클라이언트/서버 방식 : 중앙 시스템(서버)에 저장, 모든 버전 관리는 서버에서 수행(CVS, SVN, CVSNT)
분산 저장소 방식 : 하나의 원격 저장소와 분산된 개발자 PC의 로컬 저장소에 함께 저장(Git, DCVS)
Subversion(SVN) : CVS 개선, 아파치 소프트웨어 재단
(add / commit / update / checkout / lock/unlock:디렉토리 잠그거나 해제 / import / export / info / diff / merge)
Git : 리눅스 커널 개발에 사용, 네트워크 문제 있어도 작업 가능
(add / commit / branch / checkout / merge / init / remote add / push / fetch / clone / fork)
08. 빌드 자동화 도구
: 빌드->컴파일 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정 / 빌드 포함 테스트 및 배포 자동화 도구
(Ant, Make, Maven, Gradle, Jenkins 등)
Jenkins : Java 기반 / 가장 많이 사용 / 서블릿 컨테이너 서버 기반 도구 / 분산 빌드나 테스트 가능
Gradle : Groovy 기반 / DSL을 스크립트 언어로 사용 / 태스크로 만든 후 태스크 단위로 실행 /
태스크 재사용 및 공유 가능한 빌드 캐시 지원 가능 / 빌드 속도↑
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 10장 응용 SW 기초 기술 활용 (0) | 2020.07.19 |
---|---|
[정보처리기사] 9장 소프트웨어 개발 보안 구축 (0) | 2020.07.18 |
[정보처리기사] 7장 애플리케이션 테스트 관리 (0) | 2020.07.14 |
[정보처리기사] 6장 화면 설계 (0) | 2020.07.14 |
[정보처리기사] 5장 서버 프로그램 구현 (0) | 2020.07.14 |