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. 제품 소프트웨어 매뉴얼 작성
< 제품 소프트웨어 매뉴얼 작성 >
- 제품 소프트웨어 매뉴얼 : 제품 소프트웨어 개발 단계부터 적용한 기준이나 패키징 이후 설치 및 사용자 측면의 주요 내용 등을 문서로 기록한 것. 설치 매뉴얼과 사용자 매뉴얼이 있음
- 설치 매뉴얼 : 사용자가 제품을 구매한 후 최초 설치 시 참조하는매뉴얼. 설치 과정에서 표시될 수 있는 예외사항에 관련 내용을 별도로 구분하여 설명
- 사용자 매뉴얼 : 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 패키징하고, 설치와 사용자 필요한 제반 절차 및 환경 등 전체 내용을 포함하는 문서
< 국제 표줌 제품 품질 특성 >
- 품질에 관련된 국제 표준화는 ISO/IEC, ITU-T, IEEE를 중심으로 진행되고 있음.
- 국제 제품 품질 표준 :
ISO/IEO 9126 - 소프트에어의 품질요소와 특성을 정의
- 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성ISO/IEO 14598 - 평가 표준과 프로세스를 제공
- 반복성, 재현성, 공정성, 객관성ISO/IEC 12119 - 품질 요구사항 및 테스트 국제 표준 ISO/IEC 25000 - SQuaRE. 위 3가지를 통합한 것
- 관리, 모델, 측정, 요구, 평가 - 국제 프로세스 품질 표준 :
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 |