- 소프트웨어 패키징
- 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것
- 사용자 중심으로 진행
- 순서
- 기능 식별 → 모듈화 → 빌드 진행 → 사용자 환경 분석 → 패키징 적용 및 시험 → 패키징 변경 개선 → 배포
- 릴리즈 노트 (Release Note)
- 소프트웨어 개발 과정에서 정리된 릴리즈 정보를 고객과 공유하기 위한 문서
- 작성 항목
- Header : 릴리즈 노트 이름, 소프트웨어 이름, 버전 등
- 개요
- 목적
- 문제 요약
- 재현 항목
- 수정/개선 내용
- 사용자 영향도
- SW 지원 영향도
- 노트
- 면책 조항
- 연락처
- 순서
- 모듈 식별 → 릴리즈 정보 확인 → 릴리즈 노트 개요 작성 → 영향도 체크 → 정식 릴리즈 노트 작성 → 추가 개선 항목 식별
- 디지털 저작권 관리 (DRM)
- 저작권 : 창작자가 가지는 배타적 독점적 권리로, 타인의 침해를 받지 않을 고유한 권한
- 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록하는 디지털 콘텐츠 관리 및 보호 기술
- 패키저로 DRM 패키징 수행
- 구성 요소
- 클리어링 하우스 (Clearing House)
- 저작권에 대한 사용 권한, 라이선스 발급, 암호화된 키 관리 등을 수행하는 곳
- 콘텐츠 제공자 (Contents Provider)
- 콘텐츠를 제공하는 저작권자
- 패키저 (Packager)
- 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화하는 프로그램
- 콘텐츠 분배자 (Contents Distributer)
- 암호화된 콘텐츠를 유통하는 곳이나 사람
- 콘텐츠 소비자 (Customer)
- 콘텐츠를 구매해서 사용하는 주체
- DRM 컨트롤러
- 배포된 콘텐츠의 이용 권한을 통제하는 프로그램
- 보안 컨테이너 (Security Container)
- 콘텐츠 원본을 안전하게 유통하기 위한 전자적 보안 장치
- 클리어링 하우스 (Clearing House)
- 기술 요소
- 암호화 (Encryption)
- 콘텐츠 및 라이선스를 암호화하고 전자 서명을 할 수 있는 기술
- 키 관리 (Key Management)
- 암호화 파일 생성 (Packager)
- 식별 기술 (Identification)
- 저작권 표현 (Right Expression)
- 정책 관리 (Policy Management)
- 크랙 방지 (Tamper Resistance)
- 크랙에 의한 콘텐츠 사용 방지 기술
- 인증 (Authentication)
- 암호화 (Encryption)
- 소프트웨어 설치 매뉴얼
- 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서
- 사용자 기준으로 작성
- 전 과정을 빠짐없이 순서대로 작성
- 순서
- 기능 식별 → UI 분류 → 설치 파일/백업 파일 확인 → uninstall 절차 확인 → 이상 case 확인 → 최종 매뉴얼 적용
- 소프트웨어 사용자 매뉴얼
- 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록
- 컴포넌트 단위로 매뉴얼 작성
- 컴포넌트 명세서와 컴포넌트 구현 설계서를 토대로 작성
- 순서
- 기능 식별 → 사용자 화면 분류 → 사용자 환경 파일 확인 → 초기화 절차 확인 → 이상 case 확인 → 최종 매뉴얼 적용
- 형상관리 (SCM, Software Configuration Management)
- 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동
- 개발의 전 단계에 적용
- 기능
- 형상 식별
- 형상 관리 대상에 이름과 관리 번호 부여, 계층 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업
- 버전 제어
- 업그레이드나 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리, 특정 절차와 도구를 결합
- 형상 통제
- 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선(BaseLine)이 잘 반영되도록 조정하는 작업
- 기준선 (BaseLine) : 정식으로 검토되고 합의된 명세서나 제품, 변경을 적절히 제어할 수 있도록 도와줌
- 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선(BaseLine)이 잘 반영되도록 조정하는 작업
- 형상 감사
- 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업
- 형상 기록
- 형상의 식별, 통제, 감사 작업의 결과를 기록.관리하고 보고서를 작성하는 작업
- 형상 식별
- 버전 등록 주요 기능
- Repository (저장소) : 최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳
- Import (가져오기) : 아무것도 없는 저장소에 처음으로 파일을 복사
- Check-Out : 저장소에서 파일을 받아옴, 버전 관리를 위한 파일들도 받아옴
- Check-In : 체크아웃 한 파일의 수정을 완료한 후 저장소의 파일을 새로운 버전으로 갱신
- Commit : 체크인을 수행할 때 변경 사항이 있는 경우에 충돌(Conflict)을 알리고 diff 도구를 이용해 수정한 후 갱신 완료
- diff 도구 : 비교 대상이 되는 파일들의 내용을 비교하여 서로 다른 부분을 찾아 표시해주는 도구
- Update : 저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화
- 과정
- Import → Check-Out → Commit → Update → Diff
- 버전 관리 도구
- 공유 폴더 방식
- 버전 관리 자료가 지역 컴퓨터의 공유 폴더에 저장되어 관리되는 방식
- 종류 : SCCS, RCS, PVCS, QVCS 등..
- 클라이언트 / 서버 방식
- 버전 관리 자료가 서버에 저장되어 관리 되는 방식
- 종류 : CVS, SVN, CVSNT, Clear Case, CMVC, Perforce 등..
- 분산 저장소 방식
- 버전 관리 자료가 원격 저장소와 지역 저장소에 함께 저장되어 관리되는 방식
- 종류 : Git, CNU arch, DCVS, Bazzar, Mercurial, Bitkeeper 등..
- SVN (Sub Version)
- CVS를 개선한 것으로, 아파치 소프트웨어 재단에서 2000년에발표
- 클라이언트/서버 구조로, 서버에 최신 버전의 파일들과 변경 사항이 관리
- 소스가 오픈되어있어 무료로 사용 가능
- 주요 명령어
- add : 새로운 파일이나 디렉터리를 버전 관리 대상으로 등록
- commit : 버전 관리 대상으로 등록된 소스 파일을 서버의 소스 파일에 적용
- update : 최신 commit 이력을 클라이언트의 소스 파일에 적용
- checkout : 버전 관리 정보와 소스 파일을 클라이언트로 받아옴
- lock/unlock : 서버싀 소스 파일이나 디렉터리를 잠금 혹은 잠금 해제 함
- import : 서버 저장소에 맨 처음 소스 파일을 저장
- export : 버전 관리 정보를 제외한 소스 파일만을 받아옴
- info : 지정한 파일의 위치나, 마지막 수정 일자 등에 대한 정보 표시
- diff : 지정된 파일이나 경로에 대해 이전 리비전과의 차이를 표시
- merge : 다른 디렉터리에서 작업된 버전 관리 내역을 기본 개발 작업과 병합
- Git
- 리누스 토발즈가 리눅스 커널 개발에 사용할 관리 도구로 개발
- 분산 버전 관리 시스템으로 2개의 저장소, 즉 지역 저장소와 원격 저장소가 존재
- 네트워크에 문제가 생격도 작업 가능
- 주요 명령어
- add
- 작업 내역을 지역 저장소에 저장하기 위해 스테이징 영역에 추가
- --all 옵션으로 모든 파일을 스테이징 영역에 추가 가능
- 스테이징 영역 : 작업 내용을 한번 더 확인하여 선별적으로 지역 저장소에 반영하기 위한 영역
- commit
- 작업 내역을 지역 저장소에 저장
- branch
- 새로운 브랜치 생성
- 최초로 commit을 하면 마스터 브랜치가 생성됨
- -d 옵션으로 브랜치 삭제 가능
- checkout
- 지정한 브랜치로 이동
- merge
- 지정한 브랜치의 변경 내역을 현재 브랜치에 반영함으로써 두 브랜치를 병합
- init
- 지역 저장소 생성
- remote add
- 원격 저장소에 연결
- push
- 로컬 저장소의 변경 내역을 원격 저장소에 반영
- fetch
- 원격 저장소의 변경 이력만을 지역 저장소로 가져와서 반영
- clone
- 원격 저장소의 전체 내용을 지역 저장소로 복제
- fork
- 지정안 원격 저장소의 내용을 자신의 원격 저장소로 복제
- add
- 공유 폴더 방식
- 빌드 자동화 도구
- 빌드를 포함하여 테스트 및 배포를 자동화하는 도구
- 애자일과 같은 지속적 통합 개발 환경에서 유용하게 활용
- 종류
- Jenkins
- JAVA기반의 오픈소스 형태
- 서블릿 컨테이너에서 실행되는 서버 기반 도구
- 서블릿 컨테이너 : 서버측에서 실행되는 작은 프로그램인 서블릿을 실행하고 생명주기를 관리
- Gradle
- Groovy 기반의 오픈 소스 형태
- 안드로이드 앱 개발 환경에서 사용
- DSL을 스크립트 언어로 사용
- DSL : 영역이나 용도에 맞게 기능을 구성한 언어
- Ant
- Maven
- Make
- Jenkins
'정보처리기사_실기' 카테고리의 다른 글
모의고사 정리 (0) | 2022.07.11 |
---|---|
이전 기출 정리 (0) | 2022.07.09 |
정보처리기사 176 ~ 191 (OSI 참조모델 ~ 데이터 표준화) (1) | 2022.07.05 |
정보처리기사 163 ~ 175 (운영체제 개념 ~ 인터넷) (0) | 2022.07.03 |
정보처리기사 156 ~ 162 (Python 활용 ~ 예외 처리) (0) | 2022.07.02 |