● 본 기록은 '코딩하는 핑가님'의 허락을 받고 블로그에 정리된 글을 그대로 필사했음을 밝힙니다.
→ https://ss-o.tistory.com/110?category=1013699
1. 제품 소프트웨어 패키징
1) 제품 소프트웨어 패키징
- 개발이 완료된 소프트웨어를 고객에게 전달하기 위해 패키징 하는 과정
- 키워드 : 버전관리/ 릴리즈 노트, 고객 중심, 모듈화
* 모듈
- 소프트웨어 설계에서 기능 단위로 분해하고 추상되어, 재사용 및 공유가 가능한 단위
* 모듈화 (서술형)
- 모듈을 통해 제품 소프트웨어의 성능을 향상시키고, 시스템의 통합, 시험 디버깅 및 수정을 용이하게 하는 소프트웨어 설계 기법
* 사용자 중심의 모듈 패키징 프로세스
- 기능식별 > 모듈화 > 빌드진행 > 사용자 환경 분석 > 패키징 적용 시험 > 패키징 변경 개선
2) 릴리즈 노트
- 최종 사용자인 고객에게 잘 정리된 릴리즈 정보를 제공하는 문서, 현재 시제로 작성
- 정보 제공 : 릴리즈 노트에는 테스트 결과와 정보 포함
- 관리의 용이성 : 자동화, 릴리즈 정보를 체계적으로 관리
- 고려 사항 : 개발팀에서 작성, 명확, 정확, 완전한 정보 제공
* 구성 요소 (2020 실기 1회 기출)
- 헤더 : 문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜
- 개요 : 제품 및 변경에 대한 간략한 전반적인 개요
* 릴리즈 노트 작성 프로세스 모정개 영정추
- 모듈 식별
- 릴리즈 정보 확인
- 릴리즈 노트 개요 작성
- 영향도 체크
- 정식 릴리즈 노트 작성
- 추가 개선 항복 식별
3) 제품 소프트웨어 패키징 도구
- 패키징 시 디지털 콘텐츠의 지식 재산권을 보호하고 관리하는 기능 제공, 안전한 유통 배포 보당하는 도구
4) 저작권 보호 패키징 도구
* DRM(디지털 저작권 관리) (단답형)
- 데이터의 안전한 배포를 활성화하거나, 불법 배포를 방지하여 인터넷이나 기타 디지털 매체를 통해 유통되는 데이터의 저작권을 보호하기 위한 시스템
5) 암호화
- 텍스트, 콘텐츠 등을 암호문으로 만드는 기술
- 공개키 기반 구조 PKI
- 대칭 및 비대칭 암호화 전자서명
- 키 관리
- 식별 기술
- 저작권 표현
- 암호화 파일 생성
- 정책 관리
- 크랙 방지
- 인증
* 공개키 기반 구조 PKI
- 공개키 암호화 방식 기반으로 디지털 인증서를 활용하는 소프트웨어, 하드웨어, 사용자 등을 총칭하는 암호 기술
* 대칭 및 비대칭 암호화
- 암호화 시 키, 복호화 키 생성
* 전자 서명
- 전자적 형태의 정보
* DOI(Digital Object Identifier) (단답형)
- 디지털 저작물에 특정 번호를 부여하는 일종의 바코드 시스템
* URI (단답형)
- 인터넷에 있는 자원을 나타내는 유일한 주소
* XrML (단답형)
- 디지털 콘텐츠, 웹 서비스 권리 조건을 표현한 XML 기반의 마크업 언어
* MPEG-21 (단답형)
- 멀티미디어 표준 규격
* JSON (단답형)
- 비동기 브라우저/ 서버 통신(AJAX)을 위해 "속성-값" 쌍, "키-값" 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷
* 코드 난독화 (단답형)
- 역공학을 통한 공격을 막기 위해 프로그램 소스를 알아보기 힘든 코드로 바꾸는 기술
* Secure DB (단답형)
- 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근제어와 보안적인 요소가 추가된 데이터베이스 강화 기술
* SSO(Single Sign On) (단답형)
- 한 번의 인증 절차를 통해 여러 정보 시스템에 재인증 절차없이 사용할 수 있는 통합 로그인 기술
* CMS (단답형)
- 콘텐츠 생상 전 활동의 과정을 관리하는 기술
6) 제품 소프트웨어 매뉴얼 작성
* 제품 소프트웨어 매뉴얼
- 제품 소프트웨어 개발 단계부터 적용한 기준이나, 패키징 이후 설치 및 사용자 측면의 주요 내용을 기록한 문서
* 제품 소프트웨어 설치 매뉴얼
- 사용자가 제품을 구매한 후, 최초 설치 시 참조하는 매뉴얼 목차, 개요, 이력 정보, 설치 매뉴얼 주석, 설치 도구
* 제품 소프트웨어 사용자 매뉴얼
- 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위해 패키징하고, 설치와 사용에 필요한 제반 절차 및 환경에 대한 전체 내용을 포함하는 매뉴얼
* 제품 소프트웨어 배포판
- 배포 정보를 포함하여 개발된 컴포넌트 혹은 패키지가 제품화된 것
7) 제품 소프트웨어 패키징의 형상 관리
* 형상관리 (2020 실기 2회 기출)
- 소프트웨어의 변경 사항을 계속적으로 추적하고, 버전 관리 및 통제하는 관리 기법
- 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동
* 형상관리 도구의 기능 : 체크인, 체크아웃, 커밋
- 체크인 : 개발자가 수정한 소스를 형상관리 저장소로 업로드하는 기능
- 커밋 : 개발자가 소스를 형상관리 저장소에 업로드 후, 최종적으로 업데이트 시 형상관리 서버에 반영하는 기능
* 형상관리 역할 : 관리 유용, 동시 개발, 빠른 복구
* 형상 식별
- 형상 관리 대상에 이름과 관리 번호를 부여하고, 계층(Tree) 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업
* 버전 제어
- 소프트웨어 업그레이드나 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리하고, 이를 위해 특정 절차와 도구(Tool)를 결합시키는 작업
* 형상 통제(변경 관리)
- 식별된 형상 항목에 대한 변경 요구를 검토하여, 현재의 기준선(Base Line)이 잘 반영될 수 있도록 조정하는 작업
* 형상 감사
- 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업
* 형상 기록(상태 보고)
- 형상의 식별, 통제, 감사 작업의 결과를 기록, 관리하고 보고서를 작성하는 작업
* 베이스 라인(Base Line) (단답형) : 소프트웨어 변경 통제 시점
* 컴포넌트 저장소 : 인증받은 컴포넌트를 등록하는 저장소로, 사용자가 손쉽게 컴포넌트를 이용가능
8) 버전 관리 도구
: 제품 소프트웨어의 신규 개발, 변경, 개선과 관련된 수정사항을 관리하는 도구
공유 폴더 방식 | 클라이언트/ 서버 방식 | 분석 저장소 방식 |
공유 폴더에 복사하는 방식 | 클라이언트/서버 방식 | 로컬 저장소 → 원격 저장소 |
RCS | CVS, SVN | Git, Bitkeeper |
[공유 폴더 방식]
- 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식
- 파일의 변경 사항을 데이터베이스에 기록하여 관리
- 종류
- SCCS
- RCS
- PVCS
- QVCS
* RCS
- 파일, 잠금 방식으로 소스파일 수정은 한 명으로 제한하여 버전 관리
[클라이언트/ 서버 방식]
- 버전 관리 자료가 중앙 시스템(서버)에 저장되어 관리되는 방식
- 모든 버전 관리는 서버에서 수행
- 서버에 문제가 생기면, 서버가 복구되기 전까지 다른 개발자와의 협업 및 버전 관리 작업은 중단
- 종류
- CVS
- SVN(Subversion)
- CVSNT
- Clear Case
- CMVC
- Perforce
* CVS
- 서버와 클라이언트로 구성되어 다수의 인원이 동시에 접근 가능하여 버전관리 가능
* Subversion (서브버전, SVN)
- CVS를 개선한 것, 아파치 소프트웨어 재단에서 발표
- 모든 개발 작업은 trunk 디렉터리에서 수행
- commit 할 때마다 revision이 1씩 증가 (커밋 실패 시 롤백 지원 가능)
- 클라이언트는 대부분의 운영체제에서 사용되지만, 서버는 주로 유닉스를 사용
- 디렉토리 파일을 자유롭게 이동 가능
- add, commit, update, checkout, lock/unlock, import, export, info, diff, merge
[분산 저장소 방식]
- 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 로컬 저장소에 함께 저장되어 관리되는 방식
- 로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도, 로컬 저장소의 자료를 이용하여 작업 가능
- 종류
- Git
- GNU arch
- DCVS
- Bazaar
- Bitkeepeer
* Bitkeeper
- SVN과 비슷한 중앙 통제 방식으로, 대규모 프로젝트에서 빠른 속도
* Git(깃)
- 지역 저장소는 개발자들이 실제 개발을 진행하는 장소, 버전 관리가 수행
- 원격 저장소는 여러 사람들이 협업을 위해 버전을 공동으로 관리하는 곳
- branch를 이용하면 기본 버전 관리 틀에 영향을 주지 않으면서, 다양한 형태의 기능 테스팅이 가능
- 파일의 변화를 스냅샷으로 저장
- SVN 저장소에 대한 이관 기능
- add, commit, branch, checkout, merge, init, remote add, push, fetch, clone, fork
- branch, check-out, commit 등 로컬 환경에서의 형상관리 가능
- push, fetch, pull 등 원격 환경에서의 변경 전송 가능
'자격증 > 정보처리기사' 카테고리의 다른 글
2021년 10월 3일 ~ 4일 - 정보처리기사 실기 D-13~12 (0) | 2021.10.04 |
---|---|
2021년 9월 19~22일 [추석] - 고향땅도 못밟고 정보처리기사 실기를 준비하며... (0) | 2021.09.20 |
2021년 8월 18일 - 정보처리기사 실기 11장 응용 SW 기초 활용 (0) | 2021.08.18 |
2021년 8월 17일 - 정보처리기사 실기 9장 소프트웨어 개발 보안 구축 (0) | 2021.08.17 |
2021년 8월 16일 - 정보처리기사 실기 8장 SQL 응용 (0) | 2021.08.16 |
댓글