728x90
반응형
정보처리기사 필기 정리 - 2. 소프트웨어 개발
Chapter 03 제품 소프트웨어 패키징 (중요도: ★★)
- 제품 소프트웨어 패키징
- 애플리케이션 패키징(Application Packaging): 개발 완료된 제품 소프트웨어를 배포하고 설치할 수 있도록 고객에게 전달하기 위한 형태로 제작하여 매뉴얼을 작성하는 활동
- 애플리케이션 배포 도구 구성요소: 암호화, 키 관리, 식별 기술, 저작권 표현, 암호화 파일 생성, 정책 관리, 크랙 방지, 인증
- 애플리케이션 배포 도구 세부 기술: 공개 키 기반 구조(PKI), 대칭 및 비대칭 암호화, 전자서명, DOI(Digital Object Identifier), URI(Uniform Resource Identifier), XrML(eXtensible Right Markup Language), MPEG-21, XML(eXtensible Markup Language), CMS(Contents Management System), 코드 난독화, Secure DB, SSO(Sigle sign on)
- DRM(Digital Rights Management): 디지털 콘텐츠에 대한 권리정보를 지정하고 암호화 기술을 이용하여 허가된 권한 범위 내에서 콘텐츠를 이용하도록 통제하는 기술
- DRM 구성
- 콘텐츠 제공자(DRM Server): DRM 콘텐츠, 패키저
- 클리어링 하우스(Clearing House): 콘텐츠 정책, 콘텐츠 라이선스, 콘텐츠 관리정보, 콘텐츠 사용정보
- 콘텐츠 소비자(DRM Client): DRM 컨트롤러, 보안 컨테이너
- DRM 구성
- 애플리케이션 패키징(Application Packaging): 개발 완료된 제품 소프트웨어를 배포하고 설치할 수 있도록 고객에게 전달하기 위한 형태로 제작하여 매뉴얼을 작성하는 활동
- 제품 소프트웨어 매뉴얼 작성
- 국제 표준 제품 품질 특성: 제품에 대해 명확하게 정의된 특성을 의미하며, 품질을 평가하는 기준 항목, 제품 품질 표준과 프로세스 품질 표준으로 나눔
- 국제 제품 품질 표준
- ISO/IEC 9126: 소프트웨어 품질 측정, 평가하기위해 소프트웨어 품질요소와 특성을 정의
- 품질 특성: 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성
- ISO/IEC 14598: 소프트웨어 제품 평가 프로세스 및 평가 모듈 제공
- 품질 특성: 반복성, 재현성, 공정성, 객관성
- ISO/IEC 12119: 소프트웨어 패키지 제품에 대한 품질 요구 사항 미 테스트 국제 표준
- ISO/IEC 25000: SQuaRE로도 불리며, ISO/IEC 9126,14598,12119를 통합하여 소프트웨어 제품 품질에 대한 통합적인 국제 표준
- ISO/IEC 25000 구성 요소
- 2500n - 품질 관리
- 2501n – 품질 모델
- 2502n – 품질 측정
- 2503n – 품질 요구
- 2504n – 품질 평가
- 국제 프로세스 품질 표준
- ISO/IEC 9001: 설계/개발, 생산, 설치 및 서비스 과정에 대한 품질 보증 모델
- ISO/IEC 12207: 소프트웨어 생명주기 단계별로 필요 프로세스를 규정한 국제표준
- ISO/IEC 15504(SPICE): 품질 및 생산성을 높이고자 하는 국제표준
- CMMi: 개발 능력/성숙도 평가 및 프로세스 개선 활동의 지속적인 품질 개선 모델
- ISO/IEC 25000 구성 요소
- ISO/IEC 9126: 소프트웨어 품질 측정, 평가하기위해 소프트웨어 품질요소와 특성을 정의
- 국제 제품 품질 표준
- 국제 표준 제품 품질 특성: 제품에 대해 명확하게 정의된 특성을 의미하며, 품질을 평가하는 기준 항목, 제품 품질 표준과 프로세스 품질 표준으로 나눔
- 제품 소프트웨어 버전 관리
- 소프트웨어 버전 관리 도구: 형상 관리 지침을 활용하여 제품 소프트웨어의 신규 개발, 변경, 개선과 관련된 수정 사항을 관리하는 도구
- 소프트웨어 버전 관리 도구 유형
- 공유 폴더 방식: 매일 개발 완료 파일은 약속된 위치의 공유 폴더에 복사하는 방식 (RCS, SCCS)
- 클라이언트/서버 방식: 중앙에 버전 관리 시스템을 항상 작동시킴 (CVS, SVN)
- 분산 저장소 방식: 로컬 저장소와 원격 저장소로 분리된 구조 (Git, Bitkeeper)
- 소프트웨어 버전 관리 도구별 특징
- CVS: 다수 인원이 동시에 운영체제로 접근 가능하여 버전 관리가 가능한 도구
- SVN: 하나의 서버에서 소스를 편리하게 관리하는 도구, CVS의 단점 보완
- RCS: 수정을 한 사람만으로 제한하여 동시에 할 수 없도록 파일 잠금 방식으로 버전 관리
- Kitkeeper: 대규모 프로젝트에서 빠른 소도를 내도록 개발된 버전 관리
- Git: 속도에 중점을 둔 분산형 버전관리, 대형 프로젝트에 효과적
- Clear Case: 서버가 부족할 때 필요한 서버를 하나씩 추가하여 확장성을 기할 수 있음
- 빌드 자동화 도구: 저장소의 소스를 자동으로 읽어서 빌드한 후 테스트, 검사하여 실행파일을 만드는 도구
- 빌드: 소프트웨어를 생성하고 테스트, 검사하여 배포하기 위해 수행하는 행위의 집합
- 빌드 자동화 구성요소
- CI 서버(Continuous Integration) – Jenkins, Hudson
- SCM(Source Code management) – SVN, Git
- 빌드 도구(Build Tool) – Ant, Maven
- 테스트 도구(Test Tool) – Junit, Selenium
- 테스트 커버리지 도구(Test Coverage Tool) – Emma
- 인스펙션 도구(Inspection Tool) – CheckStyle, Cppcheck
- Jenkins: Java 기반의 오픈소스로 가장 많이 활용되는 빌드 자동화 도구, CI가능하게하며 CVS, SVN, Git 등 다양한 버전 관리 도구 지원
- Gradle: 안드로이드 공식 자동화 도구이며, Groovy를 이용한 빌드 자동화 시스템
- 소프트웨어 버전 관리 도구 유형
- 소프트웨어 버전 관리 도구: 형상 관리 지침을 활용하여 제품 소프트웨어의 신규 개발, 변경, 개선과 관련된 수정 사항을 관리하는 도구
2022 수제비 정보처리기사 필기 & 2022 이기적 정보처리기사 필기 책을 참고하여 정리하였다.
728x90
반응형
'Work & Study > 정보처리기사 필기' 카테고리의 다른 글
정보처리기사 필기 정리 - 2. 소프트웨어 개발 (2-05. 인터페이스 구현) (0) | 2023.08.12 |
---|---|
정보처리기사 필기 정리 - 2. 소프트웨어 개발 (2-04. 애플리케이션 테스트 관리) (0) | 2023.08.12 |
정보처리기사 필기 정리 - 2. 소프트웨어 개발 (2-02. 통합 구현) (0) | 2023.08.12 |
정보처리기사 필기 정리 - 2. 소프트웨어 개발 (2-01. 데이터 입출력 구현) (0) | 2023.08.12 |
정보처리기사 필기 정리 - 1. 소프트웨어 설계 (1-04. 인터페이스 설계) (0) | 2023.08.12 |