yunyj99
라둥이
yunyj99
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (309)
    • 1. 프로그래밍 (50)
      • 1-1. Git (17)
      • 1-2. Java (13)
      • 1-2-1. Java GUI (1)
      • 오류 (12)
      • 기타 (7)
    • 2. Front-end (57)
      • 2-1. HTML (5)
      • 2-2. CSS (19)
      • 2-3. Java Script (33)
      • 2-4. React (0)
    • 3. Back-end (47)
      • 3-1. Spring MVC - 국비 (15)
      • 3-2. Spring MVC - 남궁성 (30)
      • 3-3. Spring - 김영한 (2)
    • 4. Android (1)
    • 5. DB (20)
      • 4-1. MySQL DBMS (20)
    • 6. 자료구조 & 알고리즘 (44)
      • 6-1. 자료구조 (14)
      • 6-2. 백준 (30)
    • 7. 웹 디자인 (7)
      • 7-1. UX 디자인 (7)
    • 8. 자격증 (35)
      • 8-1. 정보처리기사 (35)
    • 프로젝트 (3)
      • 프로젝트 기록 (3)
    • etc... (43)
      • 패스트캠퍼스 챌린지 (39)
      • 잡담 (4)

블로그 메뉴

  • 홈
  • 태그

최근 글

티스토리

hELLO · Designed By 정상우.
yunyj99

라둥이

쓰기
8. 자격증/8-1. 정보처리기사

정처기 2-3. 제품 소프트웨어 패키징

2021. 8. 3. 03:07

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

 

< 애플리케이션 패키징 >

- 애플리케이션 패키징 : 개발이 완료된 제품 소프트웨어를 배포하고 설치할 수 있도록 고객에게 전달하기 위한 형태로 제작하고, 설치와 사용에 필요한 제반 내용을 포함하는 매뉴얼을 작성하는 활동

- 특징 : 사용자 중심으로 진행 / 신규 및 변경 개발 소스를 식별하며, 이를 모듈화하여 상용 제품으로 패키징 / 버전 관리 및 릴리즈 노트를 통해 지속적으로 관리

- 사용자 관점에서의 패키징 고려사항 : 사용자 시스템 환경정의 / UI 제공 / 관리 서비스 형태로 제공 / 패키징 변경 및 개선 관리 고려

- 애플리케이션 패키징 릴리즈 노트 : 애플리케이션 최종 사용자인 고객과 잘 정리된 배포 정보를 공유하는 문서. 상세 서비스를 포함하여 수정, 변경 또는 개선되는 정보에 대한 사항이 제공

 

 

< 애플리케이션 배포 도구 >

- 애플리케이션 배포 도구 : 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능을 제공하며, 안전한 유통과 배포를 보장하는 도구이자 솔루션

- 애플리케이션 배포 도구의 기술요소 : 암호화 / 키 관리 / 식별 기술 / 저작권 표현 / 암호화 파일 생성 / 정책 관리 / 크랙 방지 / 인증

-애플리케이션 배포 도구 세부 기술 : 공개키 기반 구조(PKI), 대칭 및 비대칭 암호화, 전자서명, DOI, URI, XrML, MPEG-21, XML, CMS, 코드 난독화, Secure DB, SSO

- 애플리케이션 배포 도구 활용 시 고려사항 : 암호화 및 보안 / 이기종 연동 / 복잡성 및 비효율성 문제 / 최적합 암호화 알고리즘 적용

 

 

< 애플리케이션 모니터링 도구 >

- 애플리케이션 모니터링 도구 : 제품 소프트웨어를 사용자 환경에 설치한 후 기능 및 성능, 운영 현황을 모니터링하여 제품을 최적하하기 위한 도구

- 애플리케이션 모니터링 도구의 기능 : 

변경 관리 애플리케이션 간의 종속관계를 모니터링 ChangeMiner
성능 관리 트랜잭션 수량, 처리시간, 응답시간 등을 모니터링 Jeniffer, Nmon
정적 분석 소스 코드의 잠재적인 문제 발견 가능 PMD, Cppcheck, Checkstyle, SonarQube
동적 분석 프로그램에 대한 결함 및 취약점 동적 분석 도구 Avalanche, Valgrind

 

 

< DRM >

- DRM : 디지털 콘텐츠에 대한 권리정보를 지정하고 암호화 기술을 이용하여 허가된 사용자의 허가된 권한 범위 내에서 콘텐츠의 이용이 가능하도록 통제하는 기술

- DRM의 구성요소 :

콘텐츠 제공자
(DRM Server)
DRM 콘텐츠 서비스하고자 하는 암호화된 콘텐츠, 콘텐츠 사용정보를 패키징하여 구성된 콘텐츠
패키저 클리어링 하우스에서 부여받은 콘텐츠 사용정보를 암호화한 콘텐츠로 변환하는 도구
클리어링 하우스
(Clearing House)
콘텐츠 정책 라이선스 발급여부를 결정하는 정책에 대한 부합 여부 확인
콘텐츠 라이선스 사용자에게 전달되는 콘텐츠의 권리 인증
콘텐츠 관리정보 사용자 정보 및 사용하고자 하는 콘텐츠에 대한 정보
콘텐츠 사용정보 사용자 권한 및 그 권한에 따른 콘텐츠 정책에 대한 정보
콘텐츠 소비자
(DRM Client)
DRM 컨트롤러 배포된 디지털 콘텐츠의 이용 권한을 통제
보안 컨테이너 보안 콘텐츠를 안전하게 유통하기 위한 전자적 보안장치

