ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2020 정보처리기사 필기 : 2과목 : 3장
    Study/정보처리기사 2020. 5. 26. 23:49
    728x90

    3장 : 제품 소프트웨어 패키징


    1.     소프트웨어 패키징

    • 모듈별로 생성한 실행 파일들을 묶어, 배포용 설치 파일을 만드는 것
    • 사용자 중심으로 진행한다. 
    • 모듈화 후, 패키징한다. 
    • 다양한 환경을 위해, 일반적인 배포 형태로 패키징한다. 
    • 2 ~ 4주를 주기로 하여 수행
    • 패키징 작업 순서

     

     

    1-1.     소프트웨어 패키징 작업 순서

    순서 과정 설명
    1 기능 식별 작성된 코드의 기능을 확인한다. 
    2 모듈화 확인된 기능 단위로 코드를 분류한다. 
    3 빌드 진행 모듈 단위 별로, 실행 파일을 만든다.  
    4 사용자 환경 분석  
    5 패키징 및 적용 시험 정의된 환경과 동일한 환경에서 패키징 결과를 테스팅한다. 
    6 패키징 변경 개선  
    7 배포 배포 수행 시, 오류가 발생하면 해당 개발자에게 전달하여 수정을 요청한다. 

    2.     릴리즈 노트 (Release Note)

    • 개발 과정에서 정리된 릴리즈 정보를, 고객과 공유하기 위한 문서이다. 
    • 최종 승인 후, 문서화하여, 사용자에게 제공한다. 
    • 현재 시제로 작성한다. 
    • 특수한 상황이 발생한 경우, 릴리즈 노트를 추가로 작성한다. 

     

     

    2-1.     릴리즈 노트 작성 순서

    순서 과정
    1 모듈 식별
    2 릴리즈 정보 확인
    3 릴리즈 노트 개요 작성
    4 영향도 체크
    5 정식 릴리즈 노트 작성
    6 추가 개선 항목 식별

    3.     디지털 저작권 관리 (DRM : Digital Right Management) ★★★

    • 디지털 콘텐츠의 전 과정에 걸쳐 사용되는, 디지털 콘텐츠 관리 및 보호 기술이다. 
    • 아날로그인 경우에는 디지털로 변환한 후 수행한다. 
    • 크기가 작으면, 실시간으로 패키징을 수행한다. 
    • 크기가 크면, 미리 패키징을 수행한다. 
    • 패키징을 수행하면, 암호화된 저작권자의 전자서명이 포함되고, 라이선스 정보가 클리어링 하우스에 등록된다. 
    • 요금이 부과된다. 

     

     

    3-1.     디지털 저작권 관리의 흐름도

     

     

    ** 클리어링 하우스 (Clearing House) : 저작권에 대한 사용 권한, 라이선스 발급, 사용량에 따른 결제 관리 등을 수행하는 곳


    4.     형상 관리 (SCM : Software Configuration Management)

    • 변경 사항을 관리하기 위해 개발된 일련의 활동이다. 
    • 개발 비용을 줄이고, 방해 요소를 최소화되도록 보증하는 것을 목표로 한다. 

     

     

    4-1.     형상 관리의 과정

    순서 과정 설명
    1 가져오기 (Import) 개발자가 저장소에 신규로 파일을 추가한다. 
    2 인출 (Check-Out) 저장소의 파일을 자신의 작업 공간으로 인출한다.
    3 예치 (Commit) 수정 후 갱신한다. 
    4 동기화 (Update) 저장소의 최신 버전으로 동기화한다. 
    5 차이 (Diff)  

    5.     소프트웨어 버전 관리 방식의 종류 ★★★

    • 공유 폴더 방식
    • 클라이언트 / 서버 방식
    • 분산 저장소 방식
    • 서브버전 (SVN)
    • 깃 (Git)

    6.     서브버전 (SVN : Subversion) ★★★

    • 클라이언트 / 서버 방식 중 하나이다. 
    • 커밋할 때마다 리버전이 1씩 증가한다. 
    • 무료로 이용 가능하다. 
    • CVS의 단점이었던 디렉터리의 이동,  이름 변경이 가능하다. 

    7.     깃 (Git) ★★★

    • 분산 저장소 방식 중 하나이다.
    • 분산 버전 관리 시스템이다. 
    • 커밋할 때마다 48자리 문자열로 표시한다. 
    • 파일의 변화를 스냅샷으로 저장한다. 
    • 처리 속도가 빠르지 않다. 

    8.     빌드 자동화 도구

    • 빌드, 테스트 및 배포를 자동화하는 도구
    • Jenkins
      • JAVA 기반
      • 오픈 소스 형태
      • 서버 기반의 도구이다. 
      • 여러 대의 컴퓨터를 이용한 분산 빌드나 테스트가 가능하다. 
    • Gradle
      • Groovy를 기반으로 한 오픈 소스 형태이다. 
      • 안드로이드, JAVA, C, C++, Python 등 가능
      • 테스크를 만든 후, 테스크 단위로 실행한다. 
    728x90

    댓글

kxmjhwn@gmail.com