본문 바로가기
자격증/정보처리기사

소프트웨어 패키징

by 두두리안 2022. 6. 29.
728x90

목차

1.제품 소프트웨어 패키징
2.사용자 중심의 패키징
3.패키징 도구

1.제품 소프트웨어 패키징

1-1. 제품 소프트웨어 패키징의 개념

* 완료된 제품 소프트웨어를 사용자에게 전달하기 위해 묶어내는 것
* 제품 소프트웨어에 대한 패치개발 및 갱신을 위해 버전관리를 수행하는 것

1-2. 제품 소프트웨어 패키징의 특징

* 개발자가 아닌 사용자의 편의성을 중심으로 진행
* 범용적인 사용자 환경에서 사용이 가능하도록 일반적인 형태로 패키징
* 버전관리 및 릴리즈 노트를 통해 지속적으로 관리

1-3. 소프트웨어 패키징

1. 소프트웨어 모듈화
    * 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 테스트, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법
    * 재사용 및 공유 가능한 수준으로 만들어진 단위인 모듈들을 통해 소프트웨어 패키징을 수행

1-4. 제품 소프트웨어 모듈 빌드 기법

1. 소프트웨어 빌드
    * 소스코드 파일을 컴퓨터에서 실행할수 있는 제품 소프트웨어 단위로 변환하는 과정
    * 소스크드 파일이 실행코드로 변환되는 컴파일 과정이 핵심으로 수행
    * 빌드에 따른 결과물에 대한 상세확인이 필요하다
2. 제품 소프트웨어를 위한 빌드 자동화 도구
    * 빌드를 포함하여 테스트및 배포를 자동화하는 도구
    * Ant, Make, Maven, Gradle, Jenkins
3. Jenkins
    * java 기반의 오픈소스 자동화 도구
    * 가장 많이 사용되는 빌드 자동화 도구
    * 서블릿 컨테이너에서 실행되는 웹 서버 기반도구
    * Git과 같은 형상관리 도구와 연동이 가능
4. Gradle
    * groovy 언어 기반의 오픈소스 자동화 도구
    * 안드로이드 앱 개발환경에서 사용
    * 처리 명령들을 모아 태스크 단위로 실행
    * 플로그인을 설정하면 java, c, python 등의 언어도 빌드 가능
    * DSL을 스크립트 언어로 사용
    * 태스크 단위로 실행

2.사용자 중심의 패키징

2-1. 사용자 관점에서의 패키징 고려사항

* 소프트웨어 실행에 필요한 최소 시스템 환경을 정의
* 사용자가 이해할수 있는 인터페이스와 매뉴얼을 제공
* 하드웨어와 함께 통합 적용될수 있도록 하며 Managed Service 형태로 제공
* 사용자의 편의성과 사용상의 안정성을 우선 고려
* 기능식별 -> 모듈화 -> 빌드진행 -> 사용자 환경분석 -> 패키지 적용시험 -> 패키지 변경 개선

2-2. 사용자 중심의 패키징 작업

1. 기능식별: 신규 개발 소스의 목적 및 기능을 식별
2. 모듈화: 모듈 단위 분류 및 모듈화를 진행
3. 빌드진행: 빌드 자동화 도구를 활용하여 단위별로 빌드를 진행
4. 사용자 환경분석: 사용자 편의성을 위한 사용자 요구사항과 사용환경을 분석한다
5. 패키지 적용 시험: 최종 패키지에 대해 사용자의 입장에서 불편한점을 체크한다
6. 패키지 변경개선: 사용자 입장을 반영하여 패키징의 변경및 개선을 진행한다

3.패키징 도구

3-1. 제품 소프트웨어 패키징 도구의 개념

* 패키징에 포함되는 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능과 함께 소프트웨어의 안전한 유통과 배포를 보장하는 도구 및 솔루션
* 암호화 및 보안 기능과 디지털 저작권 관리 기술 구현이 가능한 도구를 통해 패키징 한다

3-2. 패키징 도구 활용시 주의사항

* 반드시 내부 콘텐츠에 대한 암호화 및 보안 기능 고려
* 여러 기종에 대한 콘텐츠 호환성 및 디지털 저작권 관리 기술 연동을 고려
* 사용자 편의성을 고려해 최대한 단순하고 효율적으로 적용될수 있도록 한다
* 소프트웨어 종류에 맞는 암호화 알고리즘을 선택하여 범용성에 지장이 없도록 한다
* 지속적인 배포, 통합, 서비스를 고려하여 제공

3-3. 릴리즈 노트

* 소프트웨어와 함께 배포되어 최종 사용자에게 전달되는 문서로, 소프트웨어의 정보와 변경사항을 기록, 설명한다
* 릴리즈 정보들은 철저하게 테스트를 진행한후 개발팀에서 제공하는 사양에 대해 최종 승인된 후에 문서를 통해 배포
* 개발팀에서 소유권을 가지며 명확하고 정확하며 완전한 정보를 제공해야 한다
* 표준형식은 없지만, 배포정보에 대한 이력을 정확하게 관리하여 진행한다
* 전체적인 버전관리를 체계적으로 관리할수 있다

참고자료 : 이기적 환상콤비 정보처리기사

728x90

'자격증 > 정보처리기사' 카테고리의 다른 글

애플리케이션 테스트 종류  (0) 2022.06.30
애플리케이션 테스트  (0) 2022.06.29
인터페이스  (0) 2022.06.27
통합구현도구(IDE)  (0) 2022.06.27
정렬  (0) 2022.06.25