ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정보처리기사 실기 요약[제품 소프트웨어 패키징 - Chapter12](정처기)
    정보처리기사 2021. 6. 2. 21:15
    반응형

    정보처리기사 실기 정리는 제가 직접 수기로 작성하여 요약한 내용이기 때문에 조금의 오타가 있을 수 있습니다.

    Chapter10 - 프로그래밍 언어 활용

    Chapter11 - 응용 SW 기초 기술 활용

    Chapter2 - 데이터 입출력 구현

    본 3파트는 학교 OS, DB 수업과 코딩 테스트를 준비하면서 다른 과목들의 암기 시간을 늘리기 위해 정리(암기)하지 않고 갔습니다.

    하지만 양이 많고, 가장 중요하면서 최소 4문제 이상 나오는 파트이기 때문에 준비를 잘해야하는 파트입니다.

    시간이 된다면 추후에 추가하겠습니다.

     

    제품소프트웨어 패키징

    Chapter 12

    애플리케이션 패키징 개념
    고객 요구사항에 맞춰 개발이 완료된 SW를 고객에 인도하기 전 패키징하고, 설치 매뉴얼, 사용 매뉴얼 등 작성하는 일련의 배포용 설치 파일 만드는 작업

    패키징 특징
    사용자 중심으로, 모듈화하여 패키징, 버전관리 및 릴리즈 노트 관리, 사용자 편의성 먼저 고려

    패키징 시 고려사항
    1. 시스템 환경 
    2. 직관적 UI
    3. 관리 서비스
    4. 안정적 배포

    패키징 프로세스
    1. 기능 식별
    2. 모듈화
    3. 빌드 진행
    4. 사용자 환경 분석
    5. 패키지 적용 시험
    6. 패키징 변경 개선

    DRM
    디지털 콘텐츠 생성부터 실 사용자까지 유통 모든 과정에 걸쳐 콘텐츠를 안전하게 관리, 보호하고 허가된 사용자만 접근하도록 제한하는 기술

    DRM 기술적 요구사항
    지속적 보호, 이용 편리성, 유연성, 통합 용이성

    DRM 기술 요소
    암호화 - 콘텐츠, 라이선스를 암호화하고 전자서명을 할 수 있는 기술(PKI, Encryption)
    키 관리 - 콘텐츠를 암호화한 키에 대한 저장 및 배포 기술(Centralized, Enveloping)
    암호화 파일 생성 - 콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술(Pre-packaging, On-the-fly Packaging)
    식별 기술 - 콘텐츠에 대한 식별체계 표현 기술(DOI, URI)
    저작권표현 - 라이선스 내용 표현 기술(ODRL)
    정책 관리 - 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술(XML)
    크랙 방지 - 크랙에 대한 콘텐츠 사용 방지 기술(Secure DB)
    인증 - 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술(SSO, IP/PW)
    인터페이스 - 다른 DRM 플랫폼 간 상호 호환성 인터페이스 및 인증 기술(IPMP)
    이벤트 보고 - 콘텐츠 사용이 적절하게 이루어지고 있는지 모니터링하는 기술
    사용 권한 - 콘텐츠 사용에 대한 권한을 관리하는 기술(퍼미션)

    DRM 구성
    콘텐츠 제공가 - 콘텐츠 제공하는 저작권자
    콘텐츠 분배자 - 쇼핑몰 등으로서 암호화된 콘텐츠 제공
    Packager - 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
    보안 컨테이너 - 원본을 안전하게 유통하려는 전자적 보안 장치
    DRM Controller - 배포된 콘텐츠의 이용 권한 통제
    Clearing House - 콘텐츠 키 관리 및 라이선스 발급 관리(제 3의 운용 주체로서 디지털 제작물의 이용 명세를 근거로 신뢰할 수 있는 저작권료의 정산 및 분배가 이뤄지는 곳)

    디지털 콘텐츠 권한유형(사용 권한)
    렌더 퍼미션 : 사용자에게 콘텐츠가 표현되고 이용되는 권리 형태 정의
    트랜스포트 퍼미션 : 사용자들 간에 권리 교환이 이루어지는 권리 형태 정의
    데리버티브 퍼미션 : 콘텐츠의 추출 변형이 가능한 권한

    전자고지 및 결제 : 인터넷으로 고지하고 결제하는 서비스

    DRM 문제점 및 대응 방안
    DRM 기술 및 관리 미 표준화, 매회 인증 절차가 필요한 복잡 구조, 양질 콘텐츠, 소액 결제 이용료 불편

    릴리즈 노트
    SW 기능, 서비스, 사용 환경 or 지속적 업데이트에 대한 정보를 확인할 수 있도록 사용자에게 제공하는 것

    릴리즈노트 작성시 고려사항
    개발팀이 직접 현재 시제로 정확하고 완전한 정보를 기반으로 작성
    신규 소스, 빌드 등의 이력 정리, 변경 or 개선된 항목에 대한 이력 정보들도 작성
    릴리즈 노트 구조
    머릿말, 개요, 목적, 이슈 요약, 재현 항목, 수정/개선 내용, 지원 영향도, 노트, 면책 조항(프리웨어, 불법 복제 금지 등 회사 및 표준 SW와 관련해 고지할 사항), 연락처 정보

    릴리즈 노트 작성 순서
    1. 모듈 식별
    2. 릴리즈 정보 확인
    3. 릴리즈 노트 개요 작성
    4. 영향도 체크
    5. 정식 릴리즈 노트 작성
    6. 추가 개선 항목 식별

    패키징 도구
    배포를 목적으로 패키징시 지적 재산권을 보호하고 관리하는 기능을 제공하는 도ㅜ구
    완전한 배포와 유통을 도와주는 솔루션
    활용시 고려사항
    내부 콘텐츠에 대한 암호화 및 보안 고려, 다양한 이기종 콘텐츠 및 단말기 간 DRM 연동 고려, 사용자 편의성 고려, 적합한 암호화 알고리즘을 적용

    SW 매뉴얼
    소프트웨어 매뉴얼 : 제품 소프트웨어 개발 부터 적용 기준이나 패키징 이후 설치와 사용자 측면 주요 기능을 기록한 문서
    구성 
    설치 매뉴얼 과 사용자 매뉴얼

    소프트웨어 설치 매뉴얼 : 소프트웨어 실사용자가 최초 설치 시 참조하는 문서
    소프트웨어 설치 환경 체크 항목
    1. 사용자 환경
    2. 설치 시 실행 중인 다른 프로그램 종료 확인
    3. 개선판 존재 여부 확인
    4. 백업 폴더 확인
    소프트웨어 설치 프로세스
    기능 식별(main function) - UI 분류(화면 단위 UI) - 설치 파일/백업 파일 확인(Log,실행, 환경, 백업) - Uninstall  절차 - 이상 Case 확인(Case 유형 및 Message) - 최종 매뉴얼 적용

    사용자 매뉴얼
    소프트웨어 설치와 사용에 필요한 제반 절차 및 환경 등 전체 내용을 포함하는 매뉴얼 작성, 패치 개발과 업그레이드를위한 버전관리 수행
    사용자 매뉴얼 작성 프로세스
    작성 지침 정의 - 구성요소 정의 - 구성요소별 내용 작성 - 사용자 매뉴얼 검토

    소프트웨어 국제 표준 품질 특성
    ISO/IEC 9126 : 소프트웨어 품질 특성과 척도에 관한 지침
    내부/외부 품질 - 기능성, 신뢰성, 사용성, 효율성, 유지보수 용이성, 이식성
    사용 품질 - 효과성 ,생산성, 안정성, 만족도

    ISO/IEC 12119 : ISO/IEC 9126을 따르며 패키지 SW 일반적 제품 품질 요구사항 및 테스트를 위한 국제 표준

    ISO/IEC 15504 : 소프트웨어 프로세스 평가하고 개선해 품질 및 생산성을 높이는 표준
    능력 레벨 6단계
    Incomplete, Performed, Managed, Established, Predictable, Optimizing Level

    ISO9001 : 설계, 개발, 생산, 설치 및 서비스 과정에 대한 품질 보증 모델

    <품질 목표>
    사용자 요구사항 충족 정도 - 정확성
    정확하고 일관된 결과 얻기 위해 오류 없이 - 신뢰성
    기능 수행하는데 필요 자원 낭비 정도 - 효율성
    허용되지 않은 사용, 자료 변경 제어 정도 - 뮤결성
    다양한 HW에서도 운용하도록 - 이식성
    전체, 일부 SW를 다른 목적으로 사용 가능 - 재사용성
    사용에 필요한 노력을 최소화, 유저 인터페이스와 문서를 가지고 있는 정도 - 사용 용이성
    얼만큼 쉽게 수정할 수 있나 - 유연성
    의도된 기능을 수행하도록 보장하기 위해 시험할 수 있는 정도 - 시험역량
    다른 SW와 정보를 교환할 수 있는 정도 - 상호운용성

    형상
    소프트웨어 개발 단계에 생성되는 모든 문서, 코드
    유지보수성을 향상할 수 있도록 오류, 요구사항을 지속적으로 변화하는 자료

    형상관리 종류
    버전관리, 리버전관리, 변경관리, 빌드관리, 이슈 관리

    형상관리 : 버전, 변경관리 모두 포함, 프로젝트 진행사항, 릴리즈 빌드 모두 관리하는 통합 시스템
    버전관리 : 다양한 항목이 과거부터 현재까지 요구사항들의 변화에 따라 변경된 순서에 따라 버전을 부여해 이력을 관리(시간적 변경사항 추적 가능)
    변경 관리 : 변경된 요구사항에 대해 비용, 기간등을 고려하고 타당성 평가, 소스코드 변경 사항 확인

    형상관리 효과
    관리적 효과 : 표준 확립으로 전사적 IT 자원 관리가 쉬워 변경 이력을 알 수 있음
    품질 향상 효과 :  버전관리를 자동으로 생성하고 관리해 결함 및 오류가 감소

    형상관리 절차
    1. 형상 식별 : 형상 관리 가장 기본, 형상관리 계획을 근거로 관리 대상이 무엇인지 식별하는 과정 
    2. 형상 통제 : 요구사항 변경 관리, 형상관리 등의 통제를 지원하고 기준선(프로젝트 관리를 위한 명세서 또는 제품)에 대한 관리 및 형상 통제 수행 
    3. 형상 보고 및 감사 : 설정한 베이스라인의 무결성 평가 단계
    4. 형상 감사 : 보고서 제공하는 단계, 기록

    형상관리 >= 버전관리 >= 변경관리

    버전관리 도구
    1. 공유 폴더 방식 : 개발자들이 매일 완료한 파일을 공유 폴더에 복사해 관리
    종류
    SCCS, RCS, PVCS, QVCS
    2. 클라이언트/서버 방식 : 버전관리 자료가 중앙 시스템에 저장되어 관리
    종류
    CVS, SVN, CMVC
    3. 분산 저장소 방식 : 하나의 원격 저장소와 분산된 개발자 PC의 로컬 저장소에 함께 저장되어 관리되는 방식
    종류
    Git, Bazaar, Mercurial, TeamWare, Bitkeeper, GNU arch

    버전관리 도구 요약
    CVS
    동시 버전 시스템, SW 프로젝트를 진행할 때, 파일로 이뤄진 모든 작업과 모든 변화를 추적, 여절 개발자가 협력해 작업할 수 있음
    RCS
    CVS와 차이는 소스 파일 수정을 한 사람으로 제한함, 다수 사용자가 수정 작업을 할 수 없음(잠금 형식으로 관리)
    SVN
    CVS보다 속도, 저장공간 개선, 아파치 최상위 프로젝트로서 전 세계 개발자 커뮤니티와 함께 개발되는 중
    Bitkeeper
    SVN과 비슷한 중앙 통제 방식, 대규모 프로젝트에서 빠른 속도를 내도록 개발된 버전 관리 도구
    Git
    리누스 토르발스가 개발, 프로그램 등 소스코드 관리를 위한 분산 버전관리 시스템
    Clear Case
    IBM에서 제작되었으며 복수 서버,클라이언트 구조, 서버 확장 요구가 있을 때 필요한 서버 하나씩 추가가능

    Repository
    인증 받은 컴포넌트를 등록하는 저장소

    SVN 주요 명령어
    Import : 맨 처음 소스 파일 저장
    Check-in : 체크아웃으로 가져온 파일 수정뒤 저장소에 새로운 버전으로 갱신
    Check-out : 저장소에 저장된 파일을 자신의 작업공간으로 인출
    Commit : 충돌이나 diff로 수정하고 commit(예치)함
    Update : 저장소에 존재하는 최신 버전 자료와 적업공간을 동기화
    Branch : 주 저장소에서 파생된 프로젝트 의미
    Fork : 주 저장소에서 SW 소스코드를 통째로 복사해 독립적 새로운 SW 개발 허용되는 라이선스 따라야함
    Info : 정보 표시
    trunk : 개발 과정에서 메인 개발 소스가 모이는 디렉토리
    add : 새로운 파일, 디렌터리를 버전관리 대상으로 등록
    export : 버전관리 파일들을 제외한 순수 파일만 서버에서 받아옴

    빌드
    소스코드를 컴파일하고 다수 연관된 모듈을 묶어 실행 파일로 만드는 과정
    소스코드 파일을 컴퓨터에서 실행 할 수 있는 상태 단위로 변환하는 과정 또는 결과물
    프로세스
    컴파일 - 패키징 - 단위 테스트 - 정적 분석 - 보고 - 배포 - 최종 빌드

    빌드 자동화 도구
    Gradle, Jenkins, Makefile, Ant, Maven

    Gradle
    Groovy 기반으로 제작된 DSL을 스크립트 언어로 사용하는 오픈 소스 형태 자동화 도구
    스크립트는 Project와 Tasks 두가지 개념으로 구성
    Jenkins
    Java기반 오픈소스 형태 빌드 자동화 도구
    서버 기반 도구로 클라이언트 요청을 처리하기 위해 서버에서 실행되는 서블릿과 실행 및 생명 주기를 관리하는 서블릿 컨테이너에서 실행

    반응형
Designed by Tistory.