정보처리기사 필기 준비하며 정리한 내용입니다.
제품 소프트웨어 패키징
패키징
고객이 소프트웨어를 사용할 수 있도록 묶은 것
업데이트 받는 것도 패키징! 매뉴얼 작성도 패키징!
배포까지 말하는 것이 패키징 작업
- 패키징 방법 일반적인 3가지
- CD / USB
- APP 스토어에서 받는 것
- WEB 서비스
📌애플리케이션 패키징
- 무조건 고객(사용자) 입장에서 패키징을 고려해야 한다!
- 패키징된 서비스는 고객이 설치해야 하기 때문에
- 사용자의 실행 환경을 이해한다!
- 컴퓨터 상태 (OS, CPU, 메모리 등)
수행 순서 ⭐
- 기능 식별
- 모듈화 진행 // 여기까지는 개발
- 빌드 진행 : 배포본 형태로 만드는 것 (묶는 것)
- 웹 JAVA 기준으로 war파일(압축파일) 이 나온다. 이걸 가지고 아래의 환경 분석을 수행! (컴퓨터라면 exe)
- 사용자 환경 분석
- 패키징 적용 시험 : 잘 되는지 확인하는 것
- 패키징 변경 개선
릴리즈 노트
= 설명서!
- 작성 항목
- Header : 문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전 등
- 면책 조항 : 불법 복제 방지 등
📌애플리케이션 배포 도구
- 정처기에서는 웹 서비스 기준으로 나온다!
- 왜냐하면 요즘엔 CD, USB 구매하는 경우가 흔하지 않기 때문
애플리케이션 배포 도구 활용 시 고려사항 ⭐
- 반드시 내부 콘텐츠 암호화 및 보안을 고려!
- 다양한 이기종 연동을 고려
- 복잡성 및 비효율성 문제를 고려 (UX를 통해 UI를 만든다)
- 소프트웨어 종류에 적합한 암호화 알고리즘 적용
구성요소
- 암호화 Encryption
- 키 관리
- 암호화했으면 키로 풀어야 사용자가 볼 수 있다
- 암호화 파일 생성 Packager
- Pre-packaging 미리 키랑 다 만들어 놓는 것
- On-the-fly Packaging 사용자가 다운받을 때마다 그때그때 키 생성
- 식별 기술 : 컨텐츠가 어디 들어가 있는가
- 저작권 표현 : XrML 이용한다
- 정책 관리 : 라이선스에 관한 것
- 크랙 방지
- 인증 : 사용자 인증 기술
CI & CD
- CI 지속적인 통합 Continuous Integration
- 공유 repo에 통합
- 버그 신속 해결 → 품질 향상 작업!
- CD 지속적인 배포 Continuous Delivery & Continuous Deployment
- 지속적인 서비스 제공 혹은 지속적인 배포
- 사용자가 이용할 수 있게 하는 것
- 공유 레포로 자동 릴리즈 & 프로덕션 레벨까지 자동 deploy
- 지속적인 서비스 제공 혹은 지속적인 배포
- 사용자의 요구를 들어 지속적인 개선활동을 하고(CI) 이용할 수 있도록 하는 것(CD)
📌애플리케이션 모니터링 도구
대시보드처럼 그래프형태로 가시적으로 (성능, 자원, 장애 등) 빠르게 확인할 수 있도록 보여주는 모니터링 도구
- 이점
- 빠른 장애 탐지
- 다운타임의 최소화
- 의사결정에 도움 : 성능이 너무 안나오면 업그레이드 하거나
- 장애 발생 시 자동화
- 프로세스
- 데이터 수집
- 기본적으로 로그 라는 데이터로 분석하는 것!
- 수집된 데이터 분석
- 데이터 저장 : 유의미한 데이터만!
- 시각화
- 데이터 수집
- 오픈소스 시스템 모니터링 도구
- Scouter
- Zabbix
📌DRM
- Digital Rights Management
- 디지털 콘텐츠 저작권 관리
- 보안 기술, 지불, 결제 기능 전체적 관리
구성 및 흐름
영화관을 생각하자!
- 콘텐츠 제공자 : 저작권자 ex.영화 제작한 사람
- 패키저 : 메타데이터와 콘텐츠를 묶는 역할
- 컨텐츠 : ex. 한산이라는 영화
- 콘텐츠 분배자-유통시스템(영화관)에 들어가게 된다
- 메타데이터 : 컨텐츠의 컨텐츠 (ex. 한산의 주연)
- 컨텐츠 : ex. 한산이라는 영화
- 패키저 : 메타데이터와 콘텐츠를 묶는 역할
- 클리어링 하우스 : ex. CGV본사
- 키 관리 및 라이선스 발급관리
- 권한정책 : 누가 보게 할것인가
- 콘텐츠 분배자 : ex.영화관
- 유통 시스템
- 콘텐츠 소비자
- DRM 콘트롤러, 보안 컨테이너로 인증수행
- 보안 컨테이너
- 안전 유통 위한 전자적 보안 장치
- DRM 컨트롤러
- 배포된 콘텐츠 이용 권한 통제
- 보안 컨테이너
- 카드 결제한 금액은 본사(클리어링 하우스)로 간다
- 소비자가 분배자에 라이선스 요청 → 분배자가 클리어링 하우스에 라이선스 요청
- DRM 콘트롤러, 보안 컨테이너로 인증수행
사용 규칙 제어 기술
- 콘텐츠 식별 체계
- 고유 식별 번호 부여
- DOI, URI
- 고유 식별 번호 부여
- 메타데이터
- 콘텐츠의 속성정보
- 권리표현기술
- 규칙 설정 (어떤 권한과 어떤 조건으로 쓸 수 있는지)
- XML 기반으로 권한 표현 언어 개발
- key - value
- 종류 ⭐
- XrML 기술이 대표적!
- Render Permission
- 표현 (나만 보는 게 가능)
- Transport Permission
- 타인 양도 교환까지 가능
- Derivative Permission
- 추출 및 내용 변형이 가능
저작권 보호 기술
- 암호화 기술
- 위변조 방지
- 워터마킹
- 워터마킹
- 그냥 불법복제방지
- 저작권 정보
- 핑거프린팅
- 불법유통방지
- 저작권정보 + 구매자정보
- 최초 유포자 특정 가능!
- 워터마킹
국제 표준 제품 품질 특성
- 구분하자
- 품질 표준 : 소프트웨어 제품 자체에 대한 것
- 프로세스 표준 : 회사에 대한 것
1) 품질 표준 📌
- ISO/IEC 9126
- 품질만
- 특성
- 기능성 : 정확한 동작
- 신뢰성 : 일관된 결과
- 사용성 : 쉽게 배우고 사용
- 효율성 : 자원
- 유지보수성
- 이식성
- ISO/IEC 14598
- 품질+프로세스
- 특성
- 반복성 : 동일 평가자가 동일 사양에 대해 동일한 결과로 평가해야
- 재현성 : 다른 평가자가 동일 사양에 대해 동일하다고 여길 수 있는 결과가 나와야
- 공정성
- 객관성
- ISO/IEC 12119
- 품질+테스트(문서)
- 구성요소
- 제품설명서
- 사용자문서
- 실행프로그램
- ISO/IEC 25000
- 통합
- 평가 모델
- n : 일반
- 1n : 품질 특성
- 2n : 품질 측정
- 3n : 품질 요구사항
- 4n : 품질 평가
2) 프로세스 품질 국제 표준 📌
업체의 프로세스 관리능력 평가
- ISO/IEC 12207
- 기본 생명주기 프로세스
- 획득, 공급, 개발, 운영, 유지보수 — 만드는 과정
- 자원 생명주기 프로세스
- 문서화, 형상관리, 품질보증, 검증, 확인, 합동검토, 감사, 문제해결 — 지원
- 조직 생명주기 프로세스
- 관리, 기반구조, 개선, 교육훈련 — 회사의 지원
- 기본 생명주기 프로세스
- ISO/IEC 15504 (SPICE) -유럽
- 6단계 능력 수준
- 0 : 불안정
- 1 : 수행 - 목적만 겨우 달성
- 2 : 관리
- 3 : 확립 - 표준 프로세스의 사용
- 4 : 예측 - 정량적 이해
- 5 : 최적화 - 개선
- 6단계 능력 수준
- CMM -미국
- 소프트웨어 개발 프로세스만
- 성숙도 5단계
- 초기 : 관리X
- 반복 : 이전의 성공적 프로세스 반복 단계 (아직 관리는 못하는것)
- 정의 : 프로세스 기초 정립, 관리
- 관리 : 정량적 관리
- 최적화 : 개선
- CMMI -미국
- 소프트웨어, 시스템, 프로덕트 세 분야 통합 평가
- 5단계
- 초기 : 프로세스가 없다
- 관리 : 기본적 프로세스 있다
- 정의 : 표준 프로세스 보유
- 정량적 관리 : 프로세스를 정량적으로 관리
- 최적화 : 개선