Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- html/css
- 데이터분석
- 머신러닝
- 중학1-1
- 중학수학
- 오블완
- 컴퓨터비전
- 자바 실습
- 디버깅
- 연습문제
- CSS
- 정보처리기사필기
- JDBC
- JSP/Servlet
- 정보처리기사실기
- 자바스크립트심화
- 파이썬
- 딥러닝
- rnn
- 상속
- SQL
- 순환신경망
- 자바스크립트
- 개발일기
- 혼공머신
- JSP
- 데이터베이스
- 자바
- 컴퓨터구조
- c언어
Archives
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
[소프트웨어 개발] 3장 제품 소프트웨어 패키징 1 - 애플리케이션 패키징과 배포 도구에 대하여 본문
이제 새로운 chapter에 들어갔다. 제품 소프트웨어 패키징인데 많이 지루하고 재미없는 내용들이 많다. 그래도 중요한 내용 위주로 정리해보려고 한다. 앞으로 앱을 만들려면 어떤 과정으로 만들어지는지 프로세스 정도는 알고 있어야 할 것이다.
학습 내용
- 애플리케이션 패키징 개념과 특징, 프로세스 과정에 대해서 학습한다.
- 애플리케이션 배포 도구에 대해서도 알아보며 패키징과의 차이점을 구별해 본다.
학습 시간
5시 20분 ~ 6시
1. 애플리케이션 패키징
개념
- 개발이 완료된 제품 소프트웨어를 배포하고 설치할 수 있도록 고객에게 전달하기 위한 형태로 제작
- 설치와 사용에 필요한 제반 내용을 포함하는 매뉴얼을 작성하는 활동
특징
- 사용자 중심으로 진행. 신규 및 변경 개발 소스를 식별하며, 이를 모듈화하여 상요 제품으로 패키징
- 고객의 편의성을 위해 신규/변경 이력을 확인, 이를 버전 관리 및 릴리즈 노트를 통해 지속적으로 관리
- 사용자의 실행 환경을 이해, 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 분류하여 패키징이 진행됨
고려사항
1) 사용자 실행 환경의 이해
- 사용자 실행 환경을 우선 고려하여 패키징을 진행
- OS부터 시작하여 실행 환경, 시스템 사양 및 고객의 사용 방법까지 상세 분류하여 실행 환경을 사전 정의
2) 사용자 관점에서의 패키징 고려 사항
1. 사용자 시스템 환경 정의 : 운영체제, CPU, 메모리 등의 수행을 위한 최소 환경
2. UI 제공 : 사용자가 직관적으로 확인할 수 있는 UI를 제공, 매뉴얼과 일치시켜 패키징 작업 수행
3. 관리 서비스 형태로 제공 : 애플리케이션은 하드웨어와 함께 통합 적용할 수 있도록, 패키징을 관리 서비스 행태로 제공
4. 패키징의 변경 및 개선 관리 고려 : 다양한 사용자의 요구사항을 반영하기 위해 패키징의 변경 및 개선 관리를 고려
프로세스
1. 기능 식별 : 입출력 데이터 식별
- 전체적인 기능 정의 및 데이터 흐름 식별
2. 모듈화 : 기능 및 서비스를 모듈 단위로 분류
- 모듈 간 결합도와 응집도 식별
3. 빌드 진행 : 신규 개발 소스 및 컴파일 결과물 준비
- 빌드 도구 확인 및 정상 수행
- 컴파일 이외 도구의 다양한 기능 확인
4. 사용자 환경 분석 : 최소 사용자 환경 사전 정의
- 모듈 단위 사용자 환경 테스트 수행
5. 패키징 적용 시험 : 사용자 환경에서의 패키징 적용 시험
- UI 및 시스템 상의 편의성 체크
6. 패키징 변경 개선 : 패키징 적용 시 변경점 도출
- 최소 사용자 환경에서 서비스 가능한 수준 개선
릴리즈 노트
- 애플리케이션 최종 사용자인 고객과 잘 정리된 배포 정보를 공유하는 문서
- 상세 서비스를 포함해 수정 · 변경 또는 개선되는 정보에 대한 사항이 제공
2. 애플리케이션 배포 도구
개념
- 배포를 위한 패키징 시에 디지털 콘텐츠의 지적재산권을 보호하고 관리하는 기능 제공
- 안전한 유통과 배포를 보장하는 도구이자 솔루션
배포 프로세스
1. 필드 내용 식별 : 릴리즈 노트 작성을 위한 모듈 및 빌드 정리
- 입출력 데이터, 전체적인 기능 정의, 데이터 흐름 정리
- 기능 단위 및 출력에 대한 상세 정의
2. 패키징 도구 식별 : 패키징 도구 사전 선택
- 암호/보안 기능 확인
3. DRM 흐름을 확인하여 패키징 수행 : 콘텐츠 분배자, 배포자, 소비자 간 DRM 흐름 확인
- 패키징 수행 시 키 관리, 보안 개념 확인하며 수행
4. 패키징 도구 설치 : 환경에 맞게 설치
5. 배포 작업 : 제품 소프트웨어 배포 작업 진행
- 배포 후 최종 패키징 완료 확인
6. 정상 배포 확인 : 암호화/ 보안 기능 적용 확인
- 제품 소프트웨어 배포본 기준으로 기능 체크리스트 확인
도구 활용 시 고려 사항
1. 암호화/ 보안 : 패키징시 사용자에게 배포되는 소프트웨어임을 감안하여 내부 콘텐츠에 대한 암호와 및 보안 고려
2. 이기종 연동 : 패키징 도구를 활용하여 여러 가지 이기종 콘텐츠 및 단말기 간 DRM 연동 고려
3. 복잡성 및 비효율성 문제 : 사용자의 입장에서 불편해질 수 있는 문제를 고려하여, 최대한 효율적으로 적용
4. 최적합 암호화 알고리즘 적용 : 여러 암호화 알고리즘 중 제품 소프트웨어의 종류에 맞는 것을 선택 + 배포 시 범용성에 지장이 없도록 고려
학습을 마치고
분량이 꽤 많아서 정리는 여기까지 하기로 했다. 모니터링과 DRM 도구는 따로 다음 포스트에 써보려고 한다. 그래도 오늘 8교시까지 무사히 공부를 마치고 귀가하게 되어 참 다행이다.
오늘 정말 힘든 하루였지만 그래도 기본은 따라갔던 것 같다. 때로는 그냥 자리에 있는 것만으로도 충분할 때가 있다.
매일매일 공부하고 수업을 받으니 지금의 시간이 얼마나 소중한지 미처 느끼지 못할 수도 있다. 하지만 이 시간은 내 인생에서 가장 중요한 시기이며 개발자로 첫출발을 하는 중요한 수업임을 잊지 말자! 힘들지만 난 꼭 이겨내서 다시 그 열정을 회복해 볼 것이다.
'자격증 공부 > 정보처리기사 필기' 카테고리의 다른 글
[소프트웨어 개발] 3장 제품 소프트웨어 패키징 3 - 제품 소프트웨어 매뉴얼 작성 (0) | 2024.07.31 |
---|---|
[소프트웨어 개발] 3장 제품 소프트웨어 패키징 2 - 애플리케이션 모니터링 도구 및 DRM (0) | 2024.07.31 |
[소프트웨어 개발] 2장 통합 구현 2 - 통합 구현 관리 (0) | 2024.07.31 |
[소프트웨어 개발] 2장 통합 구현 1 - 모듈 구현 (0) | 2024.07.31 |
소프트웨어 개발 - 데이터 입출력 구현 : 자료 구조 암기 및 적용 (0) | 2024.07.31 |