솜은 코튼

[정보처리기사] 11장 제품 소프트웨어 패키징 본문

자격증/정보처리기사

[정보처리기사] 11장 제품 소프트웨어 패키징

솜.코 2020. 7. 19. 14:39
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을 스크립트 언어로 사용 / 태스크로 만든 후 태스크 단위로 실행 / 

                태스크 재사용 및 공유 가능한 빌드 캐시 지원 가능 / 빌드 속도↑