본문 바로가기
자격증/정보처리기사

2021년 8월 19일 - 정보처리기사 실기 12장 제품 소프트웨어 패키징

by 철제백조 2021. 8. 19.

● 본 기록은 '코딩하는 핑가님'의 허락을 받고 블로그에 정리된 글을 그대로 필사했음을 밝힙니다.

 https://ss-o.tistory.com/110?category=1013699

 

정보처리기사 실기 목차 - 정리, 예상문제, 문제 복원 수록

1. 정리 ( 수제비 교재 기준 ) 과목 내용 1과목 1과목 요구사항 확인 2과목 2과목 데이터 입출력 구현 3과목 3과목 통합구현 4과목 4과목 서버 프로그램 구현 5과목 5과목 인터페이스 구현 6과목 6과

ss-o.tistory.com

 


 

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 등 원격 환경에서의 변경 전송 가능

댓글