- DRM의 기술요소 : 암호화 / 키 관리 / 식별 기술 / 저작권 표현 / 암호화 파일 생성 / 정책 관리 / 크랙 방지 / 인증

 

 


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

 

< 제품 소프트웨어 매뉴얼 작성 >

- 제품 소프트웨어 매뉴얼 : 제품 소프트웨어 개발 단계부터 적용한 기준이나 패키징 이후 설치 및 사용자 측면의 주요 내용 등을 문서로 기록한 것. 설치 매뉴얼과 사용자 매뉴얼이 있음

  1. 설치 매뉴얼 : 사용자가 제품을 구매한 후 최초 설치 시 참조하는매뉴얼. 설치 과정에서 표시될 수 있는 예외사항에 관련 내용을 별도로 구분하여 설명
  2. 사용자 매뉴얼 : 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 패키징하고, 설치와 사용자 필요한 제반 절차 및 환경 등 전체 내용을 포함하는 문서

 

 

< 국제 표줌 제품 품질 특성 >

- 품질에 관련된 국제 표준화는 ISO/IEC, ITU-T, IEEE를 중심으로 진행되고 있음.

  1. 국제 제품 품질 표준 :
    ISO/IEO 9126 - 소프트에어의 품질요소와 특성을 정의
    - 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성
    ISO/IEO 14598 - 평가 표준과 프로세스를 제공
    - 반복성, 재현성, 공정성, 객관성
    ISO/IEC 12119 - 품질 요구사항 및 테스트 국제 표준
    ISO/IEC 25000 - SQuaRE. 위 3가지를 통합한 것
    - 관리, 모델, 측정, 요구, 평가
  2. 국제 프로세스 품질 표준 :
    ISO/IEC 9001 - 설계, 개발, 생산, 설치 및 서비스 과정에 대한 품질 보증 모델
    ISO/IEC 12207 - 소프트웨어 생명주기 단계별 필요 프로세스를 규정한 국제표준
    ISO/IEC 15504 - SPICE
    CMMi - 조직차원의 성숙도를 평가하는 단계별 표현
    - 프로세스 영역별 능력도를 평가하는 연속적 표현

 

 

< 소프트웨어 공학 >

- 소프트웨어 : 하드웨어를 동작시켜 사용자가 작업을 편리하게 수행하도록 하는 프로그램 및 자료 구조

- 소프트웨어 공학 : 소프트웨어 위기를 극복하기 위한 방안으로 연구된 학문

브룩스의 법칙
Brooks' Law
- 지체되는 소프트웨어 개발 프로젝트에 인력을 추가하는 것은 개발을 늦출 뿐이다.
파레토 법칙
Pareto Principle
- 전체 결과의 80%가 전체 원인의 20%에서 일어나는 현상
- 결합 집중의 원리
롱테일 법칙
Long Tail
- 사소해 보이는 80%의 다수가 20%의 소수 핵심보다도 뛰어난 가치를 창출해낸다는 이론

 


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

 

< 제품 소프트웨어 버전 관리 도구 >

- 제품 소프트웨어 버전 관리 도구 : 형상 관리 지침을 활용하여 제품 소프트웨어의 신규 개발, 변경, 개선과 관련된 수정 사항을 관리하는 도구

- 소프트웨어 버전 관리 도구 유형 : 공유 폴더 방식 / 클라이언트-서버 방식 / 분산 저장소 방식

- 소프트웨어 버전 관리 도구 : CVS / SVN / RCS / Bitkeeper / Git Clear Case

 

 

< 빌드 자동화 도구 >

- 빌드 자동화 도구 : 제품 소프트웨어 실행파일 생성을 자동화하기 위해서 저장소에 있는 소스를 자동으로 읽어서 빌드한 후 테스트하고 검사하여 실행파일을 만드는 도구. 지속적인 통합과도 연관

- 빌드 자동화 구성요소 : CI, SCM, 빌드 도구, 테스트 도구, 테스트 커버리지 도구, 인스펙션 도구

- 빌드 자동화 도구 사례 :

젠킨스(Jenkins) - 자바 기반의 오픈소스로 가장 많이 활용
- 지속적 통합관리를 가능하게 한다.
- 서블릿 컨테이너 서버 기반으로 구동되는 시스템
그래들(Gradle) - 그루비와 유사한 도메인 언어를 채용
- 안드로이드 앱을 만드는 데 필요한 안드로이드 스튜디오의 공식 빌드 자동화 시스템
- 태스크 단위로 실행

 


 

'8. 자격증 > 8-1. 정보처리기사' 카테고리의 다른 글

정처기 2-5. 인터페이스 구현  (0) 2021.08.05
정처기 2-4. 애플리케이션 테스트 관리  (0) 2021.08.05
정처기 2-2. 통합 구현  (0) 2021.08.01
정처기 2-1. 데이터 입출력 구현  (0) 2021.08.01
정처기 1-4. 인터페이스 설계  (0) 2021.07.30
    '8. 자격증/8-1. 정보처리기사' 카테고리의 다른 글
    • 정처기 2-5. 인터페이스 구현
    • 정처기 2-4. 애플리케이션 테스트 관리
    • 정처기 2-2. 통합 구현
    • 정처기 2-1. 데이터 입출력 구현
    yunyj99
    yunyj99
    개발자를 목표로 하는, 새싹처럼 성장하고 싶은 사람의 학습 공간 ^v^

    티스토리툴바