소프트웨어 개발 ( 제품 소프트웨어 패키징 )

Codren·2021년 3월 12일
0

소프트웨어 개발

목록 보기
3/5

정보처리기사 2과목 소프트웨어 개발 (제품 소프트웨어 패키징)


Section 1. 패키징 및 배포

1. 제품 소프트웨어 패키징이란 ?

개발이 완료된 SW를 사용자에게 배포하기 위해 패키징, 설치 및 사용자 메뉴얼을 작성하는 활동


2. 패키징 순서

    ① 기능 식별
    ② 모듈화
    ③ 빌드 진행 - 컴파일
    ④ 사용자 환경 분석
    ⑤ 패키징 적용 시험 - 사용자 환경과 동일한 환경에서 패키징 적용 시험
    ⑥ 패키징 변경 개선



3. 애플리케이션 배포 도구란 ?

패키징시에 지적 재산권을 보호 및 관리하고 유통과 배포를 보장하는 도구 (솔루션)


4. 배포도구 구성요소

    ① 암호화 - 콘텐츠 및 라이선스를 암호화 (통신 위주)
    ② 키 관리 - 암호화한 키에 대한 저장 및 배포
    ③ 암호화 파일 생성 - 암호화된 콘텐츠 생성 (파일 위주)
    ④ 식별 기술 - 각 콘텐츠를 식별할 수 있게 함
    ⑤ 저작권 표현 - 라이선스의 내용 표현
    ⑥ 정책 관리 - 라이선스 발급 및 사용에 대한 정책
    ⑦ 크랙 방지 - 크랙에 의한 콘텐츠 사용 방지
    ⑧ 인증 - 라이센스 발급 및 사용자 인증



5. DRM (Digital Rights Management)이란 ?

디지털 콘텐츠 생성에서부터 이용까지 전 유통과정에 걸쳐 관리, 보호, 이용 제어, 통제 접근, 사용 권한 등을 서버 인증을 통해 중앙집중식으로 통제 및 관리하는 기술


6. DRM 의 구성

  • 콘텐츠 제공자 - 콘텐츠를 암호화 및 패키징하여 등록 (영화 제작사)
  • 클리어링 하우스 - 라이선스 발급 (CGV 본사)
  • 콘텐츠 분배자 - 콘텐츠 제공자로부터 콘텐츠를 받아서 소비자에게 유통 (CGV 지역 지점)
  • 콘텐츠 소비자 - DRM 컨트롤러가 배포된 디지털 콘텐츠의 이용 권한을 통제 (관람객)

  • 모바일 DRM - DRM Agent



7. 애플리케이션 모니터링(APM) 도구란?

애플리케이션이 사용자 환경에 설치 되었을 때 모니터링하여 제품의 성능과 서비스 이용성감사 및 관리하여 장애를 미리 예방하도록 도움을 주는 도구 (솔루션)


8. APM 도구의 기능

    ① 변경 관리 - 애플리케이션 변경이 있을 경우 변경의 영향도 파악 (ChangeMiner)
    ② 성능 관리 - 애플리케이션 서버의 트래픽 처리 정도와 자원에 대해 파악 (Jeniffer)
    ③ 정적 분석 - 소스코드를 직접 보며 잠재적인 문제 및 규칙 오류 발견 (Cppcheck, checkstyle 등)
    ④ 동적 분석 - 직접 실행하여 오류를 발견 (Valgrind, Avalanche)



Section 2. 메뉴얼 작성

1. 설치 메뉴얼

사용자가 제품 구매 후 최초 설치 시 참조하는 메뉴얼로써 제품 소개, 설치 파일, 설치 절차 등이 포함


2. 설치 메뉴얼 구성요소

   : SW개요, 설치 파일, 설치 절차, 설치 아이콘, 설치 삭제, 설치 환경, 설치 버전 및 작성자, FAQ


3. 설치 메뉴얼 작성 순서

    ① 기능 식별
    ② UI 분류
    ③ 설치 / 백업 파일 확인
    ④ Uninstall 절차 확인
    ⑤ 이상 case 확인
    ⑥ 최종 메뉴얼 적용


4. 사용자 메뉴얼

설치사용에 필요한 절차 및 환경 등 전체 내용을 포함 (설치 메뉴얼 + 사용)




Section 3. 국제 표준 제품 품질

1. 제품 품질 국제 표준

완성된 IT 제품에 대해 평가하는 국제 표준


2. ISO / IEC 9126

  • 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성 (기신사효유이)
        ↳ 기능성 : 적합성, 정확성, 상호운용성, 보안성, 준수성


3. ISO / IEC 14598

  • ISO / IEC 9126 규정을 따름
  • 개발자에 대한 소프트웨어 제품 품질 향샹 기준 제공 / 구매자에 대한 제품 구매 관련 품질 기준 제공


4. ISO / IEC 12119

  • 주로 패키지 소프트웨어에 대한 품질 평가



Section 4. 제품 소트트웨어 버전 관리  /  빌드 자동화 도구

1. 버전 관리란 ?

SW의 버전과 변경 및 개선 내역을 관리하는 활동


2. 버전 관리 도구의 종류

  • RCS, CVS, SVN, Git, Clear case


3. 버전 관리 도구의 기능

  • 공동 개발 및 작업 관리
  • 버전 백업 및 복구


4. 빌드(Build)란 ?

좁은 의미로는 단순 컴파일
넓은 의미로는 SW 생성, 테스트, 배포하기 위한 수행의 집합


5. 빌드 자동화 도구란 ?

저장소에 있는 소스코드를 읽어, 빌드 -> 테스트 -> 실행 파일 생성 의 과정을 자동으로 수행 하는 도구


6. 빌드 자동화 과정

  • 컴파일 -> 패키징 -> 단위 테스트 -> 정적 분석 -> 리포팅 -> 배포 -> 최종 빌드
  • 보통 위와 같은 과정은 웹앱의 빌드 과정이고 제품 소프트웨어(애플리케이션)는 빌드 -> 패키징 작업 수행


7. 빌드 자동화 도구

  • Jenkins - Java 기반 빌드 자동화 도구
  • gradle - 안드로이드 개발 환경, Project -> 하나 이상의 Task 단위로 처리

0개의 댓글