제품 소프트웨어 패키징

제품 소프트웨어 패키징

1) 제품 소프트웨어 패키징

– 개발이 완료된 소프트웨어를 고객에게 전달하기 위해 패키징 하는 과정

– 키워드 : 버전관리/릴리즈 노트, 고객 중심, 모듈화

제품소프트웨어 패키징

* 모듈

– 소프트웨어 설계에서 기능 단위로 분해하고 추상되어 재사용 및 공유가 가능한 단위

* 모듈화(서술형)

– 모듈을 통해 제품 소프트웨어의 성능을 향상시키고 시스템의 통합, 시험 디버깅 및 수정을 용이하게 하는 소프트웨어 설계 기법

* 사용자 중심의 모듈 패키징 프로세스

– 기능 식별 > 모듈화 > 빌드 진행 > 사용자 환경 분석 > 패키징 적용 시험 > 패키징 변경 개선

2) 릴리즈 노트

– 최종 사용자인 고객에게 잘 정리된 릴리즈 정보를 제공하는 문서, 현재 시제로 작성

– 정보 제공 : 릴리즈 노트에는 테스트 결과와 정보 포함

– 관리의 용이성 : 자동화, 릴리즈 정보를 체계적으로 관리

– 고려 사항 : 개발팀에서 작성, 명확, 정확, 완전한 정보 제공

* 구성 요소 (2020 실기 1회 기출)

– 헤더 : 문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜

– 개요 : 제품 및 번경에 대한 간략한 전반적인 개요

* 릴리즈 노트 작성 프로세스(모정개 영정추)

– 모듈 식별 > 릴리즈 정보 확인 > 릴리즈 노트 개요 작성 > 영향도 체크 > 정식 릴리즈 노트 작성 > 추가 개선 항목 식별

3) 제품 소프트웨어 패키징 도구

패키징 시 디지털 콘텐츠의 지식 재산권을 보호하고 관리하는 기능 제공, 안전한 유통 배포 보장하는 도구

4) 저작권 보호 패키징 도구

* DRM(디지털 저작권 관리) (단답형)

– 데이터의 안전한 배포를 활성화하거나 불법 배포를 방지하여 인터넷이나 기타 디지털 매체를 통해 유통되는 데이터의 저작권을 보호하기 위한 시스템

5) 암호화

텍스트, 콘텐츠 등을 암호문으로 만드는 기술

* 공개키 기반 구조(PKI), 대칭 및 비대칭 암호화 전자서명, 키 관리, 식별 기술, 저작권 표현, 암호화 파일 생성, 정책 관리, 크랙 방시, 인증

* 공개키 기반 구조(PKI)

– 공개키 암호화 방식 기반으로 디지털 인증서를 활용하는 소프트웨어, 하드웨어, 사용자 등을 총칭하는 암호 기술

* 대칭 및 비대칭 암호화 : 암호화 시 키, 복호화 키 생성

* 전자 서명 : 전자적 형태의 정보

[정보처리기사 실기/실기 정리] – 정보처리기사 실기) 9장 소프트웨어 개발 보안 구축

* DOI(Digital Object Identifier) (단답형)

– 디지털 저작물에 특정 번호를 부여하는 일종의 바코드 시스템

* URI (단답형)

– 인터넷에 있는 자원을 나타내는 유일한 주소

* XrML (단답형)

– 디지털 콘텐츠, 웹 서비스 권리 조건을 표현한 XML 기반의 마크업 언어

* MPEG-21 (단답형)

– 멀티미디어 표준 규격

* XML (단답형)

– 마크업 언어로 ‘키’와 ‘값’의 한 쌍으로 사람이 쉽게 알아볼 수 있는 오브젝트를 생성하는 언어

* 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, Bitkeeper 등

* Bitkeeper

– SVN과 비슷한 중앙 통제 방식으로 대규모 프로젝트에서 빠른 속도

* Git(깃)

– 지역 저장소는 개발자들이 실제 개발을 진행하는 장소, 버전 관리가 수행

– 원격 저장소는 여러 사람들이 협업을 위해 버전을 공동으로 관리하는 곳

– branch를 이용하면 기본 버전 관리 틀에 영향을 주지 않으면서 다양한 형태의 기능 테스팅이 가능

– 파일의 변화를 스냅샷으로 저장

– SVN 저장소에 대한 이관 기능

– add, commit, branch, checkout, merge, init, remote add, push, fetch, clone, fork

– branch, check-out, commit 등 로컬 환경에서의 형상관리 기능

– push, fetch, pull 등 원격 환경에서의 변경 전송 기능

Start typing and press Enter to search

Shopping Cart