Chimy's Program
정보처리기사 필기 - 소프트웨어 개발 : 제품 소프트웨어 패키징 본문
정보처리기사 필기 - 소프트웨어 개발 : 제품 소프트웨어 패키징
소프트웨어 패키징
- 모듈별로 생성한 실행파일을 묶어 배포형 설치파일을 만듦
- 사용자 중심
- 모듈화 패키징
ⓞ 패키징 시 고려사항
- OS, CPU, 메모리 최소환경 정의
- 메뉴얼 배포
- 고객 편의
- 패키징의 변경사항/개선사항 관리
ⓞ 패키징 작업 순서 : 2~4주 개발 주기 단위로 패키징하고 최종 결과물을 배포
- 기능식별(코드기능)
- 모듈화(기능단위)
- 빌드진행(실행파일)
- 사용자환경분석
- 패키지 적용 및 시험
- 패키지 변경 및 개선
- 배포
※ 온라인 배포 : 온라인을 통해 다운로드
※ 오프라인 배포 : CD, DVD, USB 이용
릴리즈 노트
- 사용자에게 제공하는 소프트웨어에 대한 정보
- 개발과정에서 정리된 내용을 SW 최종 사용자와 공유하기 위한 문서
- 테스트에 대한 내용, 사양 확인 가능
- SW기능, 서비스, 개선사항을 사용자와 공유
ⓞ 릴리즈 노트 초기 버전 작성 시 고려사항
- 머리말, 개요, 목적, 문제 요약, 재현항목
- 수정/개선 내용, 사용자 영향도, SW 지원 영향도
- 노트, 면책 조항, 연락처
ⓞ 릴리즈 노트 추가 버전 작성 시 고려사항
- 버그, 업그레이드, 기능 향상, 사용자 요청사항 발생시 작성
- 중대한 오류가 발생하여 긴급 수정할 시 버전을 출시
ⓞ 릴리즈 노트 작성 순서
- 모듈식별
- 릴리지 정보 확인
- 릴리즈 노트 개요 작성
- 영향도 체크
- 정식 릴리즈 노트 작성
- 추가 개선 항목 식별
디지털 저작권 관리(DRM)
- 저작권 : 여러분야에서 독점적 권리, 타인의 침해x
ⓞ 디지털 저작권 관리(DRM; Digital Right Management)
- 저작권자가 배포한 디지털 콘텐츠를 저작권자가 의도한 용도로만 사용해야 함
- 생성, 유통, 이용까지 전과정에 걸쳐 사용되는 디지털 콘텐츠 관리 및 보호기술
ⓞ 디지털 저작권 구성요소
- 클리어링 하우스 : 저작권에 대한 사용권한, 결제관리
- 콘텐츠 제공자 : 저작권자
- 패키저 : 콘텐츠를 배포 가능한 형태로 묶어 암호화
- 콘텐츠 분배자 : 유통업자
- 콘텐츠 소비자 : 구매자
- DRM 컨트롤러 : 이용권한 통제
- 보안컨테이너 : 전자적 보안장치
ⓞ 디지털 저작권 관리의 기술 요소
- 암호화
- 키 관리
- 암호화 파일 생성
- 식별 기술
- 저작권 표현
- 정책 관리
- 크랙 방지
- 인증
소프트웨어 설치 매뉴얼
- 설치과정에 필요한 내용을 모두 기술할 설명서
- 사용자 기준
- 시작부터 완료까지 빠짐없이 작성
- 오류메시지나 예외 상황도 기술
ⓞ 서문
- 문서 이력
- 설치 매뉴얼의 주석
- 설치도구의 구성
- 설치 환경 체크 항목
ⓞ 기본 사항
- 소프트웨어 개요
- 설치 관련 파일
- 설치 아이콘
- 프로그램 삭제
- 관련 추가정보
ⓞ 설치 매뉴얼 작성 방법
- 설치과정을 이해하기 쉽게 작성
- 설치화면을 빠짐없이 캡처하여 순서대로 나열
- 설치화면, 설치이상 메시지 설명, 설치 완료 및 결과, FAQ
- 설치 시 점검 사항, 네트워크 환경 및 보안, 고객 지원 방법, 준수 정보 & 제한 보증
ⓞ 설치 매뉴얼 작성 순서
- 기능 식별
- UI분류
- 설치파일확인
- Uninstall절차 확인
- 이상case확인
- 최종 매뉴얼 적용
소프트웨어 사용자 매뉴얼
- 사용과정에서 필요한 내용을 작성한 설명서
- 업그레이드를 위한 메뉴얼 버전 관리
- 컴포넌트(독립적인 기능 수행) 단위로 메뉴얼 작성
ⓞ 서문
- 문서 이력, 설치 매뉴얼의 주석, 기록 보관 내용
ⓞ 기본 사항
- 소프트웨어 개요
- 소프트웨어 사용 환경
- 소프트웨어 관리
- 모델버전별 특징
- 기능 인터페이스 특징
- 소프트웨어 구동 환경
ⓞ 사용자 매뉴얼 작성 방법
- 사용자화면, 주요기능 분류
- 응용 프로그램 및 설정, 장치 연동, 네트워크 환경
- Profile 안내, 고객 지원 방법, 준수정보 제한 보증
ⓞ 사용자 매뉴얼 작성 순서
- 기능 식별
- 사용자 화면 분류
- 사용자 환경 파일 확인
- 초기화 절차 확인
- 이상case확인
- 최종 매뉴얼 적용
국제 표준 제품 관련 품질
ⓞ 국제 표준 제품 관련 품질 특성의 분류
- 제품 품질 표준 : ISO/IEC 9123, ISO/IEC 14598, ISO/IEC 12119, ISO/IEC 25000
- 프로세스 품질 표준 : ISO/IEC 9000, ISO/IEC 12207, ISO/IEC 155054, ISO/IEC15288, CMMI
ⓞ ISO/IEC 12119 평가 절차
- 제품 설명서 시험
- 사용자 문서 지침
- 실행 프로그램 시험
- 시험 기록
- 시험 보고서 작성
ⓞ ISO/IEC 14598 특징
- 반복성(Repeatability)
- 재현성(Reproducibility)
- 공정성(Impartiality)
- 객관성(Objectivity)
소프트웨어 버전 등록
ⓞ 소프트웨어 패키징의 형상 관리
- SW변경사항을 관리하는 활동
- SW개발 전체단계에서 적용(유지보수단계에서도 적용)
ⓞ 형상관리의 중요성
- SW 변경사항을 체계적으로 추적하고 통제 가능
- 무절제한 변경 방지
ⓞ 형상 관리 기능
- 형상 식별
- 버전 제어
- 형상 통제
- 형상 감사
- 형상 기록
ⓞ 소프트웨어의 버전 등록 관련 주요 용어
- 저장소 : 최신버전의 파일, 변경내역
- 가져오기 : 저장소에 처음으로 파일을 복사
- 체크아웃 : 저장소에서 파일 받기
- 체크인 : 저장소에 새로운 버전 갱신
- 커밋 : 충돌을 알리고 수정하여 갱신완료
- 동기화 : 저장소의 최신버전과 작업공간 동기화
ⓞ 소프트웨어 버전 등록 과정
- 가져오기 : 신규 파일 추가
- 인출 : 저장소의 파일을 자신의 작업공간으로 가져오기
- 예치 : 인출한 파일을 수정하여 저장소에 예치
- 동기화 : 저장소와 자신의 작업공간을 동기화
- 차이 : 수정기록 확인, 이전/이후 개발파일의 차이 확인
소프트웨어 버전관리 도구
- 제품소프트웨어의 신규 개발, 변경, 개선과 관련된 수정 내역을 관리하는 도구
ⓞ 소프트웨어 버전관리 도구 유형
- 공유 폴더 방식 : 초기에 사용, 매일 약속된 공유 폴더에 저장했다가 다시 받아오는 방식
- 클라이언트/서버 방식 : 중앙 저장소에 저장했다가 다시 불러오는 방식
- 분산 저장소 방식 : 중앙 저장소에 내용을 지역 저장소에 저장하여 관리하는 방식
ⓞ 소프트웨어 버전관리 도구별 특징
- CVS : 서버, 클라이언트로 구성, 다수인원이 동시에 범용 OS에 접근 가능
- SVN : 개별프로젝, CVS의 장점, 단점 개선, 업계 표준
- RCS : 소스파일 수정은 1사람만 하도록 제한, 잠금
- Bitkeeper : 대규모, 빠른 속도
- Git : 오픈소스, 속도에 중점을 둔 분산형 버전관리 시스템, 대형 프로젝트
- Clear Case : IBM에서 제작, 복수서버/복수클라이언트
ⓞ 소프트웨어 버전관리 도구 사용 시 유의점
- 형상관리 지침에 의거 버전에 대한 정보를 언제든지 접근할 수 있어야 함
- 개발자, 배포자 이외에 불필요한 사용자가 소스 접근할 수 없도록 해야 함
- 동일한 프로젝트 파일에 대해서 여러 개발자가 동시 개발할 수 있어야 함
- 에러 발생 시 최대한 빠른 시간 내에 복구 필요
ⓞ 제품소프트웨어에 소프트웨어 버전관리 도구 활용방안
- 공동 개발 및 작업 관리 : 2명이상의 개발자가 수정 가능
- 버전 백업 및 복구 : 이전 버전으로 되돌리기 가능
- 여러 버전 솔루션 작업 : 하나의 솔루션을 기반으로 여러 버전의 제품 개발 시 활용
빌드 자동화 도구
- 저장소에 있는 소스를 자동으로 읽어서 빌드를 하여 실행 파일을 만드는 도구
- 수없이 반복하여 최종 결과물 산출
ⓞ 온라인 빌드 자동화 도구 - 젠킨스(Jenkins)
- 빌드 자동화 도구로서 가장 많이 활용되는 도구
- JAVA기반의 오픈소스
- 지속적 통합관리를 가능
- 다양한 버전관리 도구를 지원
- 임의의 쉘 스크립트와 윈도우 배치 명령까지 실행 가능
- 쉬운 설치, 친숙한 GUI
- 저장소 부하 감소
- 실시간 피드백
- 분산 필드
- 3rd party 플러그인 타 도구와의 통합 지원
- DB, 개발도구, Eclipse, 테스트 도구(Junit)와 통합 가능
ⓞ 안드로이드 환경에 적합한 도구 - 그래들(Gradle)
- 오픈소스
- 여러가지 언어의 빌드 환경을 구성
- 안드로이드 개발 환경에서 빌드 자동화 도구로 사용
- 그래들 스크립트는 groovy를 사용해서 만든 DSL(Domain Specific Language)
- 모든 그래들 빌드는 하나 이상의 projects로 구성
'BASE' 카테고리의 다른 글
정보처리기사 필기 - 소프트웨어 개발 : 인터페이스 구현 (0) | 2020.05.29 |
---|---|
정보처리기사 필기 - 소프트웨어 개발 : 애플리케이션 테스트 관리 (0) | 2020.05.28 |
정보처리기사 필기 - 소프트웨어 개발 : 통합 구현 (0) | 2020.05.27 |
정보처리기사 필기 - 소프트웨어 개발 : 데이터 입출력 구현 (0) | 2020.05.26 |
정보처리기사 필기 - 소프트웨어 설계 : 인터페이스 설계 (0) | 2020.05.26 |