사용자 중심의 패키징 수행
제품 소프트웨어 패키징(Product Software Packaging)의 개념
- 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정
제품 소프트웨어 패키징 적용 시 특성
전체 내용을 포함
- 설치와 사용에 필요한 과정 및 환경 등의 전체 내용을 포함하는 매뉴얼을 작성
버전 관리 / 릴리즈 노트
- 제품 소프트웨어에 대한 패키 개발과 업그레이드 수행
- 고객의 편의성을 위해, 신규/변경 이력을 확인하고, 이를 버전 관리 및 릴리즈 노트를 통해 지속적으로 관리
고객 중심
- 제품 소프트웨어 패키징은 개발자가 아닌 사용자 중심, 고객 편의성 중심으로 진행
모듈화
- 신규 및 변경 개발 소스를 식별하고, 이를 모듈화하여 상용 제품으로 패키징
제품 소프트웨어 패키징을 위한 모듈 빌드
- 제품 소프트웨어 패키징은 모듈들을 통해 수행되므로, 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징을 수행
소프트웨어 모듈 및 패키징
모듈화(Modularization) 개념
- 모듈을 이용하여 소프트웨어의 성능을 향상하거나 시스템의 디버깅, 시험, 통합 및 수정을 쉽게 하는 모듈 중심의 소프트웨어 설계 기법
- 모듈 간 결합도의 최소화(Loose Coupling)하고 모듈 내 요소 간의 응집도 최대화(Strong Cohesion)하는 것이 중요
모듈화의 장점
개발 편의성
- 프로그램의 효율적인 관리
- 전체적인 소프트웨어 이해의 용이성 증대
- 소프트웨어 시험, 통합, 수정 시 용이성 제공
- 모듈의 재사용 기능으로 개발과 유지보수가 용이
- 오류의 파급 효과를 최소화
복잡성 감소
- 기능의 분리가 가능하고 인터페이스가 단순
- 복잡도 감소로 인한 성능 향상
제품 소프트웨어의 패키징
- 제품 소프트웨어에서는 모듈의 개념을 정확하게 파악한 후에 기능 단위로 패키징하는 것이 필요
- 배포 전 시험 및 수정 등의 작업 진행에서도 모듈 단위로 분류하여 작업을 진행
제품 소프트웨어 모듈 빌드 기법
- 소프트웨어 빌드는 소스 코드 파일을 컴퓨터에서 실행할 수 있는 제품 소프트웨어의 단위로 변환하는 과정
- 대표적인 도구들로는 Ant, Make, Maven, Gradle 등의 빌드 도구들이 있음
- 빌드 과정을 문서화하면 다양한 이력에 대한 관리가 가능
사용자 중심의 패키징 작업
사용자 중심의 패키징 작업 시 고려 사항
- 제품 소프트웨어 패키징은 사용자를 위해 진행되는 작업으로서, 고객 편의성 및 사용자 실행 환경을 우선 고려하여 진행
사용자 중심의 패키징 고려 사항
시스템 환경
- OS, CPU, 메모리 등이 수행하기 위한 최소 환경을 정의
직관적 UI
- 사용자가 직관적으로 확인할 수 있는 UI를 제공
- 매뉴얼과 일치시켜 패키징 작업
관리 서비스
- 제품 소프트웨어는 하드웨어와 함께 통합 적용될 수 있도록 패키징 제공
안정적 배포
- 제품 소프트웨어는 고객 편의성을 위해 안정적 배포가 중요
- 다양한 사용자의 요구사항을 반영하기 위해 항상 패키징의 변경 및 개선 관리를 고려하여 패키징 배포
사용자 중심의 모듈 패키징 프로세스
1. 기능 식별
- 입출력 데이터 식별
- 전체적인 기능 정의 및 데이터 흐름 식별
- 기능 단위 및 출력에 대한 상세 정의
2. 모듈화
- 기능 및 서비스를 모듈 단위로 분류
- 기능의 공유와 재활용 분류
- 모듈 간 결합도와 응집도 식별
3. 빌드 진행
- 신규 개발 소스 및 컴파일 결과물 준비
- 정상 기능 단위 및 서비스 분류
- 빌드 도구 확인 및 정상 수행
- 컴파일 이외 도구의 다양한 기능 호가인
4. 사용자 환경 분석
- 최소 사용자 환경 사전 정의
- 모듈 단위 사용자 환경 테스트 수행
5. 패키징 적용 시험
- 사용자 환경에서의 패키징 적용 시험
- UI 및 시스템상의 편의성 체크
6. 패키징 변경 개선
- 패키징 적용 시 변경점 도출
- 최소 사용자 환경에서 서비스할 수 있는 수준의 개선
- 개선 버전의 재배포
'정보처리 > 소프트웨어개발' 카테고리의 다른 글
제품 소프트웨어 패키징 패키징하기 3/3 (0) | 2025.04.23 |
---|---|
제품 소프트웨어 패키징 패키징하기 2/3 (0) | 2025.04.22 |
통합 구현 내외부 연계 모듈 구현 (0) | 2025.04.20 |
통합 구현 연계 메커니즘 구성 (1) | 2025.04.19 |
데이터 입출력 구현 데이터베이스 기초 활용하기 2/2 (0) | 2025.04.18 |