• [정보처리기사] 9강 제품 소프트웨어 패키징

    2021. 3. 20.

    by. KimBangg

     

    1. 소프트웨어 패키징

    - 모듈벌로 생성한 실행 파일을 묶어 배포용 설치 파일을 만드는 것

    - 사용자를 중심으로 진행하고, 향후 관리를 고려하여 모듈화한다.

    - 고려사항

    사용자의 시스템 환경에 필요한 최소한의 요구조건을 정의한다.

    고객의 편의성을 고려한 안정적인 배포가 중요하다.

    - 패키징 작업순서

    패키징 주기는 보통 2~4주 내로 지정, 주기 별로 패키징을 실행

    기능 식별 -> 모듈화 -> 빌드 진행 -> 환경 분석 -> 패키징 및 적용 -> 변경 개선 -> 배포

     

    2. 릴리즈 노트 작성

    - 개발 과정에서 정리된 릴리즈 정보를 고객과 공유하기 위한 문서이다.

    - 특징

    체계적으로 버전이나 릴리즈 정보를 관리 할 수 있다.

     

    3. 디지털 저작권 관리

    작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록, 디지털 콘텐츠 관리 및 보호 기술

    - 관리 흐름도

    클리어링 하우스 : 저작권에 대한 사용권한, 라이선스 발행 결제 관리등을 수행 [ 관리자 ]

    콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자 [ 원작자 ]

    패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화 하는 프로그램

    콘텐츠 분배자 : 암호화된 콘텐츠를 유통하는 곳 또는 사람 [ 유통 ]

    콘텐츠 소비자 : 사용하는 주체 [ 소비자 ]

    DRM 컨트롤러 : 배포된 콘텐츠의 이용권한을 통제하는 프로그램

    보안 컨테이너 : 원본을 안전하게 유통하기 위한 전자적 보안 장치

     

    4. 소프트웨어 버전 등록

    - 소프트웨어 패키징의 형상관리

    변경 사항을 관리하기 위해, 개발된 일련의 활동으로써 변경의 원인을 알아내어 제어하고 전체 비용을 줄이고 방해요소를 최소화 하는 것을 목적으로 한다.

    - 형상 관리의 중요성

    지속적인 소프트웨어의 변경 사항을 체계적으로 추적하고 통제할 수 있다.

    무절제한 변경 방지 및 버그나 수정 사항의 추적이 가능하다.

    진행정도를 확인 할 수 있는 척도로 사용된다.

     

    5. 소프트웨어 버전 관리 도구

    - 공유 폴더 방식

    버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식.

    개발자는 완료된 파일을 약속된 공유폴더에 복사 -> 오류가 발생하면 개발자에게 수정 요청 -> 이상이 없으면 동작 확인

    파일의 변경사항을 데이터베이스에 기록하여 관리한다

     

    - 클라이언트/서버 방식

    버전 관리 자료가 중앙 시스템에 저장되어 관리되는 방식

    서버의 자료를 개발자별로 자신의 PC로 복사하여, 작업한 후 변경된 내용을 서버에 반영한다.

    서버의 문제가 생기면, 서버가 복구되기 전까지 다른 개발자와의 협업 및 버전 관리 작업이 중다노딘다.

     

    - 분산 저장소 방식 [ Git, Teamware ]

    버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 로컬 저장소에 함께 저장되어 관리되는 방식

    원격 저장소의 자료를 자신의 로컬 저장소로 복사하여, 작업한 후 변경된 내용을 로컬 저장소에서 우선 반영한 다음 이를 원격 저장소에 반영한다.

    6. 빌드 자동화 도구

    빌드란?

    소스 코드 파일을 컴파일 한 후, 여러 개의 모듈을 묶어 실행 파일로 만드는 과정이며, 이러한 빌드를 포함하여 테스트 및 배포를 자동화하는 도구를 자동화 도구라고한다.

    예시 : Ant, Gradle, Maven, Jenkins

     

    댓글