Computer Science/정보처리기사
[필기] 제2과목 소프트웨어 개발 (3) 제품 소프트웨어 패키징
조코링
2022. 7. 5. 22:18
소프트웨어 패키징
모듈 별로 생성한 실행 파일들을 하나로 묶어 배포용 설치 파일을 만드는 작업
고려사항
- 운영체제, CPU, 메모리 등 최소 환경 정의
- 매뉴얼 배포 등 고객 편의 제공, 사용자 중심
- 패키징의 변경 사항 관리
작업 순서
- 기능 식별
- 모듈화: 기능 단위로 코드 구분
- 빌드 진행: 소스 코드를 실행 파일로
- 사용자 환경 분석
- 패키지 적용 및 테스트
- 패키징 개선
- 배포: 온라인, 오프라인(CD, USB 등)
Release Note
- 사용자에게 제공하는 소프트웨어의 정보, 업데이트 내용, 테스트, 사양 등의 내용을 담은 문서
- 구성 요소: 머리말, 개요, 목적, 문제 요약, 재현 항목, 수정/개선 내용, 사용자 영향도, SW 지원 영향도, 노트, 면책 조항, 연락처 등
- 작성 순서: 모듈 식별 > 릴리즈 정보 확인 > 개요 작성 > 영향도 체크 > 정식 릴리즈 노트 작성 > 추가 개선 항목 식별
소프트웨어 설치 매뉴얼
- 사용자 기준으로 설치 시작부터 완료까지 모든 과정에 대한 설명서
- 구성
- 서문: 문서 이력, 설치 매뉴얼의 주석, 설치 도구의 구성, 설치 환경(운영체제, CPU, 메모리 등) 체크 항목
- 기본 사항: 소프트웨어 개요, 설치 관련 파일, 설치 아이콘, 프로그램 삭제, 관련 추가 정보
- 작성 방법
- 사용자가 설치 과정을 이해하기 쉽도록 작성
- 설치 화면, 설치 중 발생할 수 있는 에러나 오류 메시지 설명, 설치 완료 및 결과, FAQ
- 설치 시 점검 사항, 네트워크 환경 및 보안, 고객 지원 방법, 준수 정보 & 제한 보증
- 작성 순서
- 기능 식별 > UI 분류 > 설치 파일 확인 > Uninstall 절차 확인 > 이상 case 확인 > 최종 매뉴얼 적용
소프트웨어 사용자 매뉴얼
- 사용자 기준으로 소프트웨어 사용에 대한 설명서, 컴포넌트(독립적인 기능 수행) 단위로 작성
- 구성
- 서문: 문서 이력, 사용자 매뉴얼의 주석, 기록 보관 내용
- 기본 사항: 소프트웨어 개요, 소프트웨어 사용 환경, 소프트웨어 관리, 모델 버전 별 특징, 기능 인터페이스 특징, 소프트웨어 구동 환경
- 작성 방법
- 사용자가 소프트웨어를 사용하면서 알아야 할 내용들을 작성
- 사용자 화면, 주요 기능 분류, 응용 프로그램 및 설정, 장치 연동, 네트워크 환경, 프로필 안내(구동 환경 점검), 고객 지원 방법, 준수정보 제한 보증
- 작성 순서
- 기능 식별 > 사용자 화면 분류 > 사용자 환경 파일(폴더 위치, log, backup 등) 확인 > 초기화 절차 확인 > 이상 case 확인 > 최종 매뉴얼 적용
형상 관리
- 형상: 소프트웨어 개발 과정 전체에서 나오는 변경사항
- 변경사항을 체계적으로 추적하고, 무절제한 변경을 통제하기 위해 형상 관리가 필요
- 기능: 형상 식별(형상 관리 대장 작성), 버전 제어, 형상 통제(변경 요구 검토), 형상 감사(검증), 형상 기록
- 주요 용어
- 저장소: 최신 버전 파일, 변경 내역 저장
- import: 저장소에 처음으로 파일 복사
- checkout: 저장소로부터 파일 받기
- checkin: 저장소에 변경한 파일 저장, 새로운 버전 갱신
- commit: 이전 버전과의 충돌 확인 및 수정
- update: 저장소의 최신 버전으로 동기화
- 버전 등록 과정: import > checkout > checkin > update > diff
형상 관리 도구(버전 관리 도구)
- 제품 소프트웨어의 신규 개발, 변경, 개선과 관련된 수정 내역을 관리하는 도구
- 분류
- 공유 폴더 방식
- 클라이언트/서버 방식: 작업 내역을 서버에 축적
- 분산 저장소 방식: 원격 저장소로부터 개발자 개인의 로컬 저장소로 복제해서 개발 후 원격 저장소에 작업 내역 전송
- CVS(다수의 인원이 동시에 서버에 접근 가능), SVN(CVS의 단점을 개선, 개별 프로젝트에 주로 사용), RCS(소스 코드를 한 사람만 수정하도록 제한), Bitkeeper(빠른 속도, 대규모 프로젝트에 주로 사용), Git(분산 저장소 방식, 대규모/오픈소스 프로젝트에 주로 사용), Clear Case(복수 서버, 복수 클라이언트)
- 유의점
- 형상 관리 지침에 의거하여, 버전에 대한 정보를 언제든지 접근할 수 있어야 함
- 개발자나 배포자 이외의 불필요한 사용자가 접근할 수 없도록 해야 함
- 동일한 프로젝트 파일에 대해서 여러 개발자가 동시에 개발할 수 있어야 함
- 에러 발생 시 최대한 빠른 시간 내에 복구 필요
- 활용 방안
- 공동 개발 및 작업 관리
- 버전 백업 및 복구
- 여러 버전 솔루션 작업
Digital Right Management
개요
- 저작권: 타인의 침해를 받지 않을 독점적 권리
- 디지털 저작권 관리: 저작권자가 배포한 디지털 컨텐츠를 저작권자가 의도한 용도로만 사용하도록 생산, 유통 등 전 과정에 걸쳐서 관리하는 것
흐름도
컨텐츠 제공자가 클리어링 하우스에 컨텐츠 등록, 컨텐츠 분배자에게 컨텐츠 전달 > 컨텐츠 분배자가 클리어링 하우스에 라이센스 요청 > 컨텐츠 소비자가 클리어링 하우스에 요금 지불 후 컨텐츠 분배자에게 라이센스 요청 > 컨텐츠 분배자가 컨텐츠 소비자에게 다운로드 권한 부여
- 클리어링 하우스: 저작권 사용 권한, 결재 관리 등 수행
- 패키저: 컨텐츠와 디지털 저작권 보호 프로그램을 함께 묶는 작업을 수행
- DRM 컨트롤러: 사용 권한 통제
- 보안 컨테이너: 컨텐츠 원본의 보호를 위한 장치
기술 요소
- 암호화, 암호화 키 관리, 암호화 파일 생성, 컨텐츠 식별 기술, 저작권 표현, 라이센스 정책 관리, 크랙 방지, 인증
국제 표준 제품 품질
분류
- 제품 품질 표준: ISO/IEC 9123(측정 기준 제시), ISO/IEC 14598(제품 평가 프로세스 및 평가 모듈), ISO/IEC 12119(패키지 소프트웨어 품질), ISO/IEC 25000(품질 모형, 메트릭, 요구사항, 평가)
- 프로세스 품질 표준: ISO/IEC 9000(품질 경영, 보증), ISO/IEC 12207(소프트웨어 라이프 사이클 프로세스), ISO/IEC 155054(표준 모델), ISO/IEC 15288(시스템 생명주기), CMMI(프로세스 표준 모델)
- ISO/IEC 12119 평가 절차: 제품 설명서 시험 > 사용자 문서 지침 > 실행 프로그램 시험 > 시험 기록 > 시험 보고서 작성
- ISO/IEC 14598 특징: Repeatability(동일 평가자 동일 결과), Reproducibility(다른 평가자 유사한 결과), Impartiality(공정한 평가), Objectivity(객관적인 자료로 평가)
※ 강의 링크: https://inf.run/B456