본문 바로가기
정보처리/소프트웨어개발

제품 소프트웨어 패키징 패키징하기 1/3

by 피갓자 2025. 4. 21.

제품 소프트웨어 패키징 패키징하기
제품 소프트웨어 패키징 패키징하기

사용자 중심의 패키징 수행

제품 소프트웨어 패키징(Product Software Packaging)의 개념

  • 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정

제품 소프트웨어 패키징 적용 시 특성

전체 내용을 포함

  • 설치와 사용에 필요한 과정 및 환경 등의 전체 내용을 포함하는 매뉴얼을 작성

버전 관리 / 릴리즈 노트

  • 제품 소프트웨어에 대한 패키 개발과 업그레이드 수행
  • 고객의 편의성을 위해, 신규/변경 이력을 확인하고, 이를 버전 관리 및 릴리즈 노트를 통해 지속적으로 관리

고객 중심

  • 제품 소프트웨어 패키징은 개발자가 아닌 사용자 중심, 고객 편의성 중심으로 진행

모듈화

  • 신규 및 변경 개발 소스를 식별하고, 이를 모듈화하여 상용 제품으로 패키징

제품 소프트웨어 패키징을 위한 모듈 빌드

  • 제품 소프트웨어 패키징은 모듈들을 통해 수행되므로, 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징을 수행

소프트웨어 모듈 및 패키징

모듈화(Modularization) 개념

  • 모듈을 이용하여 소프트웨어의 성능을 향상하거나 시스템의 디버깅, 시험, 통합 및 수정을 쉽게 하는 모듈 중심의 소프트웨어 설계 기법
  • 모듈 간 결합도의 최소화(Loose Coupling)하고 모듈 내 요소 간의 응집도 최대화(Strong Cohesion)하는 것이 중요

모듈화의 장점

개발 편의성

  • 프로그램의 효율적인 관리
  • 전체적인 소프트웨어 이해의 용이성 증대
  • 소프트웨어 시험, 통합, 수정 시 용이성 제공
  • 모듈의 재사용 기능으로 개발과 유지보수가 용이
  • 오류의 파급 효과를 최소화

복잡성 감소

  • 기능의 분리가 가능하고 인터페이스가 단순
  • 복잡도 감소로 인한 성능 향상

제품 소프트웨어의 패키징

  • 제품 소프트웨어에서는 모듈의 개념을 정확하게 파악한 후에 기능 단위로 패키징하는 것이 필요
  • 배포 전 시험 및 수정 등의 작업 진행에서도 모듈 단위로 분류하여 작업을 진행

제품 소프트웨어 모듈 빌드 기법

  • 소프트웨어 빌드는 소스 코드 파일을 컴퓨터에서 실행할 수 있는 제품 소프트웨어의 단위로 변환하는 과정
  • 대표적인 도구들로는 Ant, Make, Maven, Gradle 등의 빌드 도구들이 있음
  • 빌드 과정을 문서화하면 다양한 이력에 대한 관리가 가능

사용자 중심의 패키징 작업

사용자 중심의 패키징 작업 시 고려 사항

  • 제품 소프트웨어 패키징은 사용자를 위해 진행되는 작업으로서, 고객 편의성 및 사용자 실행 환경을 우선 고려하여 진행

사용자 중심의 패키징 고려 사항

시스템 환경

  • OS, CPU, 메모리 등이 수행하기 위한 최소 환경을 정의

직관적 UI

  • 사용자가 직관적으로 확인할 수 있는 UI를 제공
  • 매뉴얼과 일치시켜 패키징 작업

관리 서비스

  • 제품 소프트웨어는 하드웨어와 함께 통합 적용될 수 있도록 패키징 제공

안정적 배포

  • 제품 소프트웨어는 고객 편의성을 위해 안정적 배포가 중요
  • 다양한 사용자의 요구사항을 반영하기 위해 항상 패키징의 변경 및 개선 관리를 고려하여 패키징 배포

사용자 중심의 모듈 패키징 프로세스

1. 기능 식별

  • 입출력 데이터 식별
  • 전체적인 기능 정의 및 데이터 흐름 식별
  • 기능 단위 및 출력에 대한 상세 정의

2. 모듈화

  • 기능 및 서비스를 모듈 단위로 분류
  • 기능의 공유와 재활용 분류
  • 모듈 간 결합도와 응집도 식별

3. 빌드 진행

  • 신규 개발 소스 및 컴파일 결과물 준비
  • 정상 기능 단위 및 서비스 분류
  • 빌드 도구 확인 및 정상 수행
  • 컴파일 이외 도구의 다양한 기능 호가인

4. 사용자 환경 분석

  • 최소 사용자 환경 사전 정의
  • 모듈 단위 사용자 환경 테스트 수행

5. 패키징 적용 시험

  • 사용자 환경에서의 패키징 적용 시험
  • UI 및 시스템상의 편의성 체크

6. 패키징 변경 개선

  • 패키징 적용 시 변경점 도출
  • 최소 사용자 환경에서 서비스할 수 있는 수준의 개선
  • 개선 버전의 재배포