[시나공] 소프트웨어 패키징·형상관리·버전관리 (Git·SVN·빌드 자동화)

2026. 4. 2. 02:49Certifications/정보처리기사 실기

1️⃣ 소프트웨어 패키징 (Software Packaging)

✅ 개념

  • 소프트웨어 모듈별 실행 파일을 묶어 배포용 설치 파일을 만드는 작업

✅ 패키징 순서

  1. 기능 식별
  2. 모듈화
  3. 빌드
  4. 테스트
  5. 패키징
  6. 배포

🎯 포인트

  • 실행 파일 묶음
  • 배포용 설치 파일 생성
  • 시험에서는 패키징 개념 위주로 출제

2️⃣ 릴리즈 노트 (Release Note)

✅ 개념

  • 소프트웨어 개발 과정의 주요 변경 사항을 정리한 문서

✅ 주요 내용

  • 기능 추가
  • 버그 수정
  • 성능 개선
  • 알려진 문제

3️⃣ DRM (Digital Rights Management)

✅ 개념

  • 디지털 콘텐츠의 저작권 보호 및 사용 권한 관리 기술

🎯 포인트

  • 디지털 콘텐츠 저작권 보호
  • 콘텐츠 사용 권한 관리

✅ DRM 특징

  • 콘텐츠 암호화 후 배포
  • 라이선스는 클리어링 하우스(Clearing House) 에서 관리

✅ DRM 기술 요소

기술 요소 설명
암호화
(Encryption)
콘텐츠 및 라이선스 암호화
키 관리
(Key Management)
암호화 키 저장 및 분배
패키저
(Packager)
암호화 콘텐츠 생성
식별
(Identification)
콘텐츠 식별 체계
권리 표현
(Right Expression)
라이선스 표현
정책 관리
(Policy Management)
라이선스 정책 관리
변조 방지
(Tamper Resistance)
불법 사용 방지
인증
(Authentication)
사용자 인증

4️⃣ 설치 매뉴얼 (Installation Manual)

✅ 개념

  • 소프트웨어 설치 과정을 설명하는 설명서

🎯 포인트

  • 사용자 기준 작성

5️⃣ 형상 관리 (Configuration Management)

✅ 개념

  • 개발 과정에서 산출물 변경 사항을 체계적으로 관리

🎯 포인트

  • 변경 관리
  • 버전 관리

✅ 형상 관리 기능

기능 설명
형상 식별 형상 항목 식별
형상 통제 변경 관리
형상 감사 절차 준수 확인
형상 기록 변경 이력 기록
형상 보고 형상 상태 보고

6️⃣ 버전 관리 (Version Control)

✅ 개념

  • 소프트웨어 파일의 변경 이력을 관리하는 시스템

🎯 포인트

  • 변경 이력 관리
  • 협업 지원

✅ 저장소 방식

방식 설명
공유 폴더 지역 폴더 기반 관리
클라이언트 / 서버 중앙 서버 저장 방식
분산 저장소 지역 + 원격 저장소 구조

7️⃣ Subversion (SVN)

✅ 개념

  • 중앙 집중형 버전 관리 시스템

🎯 포인트

  • SVN = 중앙집중형

✅ 주요 명령어

명령어 설명
checkout 저장소 파일 가져오기
commit 변경 사항 저장
update 최신 버전 반영
add 파일 추가

8️⃣ Git

✅ 개념

  • 리누스 토발즈가 개발한 분산 버전 관리 시스템

🎯 포인트

  • Git = 분산 버전 관리

✅ 주요 명령어

명령어 설명
clone 저장소 복제
add 파일 추가
commit 변경 사항 저장
push 원격 저장소 업로드
pull 원격 저장소 변경 반영

9️⃣ 빌드·배포 자동화 도구

✅ 개념

  • 빌드, 테스트, 배포를 자동화하는 도구

🎯 포인트

  • CI(Continuous Integration) 환경 활용
  • 빌드 자동화 도구

✅ 대표 도구

도구 설명
Jenkins JAVA 기반 빌드 자동화 도구
Gradle Groovy 기반 빌드 자동화 도구
Ant JAVA 기반 빌드 도구
Maven 프로젝트 관리 + 빌드 도구

🔟 Jenkins

✅ 개념

  • JAVA 기반 오픈 소스 빌드 자동화 도구

✅ 특징

  • 서버 기반 실행
  • SVN / Git 연동 가능
  • Web GUI 제공

1️⃣1️⃣ Gradle

✅ 개념

  • Groovy 기반 빌드 자동화 도구

✅ 특징

  • 안드로이드 앱 개발 환경 사용
  • 플러그인 기반 빌드 지원

🎯 시험 포인트 정리

  • 패키징 → 실행 파일 묶어 배포
  • DRM → 디지털 저작권 보호 기술
  • 형상관리 5가지 기능
  • 버전관리 방식 (3가지)
  • SVN = 중앙집중형
  • Git = 분산형
  • 빌드 자동화 도구 → Jenkins, Gradle