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

Juni_woo·2025년 4월 17일
0

정보처리기사

목록 보기
12/12
post-thumbnail

릴리즈 노트 작성 항목

릴리즈 노트는 소프트웨어 개발 과정에서 정리된 릴리즈 정보를 최종 사용자인 고객과 공유하기 위한 문서이다.

Header(머릿말)
릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 버전, 릴리즈 날짜, 릴리즈 노트 날짜, 릴리즈 노트 버전 등

개요
소프트웨어 및 변경사항 전체에 대한 간략한 내용

목적
해당 릴리즈 버전에서의 새로운 기능이나 수정된 기능의 목록과 릴리즈 노트의 목적에 대한 간략한 개요

문제 요약
수정된 버그에 대한 간략한 설명 또는 릴리즈 추가 항목에 대한 요약

재현 항목
버그 발견에 대한 과정 설명

수정/개선 내용
버그를 수정/개선한 내용을 간단히 설명

사용자 영향도
사용자가 다른 기능들을 사용하는데 있어 해당 릴리즈 버전에서의 기능 변화가 미칠 수 있는 영향에 대한 설명

SW 지원 영향도
해당 릴리즈 버전에서의 기능 변화가 다른 응용 프로그램들을 지원하는 프로세스에 미칠 수 있는 영향에 대한 설명

노트
SW/HW 설치 항목, 업그레이드, 소프트웨어 문서화에 대한 참고 항목

면책 조항
회사 및 소프트웨어와 관련하여 참조할 사항

연락처
사용자 지원 및 문의 응대를 위한 연락처 정보


디지털 저작권 관리의 구성 요소

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

콘텐츠 제공자(Contents Provider)
콘텐츠를 제공하는 저작권자

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

콘텐츠 분배자(Contents Distributor)
암호화된 콘텐츠를 유통하는 곳이나 사람

콘텐츠 소비자(Customer)
콘텐츠를 구매해서 사용하는 주체

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

보안 컨테이너(Security Container)
콘텐츠 원본을 안전하게 유통하기 위한 전자적 보안 장치


디지털 저작권 관리의 기술 요소

암호화(Encryption)
콘텐츠 및 라이선스를 암호화하고 전자 서명을 할 수 있는 기술

키 관리(Key Management)
콘텐츠를 암호화한 키에 대한 저장 및 분배 기술

암호화 파일 생성
콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술

식별 기술(Identification)
콘텐츠에 대한 식별 체계 표현 기술

저작권 표현(Right Expression)
라이선스의 내용 표현 기술

정책 관리(Policy Management)
라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술

크랙 방지(Tamper Resistance)
크랙에 의한 콘텐츠 사용 방지 기술

인증(Authentication)
라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술


소프트웨어 설치 메뉴얼

  • 소프트웨어 설치 메뉴얼은 개발 초기에서부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서이다.
  • 설치 메뉴얼은 사용자 기준으로 작성한다.
  • 설치 시작부터 완료할 때까지의 전 과정을 빠짐없이 순서대로 설명한다.
  • 설치 과정에서 표시될 수 있는 오류 메시지 및 예외 상황에 관한 내용을 별도로 분류하여 설명한다.

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

  • 형상 관리(SCM; Software Configuration Management)는 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다.
  • 형상 관리는 소프트웨어 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행된다.
  • 형상 관리는 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.
  • 대표적인 형상 관리 도구에는 Git, SVN, CVS 등이 있다.

형상 관리 기능

형상 식별
형상 관리 대상에 이름과 관리 번호를 부여하고, 계층(Tree) 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업

버전 제어
소프트웨어 업그레이드나 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리하고, 이를 위해 특정 절차와 도구(Tool)를 결합시키는 작업

형상 통제
식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선(Base Line)이 잘 반영될 수 있도록 조정하는 작업

형상 검사
기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업

형상 기록
형상의 식별, 통제, 감사 작업의 결과를 기록/관리하고 보고서를 작성하는 작업

소프트웨어의 버전 등록 관련 주요 기능

저장소(Repository)
최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳

가져오기(Import)
버전 관리가 되고 있지 않은 아무것도 없는 저장소에 처음으로 파일을 복사함

체크아웃(Check-Out)
프로그램을 수정하기 위해 저장소에서 파일을 받아옴

체크인(Check-In)
체크아웃 한 파일의 수정을 완료한 후 저장소의 파일을 새로운 버전으로 갱신함

커밋(Commit)
체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에는 충돌(Conflict)을 알리고 diff 도구를 이용해 수정한 후 갱신을 완료함

동기화(Update)
저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화함


소프트웨어 버전 관리 도구 - 분산 저장소 방식

  • 분산 저장소 방식은 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 지역 저장소에 함께 저장되어 관리되는 방식이다.
  • 지역 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 지역 저장소의 자료를 이용하여 작업할 수 있다.
  • 종류: Git, GNU arch, DCVS, Bazarr, Mercurial, TeamWare, Bitkeeper, Plastic SCM 등

빌드 자동화 도구

  • 빌드 자동화 도구는 빌드를 포함하여 테스트 및 배포를 자동화하는 도구이다.
  • 애자일과 같은 지속적인 통합 개발 환경에서 유용하게 활용된다.
  • 빌드 자동화 도구 종류: Jenkins, Gradle, Ant, Maven, Make 등

Gradle

  • Gradle은 Groovy를 기반으로 한 오픈 소스 형태의 자동화 도구이다.
  • 안드로이드 앱 개발 환경에서 사용된다.
  • 안드로이드뿐만 아니라 플러그인을 설정하면, JAVA, C/C++, Python 등의 언어도 빌드할 수 있다.
  • Groovy를 사용해서 만든 DSL(Domain Specific Language)을 스크립트 언어로 사용한다.
profile
개발 공부!

0개의 댓글