1장. 소프트웨어 패키징

2025. 2. 12. 15:07·정보처리기사/[2과목] 3. 제품 소프트웨어 패키징

1. 소프트웨어 패키징의 개요

소프트웨어 패키징이란 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것을 말한다.

  • 개발자가 아니라 사용자를 중심으로 진행한다.
  • 소스 코드는 향후 관리를 고려하여 모듈화하여 패키징한다.
  • 사용자가 소프트웨어를 사용하게 될 환경을 이해하여, 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징한다.

2. 패키징 시 고려사항

  • 사용자의 시스템 환경, 즉 운영체제(OS), CPU, 메모리 등에 필요한 최소 환경을 정의한다.
  • UI(User Interface)는 사용자가 눈으로 직접 확인할 수 있도록 시각적인 자료와 함께 제공하고 매뉴얼과 일치시켜 패키징한다.
  • 소프트웨어는 단순히 패키징하여 배포하는 것으로 끝나는 것이 아니라 하드웨어와 함께 관리될 수 있도록 Managed Service 형태로 제공하는 것이 좋다.
  • 사용자에게 배포되는 소프트웨어이므로 내부 콘텐츠에 대한 암호화 및 보안을 고려한다.
  • 다른 여러 콘텐츠 및 단말기 간 DRM(디지털 저작권 관리) 연동을 고려한다.
  • 사용자의 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
  • 제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다.

3. 패키징 작업 순서

패키징 주기는 소프트웨어 개발 기법에 따라 달라지는데, 짧은 개발 주기를 반복하는 애자일 기법인 경우에는 보통 2 ~ 4주 내에서 지정하며, 각 주기가 끝날 때마다 패키징을 수행한다.

  • 프로젝트 개발 과정에서 주기별로 패키징한 결과물은 테스트 서버에 배포한다.
  • 마지막 개발 과정을 거쳐 최종 패키징한 결과물은 고객이 사용할 수 있도록 온라인 또는 오프라인으로 배포한다.
    • 온라인 배포 : 별도의 마련한 운영 서버에 설치 및 사용 매뉴얼과 함께 배포 파일을 등록하여 고객이 직접 다운받아 사용할 수 있도록 한다.
    • 오프라인 배포 : CD-ROM이나 DVD, USB 등에 설치 및 사용 매뉴얼과 함께 배포 파일을 담는다.
  1. 기능 식별 : 작성된 코드의 기능을 확인한다.
  2. 모듈화 : 확인된 기능 단위로 코드들을 분류한다
  3. 빌드 진행 : 모듈 단위별로 실행 파일을 만든다.
  4. 사용자 환경 분석 : 웹, 모바일, PC 등 소프트웨어가 사용될 환경이나 운영체제, CPU, RAM 등의 최소 운영 환경을 정의한다.
  5. 패키징 및 적용 시험
    • 빌드된 실행 파일들을 정의된 환경에 맞게 배포용 파일 형식으로 패키징한다.
    • 정의된 환경과 동일한 환경에서 패키징 결과를 테스팅한 후 소프트웨어에 대한 불편사항을 사용자 입장에서 확인한다.
  6. 패키징 변경 개선 : 확인된 불편 사항을 반영하기 위한 패키징 변경 및 개선을 진행한다.
  7. 배포 : 배포 수행 시 오류가 발생하면 해당 개발자에게 전달하여 수정을 요청한다.

'정보처리기사 > [2과목] 3. 제품 소프트웨어 패키징' 카테고리의 다른 글

6장. 소프트웨어 버전 관리 도구  (0) 2025.02.12
5장. 소프트웨어 버전 등록  (0) 2025.02.12
4장. 소프트웨어 사용자 매뉴얼 작성  (0) 2025.02.12
3장. 소프트웨어 설치 매뉴얼 작성  (0) 2025.02.12
2장. 디지털 저작권 관리(DRM)  (0) 2025.02.12
'정보처리기사/[2과목] 3. 제품 소프트웨어 패키징' 카테고리의 다른 글
  • 5장. 소프트웨어 버전 등록
  • 4장. 소프트웨어 사용자 매뉴얼 작성
  • 3장. 소프트웨어 설치 매뉴얼 작성
  • 2장. 디지털 저작권 관리(DRM)
seong-morning
seong-morning
seong-morning 님의 블로그 입니다.
  • seong-morning
    MilleZoo
    seong-morning
  • 전체
    오늘
    어제
    • 분류 전체보기 (87)
      • 백엔드 (17)
        • NestJS (17)
      • 인프라 (2)
        • Docker & Kubernetes (2)
      • CS (25)
        • 디자인 패턴 (9)
        • 프로그래밍 패러다임 (4)
        • 네트워크의 기초 (6)
        • TCP IP 4계층 모델 (2)
        • 네트워크 기기 (4)
      • 정보처리기사 (43)
        • [1과목] 1. 소프트웨어 설계 (10)
        • [1과목] 2. 화면 설계 (5)
        • [1과목] 3. 애플리케이션 설계 (8)
        • [1과목] 4. 인터페이스 설계 (4)
        • [2과목] 1. 데이터 입출력 구현 (6)
        • [2과목] 2. 통합 구현 (3)
        • [2과목] 3. 제품 소프트웨어 패키징 (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    면접을 위한 cs 전공지식 노트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
seong-morning
1장. 소프트웨어 패키징
상단으로

티스토리툴바