[ 목차 ]
1. 애플리케이션 패키징
2. 사용자 중심의 애플리케이션 패키징
3. 애플리케이션 패키징 순서
4. 애플리케이션 릴리즈 노트
5. 애플리케이션 배포 도구
6. 암호화
7. 애플리케이션 배포 도구 활용 시 고려사항
8. 애플리케이션 모니터링 도구
9. 모니터링 도구 기능 - 변경 관리 changeminer
10. 모니터링 도구 기능 - 성능관리
11. 모니터링 도구 기능 - 정적분석
12. 모니터링 도구 기능 - 동적분석
13. DRM 디지털 저작권 관리
14. DRM의 구성
15. drm 구성요소
16. 모바일 drm
1. 애플리케이션 패키징
1) 개발이 완료된 소프트웨어를 고객에게 전달하기 위해 패키징, 설치, 사용 매뉴얼을 작성하는 활동
2) 개발자가 아닌 사용자 중심
3) 신규 및 변경 개발 소스를 식별하고 이를 모듈화해 상용 제품으로 패키징
4) 고객 편의를 위해 신규, 변경 이력을 확인하고 버전 관리 및 릴리즈 노트를 통해 지속적으로 관리
5) 사용자의 실행 환경을 이해, 범용 환경에서 사용 가능하도록 일반적 배포 형태로 분류하여 패키징
릴리즈
1) 소프트웨어 배포
릴리즈 노트
1) 소프트웨어 제품과 함께 배포되는 문서를 의미
2) 제품 개발, 테스트 상태에서 추가되기도 함
3) 고객이 이미 사용중인 제품의 경우 업데이트가 출시될 때 고객에게 전달
2. 사용자 중심의 애플리케이션 패키징
1) 사용자의 실행 환경을 이해
1] 고객 편의성을 위해 사용자 실행 환경을 이해
2] 운영체제, 실행환경, 시스템 사용, 개발언어, 고객의 사용방법까지 상세분석하여 실행 솰경을 사전 정의
3] 다양한 실행 환경이 나오면 별도의 애플리케이션 패키징 작업이 필요
2) 사용자 관점의 애플리케이션 패키징 고려 사항
1] 사용자 운영체제, 시스템사양(cpu, memory,disk) 등의 최소 환경(최소 사양, 권장 사양)
2] 직관적 화면을 고려하고 메뉴얼과 일치시켜 패키징 작업을 진행
3] 애플리케이션은 하드웨어와 함께 통합 적용
4] 패키징은 managed service 형태로 제공
5] 다양한 사용자 요구사항을 반영하기 위해 패키징 변경, 개선 관리를 고려
매니지드 서비스
1) 운영을 관리하고 유지 보수하는 서비스
3. 애플리케이션 패키징 순서
1) 기능 식별 -> 모듈화 -> 빌드진행 -> 사용자 환경 분석 -> 패키징 적용 시험 -> 패키징 변경 개선
2) 기능 식별
1] 신규 개발 소스의 목적, 기능을 식별
2] 입출력 데이터, 전체적인 기능 정의 및 데이터 흐름을 식별
3) 모듈화
1] 확인된 기능 단위로 코드 분류
2] 모듈 단위 분류 및 모듈화를 순서에 맞게 진행
3] 수행을 위한 기능 단위 및 서비스 분류 : 모듈로 분류할 수 있는 기능 및 서비스 반위로 분류
4] 패키징 개념에서의 기능의 공유와 재활용 단위를 분류 : 여러 번 호출되는 공유, 재활용 함수를 분류
3) 빌드 진행
1] 모듈화로 만들 모듈 단위 별로 실행 파일을 만듬
2] 애플리케이션 빌드 도구를 활용한 빌드를 단위별로 진행
3] 신규 개발 소스 및 컴파일 결과물을 준비
4] 빌드 도구 확인 및 정상 수행여부를 확인
컴파일
1) 소스의 문법을 컴퓨터가 이해할 수 있는 기계어로 번역
빌드
1) 소드 코드 파일 및 컴파일 된 파일들을 컴퓨터에서 실행할 수 있는 제품 소프트웨어로 변환하는 과정과 결과물
4) 사용자 환경 분석
1] 최소 운영 환경을 정의
2] 고객 편의성을 위한 사용자의 요구 사항 및 사용 환경을 사전에 분석
3] 사용자 pc 운영체제, 서버사양, 네트워크 환경 등을 분석
4] 최소 사용자 환경 정의
5] 모듈 단위의 여러가지 기능별 사용자 환경 테스트
5) 패키징 적용 시험
1] 배포용 파일 형식으로 패키징 후 테스트
2] 최종 패키징에 대해서 사용자 입장에서 불편한 점을 체크
3] 사용자 환경과 똑같은 환경에서 패키징 적용
4] 화면 사용 및 시스템 상의 편의성을 체크
5] sw가 ui및 시스템환경과 맞지 않거나 불편한 점을 체크
6) 패키징 변경 개선
1] 사용자 입장을 반영하여 패키징에서 변경 및 개선을 진행
2] 사용자 최소 pc사양에서 서비스 가능한 수준의 개선 포인트를 도출
3] 도출된 변경점을 기준으로 모듈, 빌드를 수정하고 재패포 수행
4. 애플리케이션 릴리즈 노트
1) 애플리케이션 최종 사용자에게 전달되는 제품에 대한 공유 정보
2) 애플리케이션 패키징 버전별 릴리즈 노트는 제품의 주요 변경
3) 애플리케이션 최종 사용자에게 전달되는 제품에 대한 공유 정보
4) 작성 항목(항목 암기)
1] 헤더 : 문서 이름, 제품 이름, 버전 번호, 릴리즈 일자, 노트 버전
2] 개요 : 제품 및 변경에 대한 간략 개요
3] 목적 : 새로운 기능, 릴리즈 노트의 목적, 버그 수정 및 신규 기능
4] 이슈 요약 : 버그의 간단한 설명, 릴리즈 추가 항목 요약
5] 재현 항목 : 버그 발견에 따른 재현 단계 기술
6] 수정/개선 내용 : 수정 개선의 간단한 설명
7] 사용자 영향도 : 버전 변경에 따른 최종 사용자 기준의 기능 및 응요 프로그램 상의 영향도
8] 버전 변경에 따른 SW의 지원 프로세스 및 영향도
9) 노트 : SW 및 HW 인스톨 항목, 제품, 문서를 포함한 업그레이드 항목 메모
10) 면책 조항 : 회사 및 표준 제품과 관련된 메시지, 프리웨어, 불법 복제 방지, 중복 등 참조 고지 사항
11) 연락처 : 사용자 지원 및 문의 연락처
5. 애플리케이션 배포 도구
1) 배포를 위한 패키징 시에 디지털 컨텐츠의 지적 재산권을 보호하고 관리하는 기능을 제공하며 안전한 유통과 배포를 보장하는 도구이자 솔루션
2) 배포 도구 구성요소
1] 암호화 : 컨텐츠 및 라이센스를 암호화하고 전자 서명을 하는 기술로 정당하지 않은 사용자로부터 보호
2] 키 관리 : 컨텐츠를 암호화한 키에 대한 저장 및 배포 기술
3] 암호화 파일 생성 : 컨텐츠를 암호화된 컨텐츠로 생성하기 위한 기술로 pre-패키징, on-thefly 패키징이 있음
4] 식별 기술 : 컨텐츠에 대한 식별 체계 표현 기술로 DOI, URI가 존재
EX. 물리적인 도서에 부여되는 ISBN
5] 저작권 표현 : 라이센스의 내용 표현 기술로 XrML/MPEG-21 REL, ODRL이 존재하며 어떤 사용자가 어떤 콘텐츠에 어떤 권한과 조건으로 이용할 수 있는지 정의한 권리 표현
6] 정책 관리 : 라이센스 발급 및 사용에 대한 정책표현 및 관리기술로 XML, contents management system이 있음
7] 크랙 방지 : 크랙에 의한 컨텐츠 사용 방지 기술로 복사 방지나 등록기술 등이 적용된 상용 소프트웨어의 비밀을 풀어서 불법으로 복제하거나 파괴하는 것을 막음
8] 인증 : 라이센스 발급 및 사용의 기준이 되는 사용자 인증 기술로, 아이디, 비밀번호, 공인인증서를 의미
6. 암호화
1) 개인키 암호화 알고리즘 DES PRIVATE (암호화키=복호화키) : 돌일한 키를 이용하는 방식으로 보안 수준이 낮으나 알고리즘이 단순하고 빠름
2) 공개키 암호화 알고리즘 RSA PUBLIC (암호화키<>복호화키) : 서로 다른 키를 사용하는 비대칭 암호화 방식으로 보안 수준이 높지만 속도가 느리고 알고리즘이 복잡하며 파일 크기가 큼
7. 애플리케이션 배포 도구 활용 시 고려사항
1) 반드시 암호화와 보안을 고려
2) 추가로 다양한 이기종 연동을 고려 : 이기종 컨텐츠 및 단말기 간 drm 연동(복제를 못하게 하는 것)을 고려
3) 사용자 편의성을 위한 복잡성, 비효율성 문제를 고려
4) 애플리케이션 종류에 적합한 암호화 알고리즘을 적용
5) 지속적 배포 고려 : CI와 연계한 지속적 배포를 고려하고 짧은 주기의 배포를 여러 번 함으로써 바른 제품 출시 효과
OVER THE TOP : tv가 인터넷과 연결되어 셋톱박스 없이 tv 시청이 가능
ci : 지속적인 통합으로, 자주 통합해서 통합시 발생하는 여러가지 문제점을 조기에 발견하고 피드백사이클을 짧게 하여 소프트웨어 개발의 품질과 생산성을 향상시키는것
drm : 웹을 통해 유통되는 각종 디지털 콘텐츠의 안전 분배와 불법 복제 방지를 위한 보호방식을 의미하며, 파일 교환 프로그램을 통해 전파되는 상업적 자료의 온라인 불법 복제로부터 디지털 컨텐츠를 보호하기 위한 것으로 관련법령이나 위반자단속으로는 예방이 어렵기 때문에 사후 단속보다 사전에 문제점을 파악해 첫 단계에서 내용 복제를 못하도록 한 것
8. 애플리케이션 모니터링 도구
1) 사용자 환경에 제품소프트웨어가 설치되었을 때에 애플리케이션의 성능을 모니터링해 제품의 장애를 미리 예방
2) 최소의 자원을 사용하면서 얼마나 빨리 많은 기능을 수행하는지 육안 또는 도구를 통해 점검
3) APM : 애플리케이션 모니터링 도구로, 제품소프트웨어를 사용자 환경에 설치 후 기능, 성능 운영 현황을 파악하는 도구
4) 애플리케이션 모니터링 도구 기능 : 변경관리, 성능관리, 정적분석의 기능 수행
정적분석 : 프로그램을 실행하지 않고 분석하는 도구로 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함 등을 발견하기 위해 사용
9. 모니터링 도구 기능 - 변경 관리 changeminer
1) 애플리케이션간 종속관계를 모니터링
2) 애플리케이션 변경이 있을 경우 변경의 영향도 파악에 활용
10. 모니터링 도구 기능 - 성능관리
1) jeniffer : 애플리케이션 서버로 유입되는 트랜잭션 수량, 처리시간, 응답시간 등을 모니터링
2) nmon : 리눅스 서버 자원에 대한 모니터링 도구로 nmonanalyser를 이용해 자원 사용량을 그래프로 표현
11. 모니터링 도구 기능 - 정적분석
1) pmd : 자바로 작성된 소스의 코드 잠재적인 문제와 코딩 규칙 오류를 발견
2) cppcheck : c/c++ 소스코드에 대한 잠재적 문제 발견
12. 모니터링 도구 기능 - 동적분석
1) avalanche : valgrid 프레임워크와 stp를 기반으로 구현되었으며 심각한 소프트웨어 에러와 취약점 발견
2) valgrid : c/c++ 기반 프로그램에 대한 메모리 및 쓰레드 문제 발견
13. DRM 디지털 저작권 관리
1) 각종 미디어의 접근 및 사용권한을 서버 인증을 통해 중앙집중식으로 통제하는 것(음원 사이트 스트리밍 방식)
2) 저작권자와 컨텐츠 유통업자 사이의 거래주로 투명성을 제공
3) 사용가능 횟수, 유효기간, 사용환경 등의 사용 규칙을 제공
4) 이메일, 디지털미디어, 네트워크 등을 통한 자유로운 상거래를 제공
14. DRM의 구성
1) 컨텐츠 제공자server, 소비자client, 하우스houser로 구성 / 개발자는 x
2) 컨텐츠 분배자는 제공자로부터 컨텐츠를 받아서 소비자에게 유통
3) 클리어링 하우스 : 저작권에 대한 사용 권한, 라이센스 발급, 사용량에 다른 결제 관리 등을 수행
커머스 : 상거래
p2p pear to pear
1) 인터넷으로 다른 사용자의 컴퓨터에 접속해 각종 정보나 파일을 교환, 공유할 수 있게 해주는 서비스
2) 공급자와 서비자의 경계가 뚜렷하지 않음
15. drm 구성요소
1) 컨텐츠 제공자
1] 컨텐츠 : 서비스 대상으로 암호화된 컨텐츠, 메타 데이터
2] 패키지 : 클리어링하우스에서 부여받은 컨텐츠 사용정보를 암호화한 컨텐츠로 변환하는 도구로, 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화하는 프로그램
2) 클리어링 하우스
1] 사용권한 정책 : 라이센스 발급여부를 결정하는 정책으로 적절한 사용권한을 부여하는 역할을 수행
2] 라이센스 : 사용자에게 전달되는 컨텐츠 권리 인증 정도
3) 컨텐츠 소비자
1] drm 컨트롤러 : 배포된 디지털 컨텐츠의 이용 권한을 통제
2] 보안 컨테이너 : 원본 컨텐츠를 안전하게 유통하기 위한 전자적 보안장치
16. 모바일 drm
1) 무선 디지털 컨텐츠 유통시장에서 컨텐츠 및 지적 재산권을 보호하는 기술
2) 스마트폰 os에 의존적
3) 스마트폰에 drm agent가 설치되어 사용자 권한에 따라 암호화/복호화를 수행 : drm이 걸려있는 파일을 접근할 때 먼저 agent를 통해서 인증을 받은 다음에 인증에 통과한 사용자에 한하여 해당 파일에 접근할 수 있도록 함
'자격증 > 정보처리기사 2과목' 카테고리의 다른 글
2-14장. 제품소프트웨어 패키징-제품소프트웨어 버전관리 (0) | 2020.05.18 |
---|---|
2-13장. 제품소프트웨어 패키징-제품소프트웨어 매뉴얼 작성 (0) | 2020.05.16 |
2-7장. 데이터 입출력 구현-데이터 조작 프로시저 작성(1) (0) | 2020.05.13 |
2-6장. 데이터 입출력 구현-물리 데이터저장소 설계(3) (0) | 2020.05.13 |
2-5장. 데이터 입출력 구현-물리 데이터저장소 설계(2) (0) | 2020.05.13 |