Clean & Blue 자세히보기

전공/정보처리기사 실기

정보처리기사 실기 - 11. 제품 소프트웨어 패키징 /코드서명/릴리즈노트/난독화/형상관리

_청렴 2021. 5. 21. 19:41
반응형

NCS 정보처리기사

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

- 제품 소프트웨어 패키징

개발이 완료된 소프트웨어를 고객에게 전달하기 위해 패키징, 설계 및 매뉴얼을 작성하는 활동

 

  • 제품 설명서 - 제품명/제품의 소개/시스템 설계/주요 기능/연락처
  • 사용자 매뉴얼
  • 실행 프로그램

 

- 제품 소프트웨어의 실행프로그램 패키징

MSN사의 윈도우 내장 프로그램 iExpress 이용

 

- 코드 서명(Code Signing) 수행

자사프로그램(보안 모듈)을 배포할 때 해당 기업이 제작 배포한 것임을 증명하기 위해 사용하는 전자서명

-> Signcode.exe 파일과 기업용 인증서 필요

 

- 제품 소프트웨어 패키징하기(Boxing)

- 릴리즈노트

애플리케이션 최종 사용자에게 전달되는 제품의 릴리즈 정보에 대한 공유 정보

-> 변화 설명, 변화 이유 등

-> 현재 시제로 작성, 명확성, 정확성 기반

 

- 제품소프트웨어 저작권 보호

저작권 권리자만이 소프트웨어를 사용, 복제 배포할 수 있음

 

- 소스코드 난독화

프로그램 소스코드를 변형하는 방법의 일종, 소스 코드의 가독성을 떨어뜨려 역공학(Reverse Engineering)을 통한 정보 해킹 공격을 막음

  • 레이아웃 난독화 : 소스코드의 포맷이나 변수의 이름 대상을 변환
  • 데이터 난독화 : 데이터가 메모리에 저장되는 방법, 저장된 데이터의 해석 방법, 데이터의 배열 순서 등을 변경
  • 컨트롤 난독화 : 처리 순서 변경, 기능에 변화를 주지 않는 제어 흐름을 추가
  • 프리벤티브 난독화(Preventive Obfuscation) : 이미 알려진 자동화 역난독화 방법 봉쇄

 

-> ProGuard를 이용해 Jar 파일 난독화

 

2) 제품 소프트웨어 매뉴얼 작성하기

매뉴얼은 B2B일 경우 PDF, B2C일 경우 으로 배포

 

3) 제품 소프트웨어 버전 관리 하기

- 형상관리

형상 항목을 식별하여 그 기능적,  물리적 특성을 문서화하고 그러한 특성에 대한 변경을 제어하며 변경처리 상태를 기록 및 보고하고 명시된 요구사항에 부합하는지 확인하는 기술적이고 관리적인 감독, 감시 활동

 

- 형상관리 절차

  1. 형상 식별 : 대상을 식별하고 기준선 설정, 및 식별번호 부여
  2. 형상 통제(변경 관리) : 형상 변경 제안을 검토, 승인하여 현 Baseline에 반영할 수 있도록 통제
  3. 형상 감사 : 소트트웨어의 Baseline 무결성 평가 수단
  4. 형상 기록 : 각종 수행 결과를 기록, 형상 상태에 보고서 작성

 

- 소프트웨어 형상관리의 구성요소

  • Baseline : 라이프 사이클 상 진행과 변경을 구별하는 관리상의 기준점
  • Configuration Version : 기준선을 설정한 후 일어난 변경 이력 기록
  • CCB : Configuration Control Board : 형상 관리에 대한 전략과 통제등을 하는 조직
  • 변경관리 프로세스 : 형상 관리 통제 활동 중 하나로 변경에 대한 체계적인 관리를 위한 기법 -> 변경에 대한 신청, 분석, 승인, 확인 프로세스로 관리
  • SCM Tool : CASE 툴로서 형상관리의 자동화 관리

 

- 형상관리 기준선(Baseline) 

  • 계획 : 기능적 기준선 - 사용자 요구 기능이 정의되는 시점
  • 요구 분석 : 분배적 기준선 - 요구 기능이 서브 시스템으로 분할되는 시점
  • 설계 : 설계 기준선 - 개발 전 설계 사양이 완성되는 시점
  • 구현 : 시험 기준선 - 시험을 위한 준비 수립 시점
  • 시험 : 제품 기준선 - 통합, 기능, 성능 등 시험 완료 시점
  • 설치/운영 : 운영 기준선 - 개발이 완료된 후 운영 이관되는 시점

 

- 형상관리 버전 등록

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

 

git cloce <원격저장소URL> -> 소스 코드 복제

git add <파일명>

git commit -m "<커밋 메세지>" -> 소스 코드 커밋

git push -u origin master -> 소스 코드 복제

git pull -> 소스 코드 다운 받기

git status -> git 변경사항 확인

sudo gitlab-rake gitlab:backup:create -> 백업