2장. 통합구현 & 소프트웨어 패키징
2-0. 단위 모듈 구현
- 단위 모듈 : 소프트웨어 구현에 필요한 여러 동작 중 한가지 동작을 수행하는 기능을 모듈로 구현한 것
- 단위 기능 명세서 : 설계 과정에서 작성하는 기능 및 코드 명세서나 설계 지침과 같이 단위 기능을 명세화한 문서들을 의미
- IPC : 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합
- Shard Memory
- Socket
- Semaphores
- Pipes&Named Pipes
- Message Queueing
2-1. 단위 모듈 테스트
- 프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증
- 테스트 케이스 : 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지 확인, 명세 기반 테스트의 설계 산출물에 해당
- 빌드 도구 : 소스 파일들을 제품 소프트웨어로 변환하는 과정 ( ex) Ant, Maven, Gradle )
2-2. 소프트웨어 패키징
- 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것. 사용자 중심
- 작업 순서 : 기능 식별 - 모듈화 - 빌드 진행 - 사용자 환경분석 - 패키징 및 적용시험 - 패키징 변경개선 -배포
2-3. 릴리즈 노트
- 개발 과정에서 정리된 릴리즈 정보를 소프트웨어 최종 사용자인 고객과 공유하기 위한 문서
- 항목 : Header, 개요, 목적, 문제요약, 재현항목, 수정/개선, 사용자 영향도, S/W 지원 영향도, 노트, 면책조항
- 작성순서 : 모듈식별 - 릴리즈 정보확인 - 노트 개요작성 - 영향도 체크 - 정식 릴리즈 노트 작성
2-4. 디지털 저작권 관리(DRM)
- 저작권 : 저작물 등에 대해 창작자가 가지는 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한
- 디지털 저작권 관리 : 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록, 전과정에 거쳐 사용되는 보호 기술
- 구성 요소
- 클리어링 하우스 : 저작권 사용권한, 라이선스 등을 수행
- 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자
- 패키저 : 콘텐츠를 메타 데이터와 함께 암호화 하는 프로그램
- 콘텐츠 분배자 : 암호화된 콘텐츠를 유통
- DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제.
- 보안 컨테이너 : 콘텐츠 원본을 안전하게 유통하기 위한 전자적 보안장치
- 기술요소 ( 암호화, 키관리, 식별기술, 저작권 표현, 크랙방지, 인증 등등)
2-5. 소프트웨어 설치 메뉴얼& 사용자 메뉴얼
- 소프트웨어 설치 메뉴얼 : 개발 초기에서부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서
- 소프트웨어 사용자 메뉴얼 : 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서와 안내서
2-6. 소프트웨어 버전 등록
- 형상관리 : 소프트웨어의 개발과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동.
- 형상관리를 통해 가시성과 추적성을 보장함으로써, 소프트웨어의 생산성과 품질을 높일 수 있다.
- 형상관리 기능
ex) 형상 식별, 버전 제어, 형상 통제, 형상 감사, 형상 기록
- 소프트웨어 버전 등록 관련 주요기능
ex) 저장소, 가져오기, 체크아웃, 체크인, 커밋, 동기화
- 소프트웨어 버전 등록 과정
가져오기 - 인출 - 예치 - 동기화 - 차이
2-7. 소프트웨어 버전 관리 도구
- 공유 폴더 방식 : 버전관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리 되는 방식
- 클라이언트-서버 방식 : 버전 관리 자료가 중앙 시스템에 저장, 관리되는 방식
- 분산 저장소 : 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 로컬 저장소와 함께 저장되어 관리되는 방식
- 서브버전 : CVS를 개선한 것으로, 아파치가 개발하였다.
- Git : 리눅스 커널 개발에 사용할 관리 도구로, 개발한 이후로 유지보수 되고있다.
2-8. 빌드 자동화 도구
- 빌드란 소스코드 파일들을 컴파일한 후, 여러개의 모듈을 묶어 실행 파일로 만드는 과정이며, 이러한 빌드를 포함하여 테스트 및 배포를 자동화하는 도구를 빌드 자동화 도구라고 한다.
- ex) Ant, Make 등이 있음.
- Jenkins : Java 기반의 오픈소스 형태, 가장 많이 사용되는 빌드 자동화 도구
- Gradle : Groovy를 기반으로 한 오픈소스 형태의 자동화 도구로, 안드로이드앱 개발환경에서 주로 사용.
'정보처리기사 필기' 카테고리의 다른 글
2과목 : 소프트웨어 개발 (4장. 인터페이스 구현 : 주요 키워드 정리) (0) | 2022.08.01 |
---|---|
2과목 : 소프트웨어 개발 (3장. 애플리케이션 테스트: 주요 키워드 정리) (0) | 2022.08.01 |
2과목 : 소프트웨어 개발 (1장. 데이터 입,출력 구현 : 주요 키워드 정리) (0) | 2022.08.01 |
1과목 : 소프트웨어 설계 (4장. 인터페이스 설계 : 주요 키워드 정리) (0) | 2022.08.01 |
1과목 : 소프트웨어 설계 (3장. 소프트웨어 아키텍처 : 주요 키워드 정리) (0) | 2022.08.01 |