본문 바로가기
Data Analysis/정보처리기사

[2과목 소프트웨어 개발] 03. 제품 소프트웨어 패키징

by suvii 2024. 4. 18.

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

애플리케이션 패키징 : 사용자 중심, 릴리즈 노트로 관리

 릴리즈 노트 : 제품의 변경점을 기록한 문서 (Header, 개요, 면책 조항, 연락 정보 등)

 

애플리케이션 배포 도구

 암호화 및 보안 고려, 이기종 연동 고려, 사용자 편의성 고려

 CI(지속적인 통합)/CD(지속적인 배포)

 

애플리케이션 모니터링

 프로세스 : 데이터 수집 → 분석 → 저장 → 시각화

 구성요소 : 실시간 성능 감시, 성능 저하 원인 규명, 서비스 수준협약(SLA) 관리, 애플리케이션, 서버 관리, 네트워크 관리, 스토리지 관리

 

DRM(Digital Rights Management) → 영화관에서 영화 볼 때

 클리어링 하우스(CGV) : 키와 라이선스 발급 및 관리

 콘텐츠 제공자(영화 제작사) : 패키저, 콘텐츠, 메타 데이터

 콘텐츠 분배자(홍대 CGV) : 유통 시스템

 콘텐츠 소비자(관객) : DRM 컨트롤러, 보안 컨테이너

 

저작권 보호 기술

  워터마킹 핑거프린팅
목적 불법 복제 방지 불법 유통 방지
삽입 정보 저작권 정보 저작권 정보 + 구매자 정보

 

 

[Sec 2. 제품 소프트웨어 매뉴얼 작성]

사용자 매뉴얼 작성 절차

 작성 지침 정의 → 구성 요소 정의 → 구성 요소별 내용 작성 → 사용자 매뉴얼 검토

 

제품 품질 국제 표준

 - ISO/IEC 9126 : 기신사효유이

   기능성 : 소프트웨어 기능 (적합, 정확, 상호 운용, 보안)

   신뢰성 : 성능 수준 유지 능력 (성숙, 결함 허용, 복구)

   사용성 : 이해 및 학습 (이해, 학습, 운영, 선호)

   효율성 : 성능 제공 능력 (시간 반응, 자원 활용)

   유지보수성 : 변경 능력 (분석, 변경, 안정, 시험)

   이식성 : 다른 환경으로의 이전 능력 (설치, 적응, 공존, 대체)

 - ISO/IEC 14598 : 반복성, 공정성, 객관성, 재현성

 - ISO/IEC 12119 : 테스트 / 제품설명서, 사용자 문서, 실행프로그램

 - ISO/IEC 25000 : 통합모델(9126+14598)

 

프로세스 품질 국제 표준

 - ISO/IEC 12207 : 소프트웨어 개발 관련 생명주기

   기본 생명주기 프로세스 : 획득, 공급, 개발, 운영, 유지보수

   지원 생명주기 프로세스 : 문서화, 형상관리, 품질보증, 검토, 감사, 문제해결

   조직 생명주기 프로세스 : 관리, 기반구조, 개선, 교육훈련

 

 - ISO/IEC 15504 (SPICE) : 프로세스 평가 모델

    0  불안정 단계 (불안정한 단계)

    1  수행 단계 (어찌저찌 수행하는 단계)

    2  관리 단계 (관리되기 시작하는 단계)

    3  확립 단계  '표준'

    4  예측 단계  '정량적'

    5  최적화 단계

 

 - CMM : 프로세스 평가 모델 (초반정관최)

    1  초기 단계

    2  반복 단계

    3  정의 단계  '표준'

    4  관리 단계  '정량적'

    5  최적화 단계

 

 - CMMI : CMM 개선 프로세스 평가 모델 (초관정관최)

    1  초기 단계

    2  관리 단계

    3  정의 단계  '표준'

    4  정량적 관리 단계  '정량적'

    5  최적화 단계

 

 

[Sec 3. 제품 소프트웨어 버전관리]

소프트웨어 버전 관리 도구

 - 공유 폴더 방식 : 담당자가 일일이 체크

 - 클라이언트/서버 방식 : 중앙 서버에 버전 관리 시스템 운영

     CVS : Commit 중 오류 발생 시 롤백(Rollback) 불가능

     SVN : CVS 단점 보완, Commit 실패 시 롤백(Rollback) 가능

 - 분산 저장소 방식 : 로컬과 원격 저장소

     Git : 분산 환경에 최적화

 - 백업과 복구

   성과 지표

    - 복구 시간 목표(RTO) : 복구 및 재가동까지의 시간 목표

    - 복구 시점 목표(RPO) : 데이터 손실의 허용 범위

    - MTD : 업무 중단의 허용 최대 시간

   전략

    - 풀-이미지 백업 : 전체 데이터 백업

    - 차등 백업 : 변경사항 누적 백업

    - 증분 백업 : 점차적 만 백업

    - 실시간 백업 : 모든 변경사항을 즉시 백업

    - 합성 백업 : 기본 백업 + 후속 증분 백업

 

빌드 자동화 도구

 빌드 자동화 : 소스코드를 실행 가능한 소프트웨어로 변환하는 과정

 과정 : 빌드(코드 커밋) → 테스트 → 배포

 종류 : Make, Ant, Maven, Jenkins, Gradle (MAMJG)