12. 제품 소프트웨어 패키징
keywords | DRM 컨트롤러Dynamic ModelingMPEG-21Secure DBXrMLssourl공개키 기반 구조노트릴리즈 노트모듈화문서 이력 정보보안 컨테이너이슈 요약전자 서명제품 software 매뉴얼제품 소프트웨어 매뉴얼제품 소프트웨어 패키징주석증분 백업차등 백업코드 난독화클리어링 하우스헤더 |
---|---|
pageNum | 384-468 |
제품 소프트웨어 패키징하기
사용자 중심의 패키징 수행
- 사용자 중심의 패키징 수행의 개념
- 제품 소프트웨어 패키징은 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정이다.
- 제품 소프트웨어 패키징 적용 시 특성은 다음과 같다.
- 제품 소프트웨어 패키징을 위한 모듈빌드
- 제품 소프트웨어 패키징은 모듈들을 통해 수행되므로, 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징을 수행한다.
특성 설명 전체 내용을 포함 설치와 사용에 필요한 과정 및 환경 등의 전체 내용을 포함하는 매뉴얼을 작성합니다. 버전 관리 / 릴리즈 노트 제품 소프트웨어에 대한 패치 개발과 업그레이드를 수행하며, 버전 관리 및 릴리즈 노트를 통해 신규/변경 이력을 확인하고 지속적으로 관리합니다. 고객 중심 제품 소프트웨어 패키징은 개발자가 아닌 사용자 중심으로 진행되며, 고객의 편의성을 중시합니다. 모듈화 신규 및 변경 개발 소스를 식별하고, 이를 모듈화하여 상용 제품으로 패키징합니다.
- 소프트웨어 모듈 및 패키징
- 모듈화(Modularization) 개념
- 모듈화는 모듈을 이용하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 모듈 중심의 소프트웨어 설계 기법이다.
- 모듈 간 결합도의 최소화(Loose Coupling)하고 모듈 내 요소들 간의 응집도 최대화(Strong Cohesion)하는 것이 중요하다.
장점 설명 개발 편의성 - 프로그램을 효율적으로 관리하며 전체적인 소프트웨어 이해를 용이하게 합니다.
- 소프트웨어 시험, 통합, 수정 시 용이성을 제공합니다.
- 모듈의 재사용 가능성으로 개발과 유지보수가 용이합니다.
- 오류의 파급 효과를 최소화합니다.복잡성 감소 - 기능의 분리가 가능하고 인터페이스가 단순하여 복잡성이 감소됩니다
- 복잡도 감소로 인한 성능 향상이 이루어집니다.
- 제품 소프트웨어의 패키징
- 제품 소프트웨어에서는 모듈의 개념을 정확하게 파악한 후에 기능 단위로 패키징하는 것이 필요하다.
- 배포 전 시험 및 수정 등의 작업 진행에서도 모듈 단위로 분류하여 작업을 진행한다.
- 모듈화(Modularization) 개념
- 제품 소프트웨어 모듈 빌드 기법
- 소프트웨어 빌드는 소스 코드 파일을 컴퓨터에서 실행할 수 있는 제품 소프트웨어의 단위로 변환하는 과정이다.
- 대표적 인 도구들로는 Ant, Make, Maven, Gradle 등의 빌드 도구들이 있다.
- 빌드 과정을 문서화하면 다양한 이력에 대한 관리가 가능하다
- 사용자 중심의 패키징 직업
- 사용자 중심의 패키징 작업 시 고려 사항
- 제품 소프트웨어 패키징은 사용자를 위해 진행되는 작업으로서, 고객 편의성 및 사용자 실행 환경을 우선 고려하여 진행한다.
- 사용자 중심의 패키징 고려 사항은 다음과 같다.
고려 사항 설명 시스템 환경 - OS, CPU, 메모리 등을 수행하기 위한 최소 환경을 정의합니다. 직관적 UI - 사용자가 직관적으로 확인할 수 있는 UI를 제공하여 사용성을 향상시킵니다. 관리 서비스 - 매뉴얼과 일치시켜 패키징 작업을 진행하고, 제품 소프트웨어와 하드웨어의 통합 적용을 지원합니다. 안정적 배포 - 제품 소프트웨어는 안정적인 배포가 중요하며, 다양한 사용자 요구사항을 반영하여 패키징의 변경과 개선을 고려하여 배포합니다.
- 사용자 중심의 모듈 패키징 프로세스
순서 프로세스 세부 활동 1 기능식별 • 전체적인 기능 정의 및 데이터 흐름 식별
• 기능 단위 및 출력에 대한 상세 정의
• 입출력 데이터 식별2 모듈화 • 기능의 공유와 재활용 분류
• 모듈 간 결합도와 응집도 식별
• 기능 및 서비스를 모듈 단위로 분류3 빌드 진행 • 신규 개발 소스 및 컴파일 결과물 준비
• 정상 기능 단위 및 서비스 분류
• 빌드 도구 확인 및 정상 수행
• 컴파일 이외 도구의 다양한 기능 확인4 사용자 환경 분석 • 최소 사용자 환경 사전 정의
• 모듈 단위의 사용자 환경 테스트 수행5 패키징 적용 시험 • 사용자 환경에서의 패키징 적용 시험
• UI 및 시스템 상의 편의성 체크6 패키징 변경 개선 • 패키징 적용 시 변경점 도출
• 최소 사용자 환경에서 서비스 가능한 수준의 개선
• 개선 버전의 재배포
- 사용자 중심의 패키징 작업 시 고려 사항
- 제품 소프트웨어 패키징은 모듈들을 통해 수행되므로, 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징을 수행한다.
버전을 고려한 제품 릴리즈 노트 작성
- 릴리즈 노트
- 릴리즈 노트의 개념
- 릴리즈 노트는 최종 사용자인 고객에게 개발 과정에서 정리된 제품의 릴리
즈 정보를 제공하는 문서이다.
• 릴리즈 정보는 상세 서비스 정보를 포함하여 제품의 수정, 변경, 개선하는
일련의 작업들에 대한 정보이며, 릴리즈 노트를 통해 제공된다
- 릴리즈 노트는 최종 사용자인 고객에게 개발 과정에서 정리된 제품의 릴리
- 릴리즈 노트의 중요성
중요성 설명 정보 제공 - 최종 배포된 릴리즈 노트에는 테스트 진행 과정, 테스트 결과, 개발팀의 제공 사양 준수 정도를 파악할 수 있음
- 사용자에게 더 자세하고 확실한 정보를 제공
- 기본적으로 전체적인 제품의 수행 기능 및 서비스의 변화를 공유관리의 용이성 - 전체적인 버전 관리 및 릴리즈 정보를 체계적으로 관리
- 릴리즈 노트의 개념
- 릴리즈 노트 작성 시 고려 사항
- 릴리즈 노트는 현재 시제로 작성되어야 하며, 배포 시부터 신규 소스, 빌드등 이력을 명확하고 정확하게 제공한다.
- 개발자와 테스터가 함께 협업해야 하고 최초 및 변경, 개선 항목까지 연결되어 다음 항목에 대한 정보들이 릴리즈 노트를 통해 작성되어야 한다.
- 릴리즈 노트는 개발팀에서 직접 작성하여야 한다.
- 릴리즈 노트 작성 항목
- 릴리즈 노트는 특정 소프트웨어의 최근 변경 사항, 개선 사항 및 버그 수정을 간결히 요약한다.
릴리즈 노트 작성 시
다음 항목들이 포함되어야 한다.
항목 설명 헤더 문서의 정보를 기록하는 부분으로 릴리스 노트의 이름, 제품 이름, 버전 번호, 릴리즈 날짜 등을 포함합니다. 개요 제품 및 변경에 대한 간략한 전반적 개요를 기술합니다. 목적 릴리스 노트의 목적과 새로운 기능, 버그 수정 내용을 설명합니다. 이슈 요약 버그의 간단한 설명 또는 추가된 릴리스 항목을 요약하여 기술합니다. 재현 항목 버그 발견에 따른 재현 단계를 기술합니다. 수정•개선 내용 수정 및 개선된 내용을 간단하게 설명합니다. 사용자 영향도 버전 변경에 따른 최종 사용자의 기능 및 응용 프로그램 상의 영향을 기술합니다. 설명 소프트웨어의 지원 영향도 및 설치 항목 등을 자세히 설명합니다. 면책 조항 제품 사용과 관련된 면책 조항을 기술합니다. 연락정보 사용자 지원 및 문의에 관련된 연락처 정보를 제공합니다.
- 릴리즈 노트 예외 케이스
예외 케이스 설명 테스트 단계에서의
베타 버전 출시제품의 베타 버전이나 차기 버전 테스트 단계에서도 릴리즈 노트를 작성하여 정보를 체크합니다. 베타 버전에 대한 릴리즈 노트를 별도로 작성할지 미리 정의해야 합니다. 긴급 버그 수정 시 보통 긴급히 버그가 수정되면 릴리즈 노트 작성을 놓치는 경우가 많으므로 버그 번호를 포함한 모든 수정된 버그를 기술하여 릴리즈 노트에 추가합니다. 자체 기능 향상을 포함한 모든 추가 기능의 향상 자체적으로 기능 개선을 완료했을 때 정식으로 릴리즈 버전을 추가하고, 이에 따른 신규 릴리즈 노트를 작성합니다. 사용자 요청에 따른 특이한 케이스 발생 사용자의 의견이 접수된 경우, 이를 자체 기능 향상과는 별도의 버전으로 새로 추가하여 릴리즈 노트를 작성합니다. 이 때, 연락처 정보를 통해 사용자의 의견을 수렴합니다.
- 릴리즈 노트 작성 프로세스
순서 프로세스 세부 활동 1 모듈식별 릴리즈 노트 작성을 위한 모듈 및 빌드 정리
• 입출력 데이터, 전체적인 기능 정의, 데이터 흐름 정리
• 기능 단위 및 출력에 대한 상세 정의2 릴리즈 정보 확인 문서 이름(릴리스 노트 이름), 제품 이름 정보 확인
• 버전 번호, 릴리즈 날짜 확인
• 참고 날짜, 노트 버전 확인3 릴리즈 노트 개요 작성 제품 및 변경에 대한 간략한 전반적인 개요 작성
• 개발 소스의 빌드에 따른 결과물 기록
• 버전 및 형상 관리에 대한 전반적인 노트 기록4 영향도 체크 • 버그의 간단한 설명 또는 릴리즈 추가 항목 기술
• 버그 발견을 위한 재현 테스트 및 재현 환경을 기록
• 소프트웨어 및 사용자 입장에서의 영향도 파악5 정식 릴리즈 노트 작성 릴리즈 정보, 헤더 및 개요 등 기본사항 기술
• 정식 버전을 기준으로 릴리즈 노트 개요 작성
• 이슈, 버그 등 개선 내용 기술6 추가 개선 항목 식별 • 추가 개선에 대한 베타 버전을 이용한 테스트 수행
• 테스트 중 발생한 긴급 버그 수정
• 추가 기능 향상을 위해 작은 기능 수정
• 사용자 요청에 따른 추가 개선
패키징 도구를 활용한 설치, 배포 수행
- 제품 소프트웨어의 패키징 도구
- 디지털 콘텐츠의 불법 사용, 복제 방지, 과금 서비스를 통한 정상 사용자를 검증 가능한 저작권 도구를 통해 패키징하는 것이 중요하다.
- 제품 소프트웨어 패키징 도구의 개념
- 제품 소프트웨어 패키징 도구는 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능을 제공하며, 안전한 유통과 배포를 보장하는 도구이다.
- 패키징 도구는 불법 복제로부터 디지털 콘텐츠의 지적 재산권을 보호해 주는 사용 권한 제어 기술, 패키징 기술, 라이선스 관리, 권한 통제 기술 등을 포함한다.
- 패키징 도구 활용 시 고려 사항
고려 사항 설명 암호화/보안 고려 패키징 시 사용자에게 배포되는 소프트웨어이므로 내부 콘텐츠의 적절한 암호화 및 보안을 고려해야 합니다. 이기종 연동 고려 패키징 도구를 활용하여 다양한 이기종 콘텐츠 및 단말기 간의 DRM 연동을 고려하여 사용자 간의 호환성을 확보해야 합니다. 사용자 편의성 고려 패키징 도구를 선택할 때 사용자의 입장에서 불편할 수 있는 문제를 고려하여 사용자 편의성을 고려해야 합니다. 적합한 암호화 알고리즘 선택 적합한 암호화 알고리즘을 선택하여 소프트웨어의 보안을 강화하고, 배포 시 범용성에 지장이 없도록 고려해야 합니다.
- 제품 소프트웨어 저작권 보호의 이해와 필요성
- 저작권(Copyright)의 이해
저작권은 창작물인 저작물에 대한 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한이다.
- 저작권 보호 기술의 개념
- 저작권 보호 기술은 콘텐츠 및 컴퓨터 프로그램과 같이 복제가 용이한 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법이다.
- 저작권 보호 기술은 다음과 같은 특성을 가진다.
특성 설명 콘텐츠 복제 허용 사용자가 허용된 경우에 한해 콘텐츠의 복제가 허용되며, 이때 사용자 확인을 거친 후 과금이 진행되거나, 제한된 경우에만 허용됩니다. 종량제 종량제 제품 소프트웨어의 경우, 이용 시간에 따라 요금이 부과되며, 이러한 요금 부과는 클리어링 하우스를 통한 이용시간에 비례하여 과금됩니다. 암호화/보안 기능 • 패키징 도구는 암호화/보안 등의 기능을 고려
• 패키징 제작자가 지정한 Business Rule과 암호가 함께 패키징되어 배포
- 저작권 보호 기술의 필요성
- 배포된 제품 소프트웨어의 무한 복제가 가능하고 원본과 복사본이 동일하게 배포될 특성을 가지고 있는 소프트웨어에 대한 저작권 보호 기술이 필요하다.
- 제품 소프트웨어가 상용으로 배포되면 다양한 부가가치를 가질 수 있는 상품으로 바뀜에 따라 패키징 시에 원작자에 대한 권리 보호자가 우선적으로 필요하다.
- 저작권(Copyright)의 이해
- 저작권 보호 측면의 패키징 도구 활용
- 디지털 저작권 관리(DRM)
- 디지털 저작권 관리(DRM; Digital Right Management) 기능 활용
- 중앙의 클리어링하우스에서 콘텐츠 제공자, 분배자, 소비자 간의 패키징 배포 및 키 관리, 라이선스 발급 관리를 수행한다.
- DRM 구성요소는 저작권 관리 구성요소라고도 한다
구성요소 설명 콘텐츠 제공자 콘텐츠를 생성하고 제공하는 저작권자를 가리킵니다. 콘텐츠 소비자 콘텐츠를 소비하고 사용하는 주체를 의미합니다. 콘텐츠 분배자 콘텐츠를 암호화하여 유통하는 곳이나 개인을 지칭합니다. 클리어링 하우스
(Clearing House)• 저작권에 대한 사용 권한, 라이센스 발급, 사용량에 따른 관리 등을 수행하는곳
• 키 관리 및 라이센스 발급 관리
• 콘텐츠 권한 정책, 라이센스를 관리를 수행
콘텐츠 권한 정책:
• 라이센스 발급 여부를 결정하는 정책에 대한 부합 여부 확인
• 적절한 사용 권한을 부여하는 역할 수행
콘텐츠 라이센스
• 클리어링 하우스에 의해서 사용자에게 전달되는 콘텐츠의 권리 인증
• 콘텐츠에 대한 사용 조건 및 허가 정보를 포함DRM 콘텐츠
(DRM Contents)- 서비스하고자 하는 암호화된 콘텐츠, 콘텐츠와 관련된 메타데이터, 콘텐츠 사용정보를 패키징하여 구성된 콘텐츠 패 키저
(Packager)• 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶는 도구 DRM 컨트롤러
(DRM Controller)• 배포된 디지털 콘텐츠의 이용 권한을 통제 보안 컨테이너
(Security Container)• 원본 콘텐츠를 안전하게 유통하기 위한 전자적 보안장치
- 암호화/보안 기능 중심의 패키징 도구 기술 활용
- 올바른 패키징 도구의 활용을 위해서는 암호화/보안 기능 중심의 요소 기술을 정확히 이해하고 있어야 한다.
- 이 기술을 바탕으로 패키징 작업 시에 도구를 이용하여 나오는 결과물에 대해서도 신뢰할 수 있도록 작업이 되어야 한다.
구성요소 설명 암호화 일반 텍스트, 콘텐츠, 라이선스 등을 암호화하고 전자서명하는 기술입니다. 키 관리 콘텐츠를 암호화하는 데 사용되는 키를 관리하고 저장하는 기술입니다. 식별기술 콘텐츠에 대한 식별 체계를 표현하고 관리하는 기술입니다. 저작권 표현 콘텐츠의 라이선스 내용을 표현하고 관리하는 기술입니다. 암호화 파일 생성 콘텐츠를 암호화하여 보호하는 기술입니다. 정책 관리 라이선스 발급 및 사용에 대한 정책을 표현하고 관리하는 기술입니다. 크랙 방지 크랙에 의한 콘텐츠 사용을 방지하기 위한 기술로, 난독화 등이 사용될 수 있습니다. 인증 라이선스 발급 및 사용의 기준이 되는 사용자 인증을 위한 기술입니다. 암호화 파일 생성 콘텐츠를 암호화하여 보호하는 기술입니다. 정책 관리 라이선스 발급 및 사용에 대한 정책을 표현하고 관리하는 기술입니다. 크랙 방지 크랙에 의한 콘텐츠 사용을 방지하기 위한 기술로, 난독화 등이 사용될 수 있습니다. 인증 라이선스 발급 및 사용의 기준이 되는 사용자 인증을 위한 기술입니다.
- 암호화
- 공개키 기반구조(PKI): 공개키 암호 방식을 기반으로 한 인증서를 사용하여 안전한 통신을 가능하게 하는 기술입니다.
- 대칭 및 비대칭 암호화: 대칭 암호화는 동일한 키를 사용하여 암호화와 복호화를 수행하는 방식이며, 비대칭 암호화는 암호화와 복호화에 각기 다른 키를 사용하는 방식입니다.
- 전자서명: 특정 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보로, 서명자를 확인하고 해당 문서에 서명했다는 사실을 나타냅니다.
- 식별 기술
- DOI(Digital Object Identifier): 디지털 저작물에 고유한 번호를 부여하여 저작권 보호 및 위치 추적을 위한 바코드 시스템입니다.
- URI(Uniform Resource Identifier): 인터넷 상의 자원을 고유하게 식별하기 위한 주소 체계로, URL과 URN으로 구성됩니다.
- 저작권 표현
- XrML(eXtensible Right Markup Language): 디지털 콘텐츠의 권리 조건을 표현하기 위한 XML 기반의 마크업 언어입니다.
- MPEG-21: 멀티미디어 요소 기술들이 통일된 형태로 상호 운용성을 보장하는 멀티미디어 표준 규격입니다.
- 암호화 파일 생성
- Pre-packaging : 콘텐츠를 등록하자마자 암호화하는 방법
- On-the-fly Packaging : 사용자가 콘텐츠를 요청한 시점에 콘텐츠를 암호화하는 방법
- 정책 관리
- XML(eXtensible Markup Language) : 다른 특수한 목적을 갖는 마크업 언어를 만드는 데 사용하는 다목적 언어
- CMS(Contents Management System) : 다양한 미디어 포맷에 따라 각종 콘텐츠를 작성, 수집, 관리, 배급하는 콘텐츠 생산에서 활용, 폐기까지 전 공급 과정을 관리하는 기술
- 크랙 방지
- 코드 난독화(Code Obfuscation) :역공학을 통한 공격을 막기 위해 프로그램의 소스 코드를 알아보기 힘든 형태로 바꾸는 기술
- Secure DB : 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술
- 인증
- SSO(Single Sign On): 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 기술
- 디지털 저작권 관리(DRM; Digital Right Management) 기능 활용
- 디지털 저작권 관리(DRM)
- 애플리케이션 배포 도구를 활용한 배포 프로세스
순서 프로세스 설명 1 빌드 내용 식별 릴리즈 노트 작성을 위한 모듈 및 빌드 내용을 식별하고 정리합니다. 2 패키징 도구 식별 사용할 패키징 도구를 선택하고 필요한 설정을 확인합니다. 3 DRM 흐름 확인 및 패키징 수행 콘텐츠 분배자, 배포자, 소비자 간의 DRM(Digital Rights Management) 흐름을 확인하고, 패키징 작업을 수행합니다. 4 패키징 도구 설치 패키징 도구를 시스템에 설치하고 환경에 맞게 설정합니다. 5 배포 작업 제품 소프트웨어를 패키징한 후 배포 작업을 수행합니다. 6 정상 배포 확인 배포된 제품 소프트웨어가 정상적으로 동작하며, 암호화/보안 기능이 제대로 적용되었는지 확인합니다.
제품 소프트웨어 매뉴얼 작성 및 버전 등록
제품 소프트웨어 매뉴얼 작성
- 제품 소프트웨어 매뉴얼 개념
- 제품 소프트웨어 매뉴얼은 사용자 측면에서 패키징 이후 설치, 제품 소프트웨어를 사용하는 데 필요한 주요 내용을 기록한 문서이다.
- 사용자 중심의 기능 및 방법을 나타낸 설명서와 안내서를 의미한다.
- 제품 소프트웨어 매뉴얼은 설치 매뉴얼과 사용자 매뉴얼이 있다.
- 제품 소프트웨어 설치 매뉴얼 작성
- 제품 소프트웨어 설치 매뉴얼 개념
- 제품 소프트웨어 설치 매뉴얼은 사용자가 제품을 구매한 후 설치 시 참조하는 문서이다.
- 제품 소프트웨어 설치 매뉴얼에는 제품 소프트웨어 소개, 설치 파일, 설치 절차 등이 포함된다
항목 설명 목차 및 개요 매뉴얼 전체 내용을 요약하고 순서대로 정리합니다. 문서 이력 정보 매뉴얼 변경 이력에 대한 정보를 버전별로 표시합니다. 설치 매뉴얼 주석 주의 사항과 참고 사항을 포함하여 설치 매뉴얼의 주석을 작성합니다.
주의 사항 : 사용자가 제품 설치 시 반드시 숙지해야 하는 중요한 정보를 주석으로 표시합니다.
참고 사항 : 설치 관련하여 영향을 미치는 특별한 사용자 환경 및 상황에 대한 내용을 주석으로 표시합니다.설치 도구의 구성 exe, dll, ini, chm 등 해당 설치 관련 파일의 설명과 폴더 및 설치 프로그램 실행 파일을 설명합니다.
항목 설명 사용자 환경 CPU, 메모리, 운영체제(OS) 등의 적합 환경을 확인합니다. 응용프로그램 종료 확인 응용프로그램 설치 전 다른 응용 프로그램의 종료 여부를 확인합니다. 업그레이드 이전 버전 확인 업그레이드 버전을 설치하기 전 기존 버전의 존재 여부를 확인합니다. 백업 폴더 확인 데이터 저장 폴더를 확인하여 설치 시 폴더 동기화 여부를 확인합니다.
- 제품 소프트웨어 설치 매뉴얼 기본 작성 항목
- 제품 소프트웨어 설치 매뉴얼 기본 작성 항목은 목차 및 개요, 문서 이력 정보, 설치 매뉴얼 주석, 설치 도구로 구성되어 있다.
- 제품 소프트웨어 설치 매뉴얼 구성요소
- 제품 소프트웨어 설치 매뉴얼은 설치 방법을 순서대로 상세하게 설명할 수 있도록 설치 화면을 캡처하여 사용자가 이해하기 쉽도록 구성한다.
- 설치 실행 시 표시되는 내용 및 안내 창에 대한 메시지를 설명한다.
항목 설명 제품 소프트웨어 개요 주요 기능 및 UI에 대한 설명
• UI 및 화면상의 버튼, 프레임 등을 도식화하여 설명설치 관련 파일 • 제품 소프트웨어를 설치하기 위한 관련 파일 설명
• 설치 구동을 위한 exe 실행 파일
• ini 나 log 파일 같은 관련 파일설치 절차 • 제품 소프트웨어 설치를 위한 상세 절차 설명
• 설치 디렉토리, 위치 설명설치 아이콘 윈도우즈에서의 설치 아이콘에 대한 설명 삭제 방법 • 제품 소프트웨어 삭제 시 원래대로 삭제하는 방법 설명 설치 버전 및 작성자 • 제품 소프트웨어 릴리즈 버전 및 작성자 정보 고객 지원 방법 FAQ • 설치 관련하여 기술적인 지원이나 제품 서비스를 받을 수 있는 유선
및 이메일 홈페이지 주소
• 설치 시 자주 발생하는 오류 및 처리 방법에 대한 요약 설명준수 정보 & 제한 보증 • 시리얼 보존, 불법 등록 人요 금지 등의 준수 사항 권고
• 저작권 정보 관련 사항 작성
- 제품 소프트웨어 설치 매뉴얼 작성 프로세스
제품 소프트웨어 설치 매뉴얼 작성은 개요 및 기능 식별, UI 분류, 설치 파일/백업 파일 확인, 삭제 절차 확인, 이상 유형 확인, 최종 매뉴얼 적용 순의 절차로 구성되어 있다
순서 프로세스 설명 1 개요 및 기능 식별 제품 소프트웨어의 개발 목적과 전체적인 기능을 식별하여 설치 화면과 메뉴를 분류합니다. 2 UI 분류 UI 정의서를 기반으로하여 주요 메뉴 항목을 분류하고 설치 매뉴얼에 작성될 순서를 결정합니다. 3 설치 파일/백업 파일 확인 제품 설치 및 백업 파일명을 확인하고 해당 파일들의 위치를 파악하여 설치 준비를 합니다. 4 삭제 절차 확인 제품을 삭제할 때 필요한 절차를 확인하고 삭제 이후에는 설치 전 상태로의 원복을 최종 확인합니다. 5 이상 유형 확인 설치 중 발생할 수 있는 이상 현상을 확인하고 각 유형에 따른 메시지를 정리하여 테스트를 수행합니다. 6 최종 매뉴얼 적용 설치가 정상 완료되었을 때 결과를 캡처하여 최종 설치 매뉴얼에 적용합니다.
- 제품 소프트웨어 설치 매뉴얼 개념
제품 소프트웨어 사용자 매뉴얼
- 제품 소프트웨어 사용자 매뉴얼 개념
- 제품 소프트웨어 사용자 매뉴얼은 사용자가 소프트웨어 사용에 필요한 내용, 제반 절차, 환경 등의 내용을 포함하는 문서이다.
- 제품 소프트웨어 사용자 매뉴얼에는 개발된 컴포넌트 사용 시에 알아야 할 내용을 기술하며 패키지의 기능, 패키지의 인터페이스, 포함하고 있는 메서드나 오퍼레이션과 메서드의 파라미터 등의 설명이 포함되어 있다.
- 제품 소프트웨어 사용자 매뉴얼 작성 항목
작성 항목 설명 목차 및 개요 매뉴얼 전체 내용을 순서대로 요약하고, 제품 소프트웨어의 주요 특징을 정리합니다.
사용자 매뉴얼에서의 구성과 실행 방법, 메뉴에 대한 설명을 비롯하여 사용법, 각 항목에 따른 점검 기준, 설정 방법 등에 대해 기술문서 이력 정보 • 버전, 작성자, 작성일, 검토자, 일시, 검수인 등을 일자별로 기록 사용자 매뉴얼 주석 주의 사항과 참고 사항으로 구성합니다.
주의 사항 : 사용자가 반드시 숙지해야 하는 중요한 정보의 주석 표시
참고 사항 : 특별한 사용자 환경 및 상황에 대한 내용의 주석 표시기록 항목 제품 명칭, 모델명, 문서 번호, 제품 번호 등의 기록항목을 포함합니다. 기본사항 제품 소프트웨어의 기본 정보를 기록합니다. 개요, 사용방법 및 관리 방법, 모델, 버전별 특징, 제품 소프트웨어 기능 및 인터페이스 특징, 구동환경 등이 포함됩니다. 고객 지원 방법 및 FAQ 설치 관련 기술적인 지원이나 제품 서비스를 받을 수 있는 유선 및 이메일, 홈페이지 주소를 기록하고, 설치 시 자주 발생하는 오류 및 처리 방법에 대한 요약 설명을 포함합니다. 준수 정보 & 제한 보증 시리얼 보존, 불법 사용 금지 등의 준수 사항을 권고하고, 저작권 정보 관련 사항을 작성합니다. - 제품 소프트웨어 사용자 매뉴얼은 사용자가 이해하기 쉽도록 화면을 캡처하여 구성하고, 주요 기능에 대해서는 설명을 첨부한다.
- 제품 소프트웨어 동작 시 함께 동작하는 애플리케이션이나 설치되어 충돌될 수 있는 응용 프로그램에 대해 설명한다.
- 제품 소프트웨어 사용자 매뉴얼 작성 프로세스
순서 프로세스 설명 1 작성 지침 정의 사자 매뉴얼을 작성하기 위한 지침 설정
사용자 매뉴얼은 실제 사용자 혼겨에 필요한 정보를 제공할 수
있는 형태로 작성2 사용자 매뉴얼
구성요소 정의• 제품 소프트웨어의 기능, 구성 객체 목록, 객체별 메서드, 파라
미터, 실제 사용 예제, 사용자 환경 세팅 방법 등의 사용자 매뉴
얼 구성요소를 정의3 구성요소별
내용 작성• 제품 소프트웨어 구성요소별로 내용 작성 4 사용자 매뉴얼 검토 • 작성된 사용자 매뉴얼이 개발된 제품의 기능을 제대로 설명하는
지, 제품 사용 시 부족한 정보가 없는지 등을 검사
• 해당 기능별 관련 개발자와 함께 기능 내용이나 인터페이스, 메서드나 메서드의 파라미터 등을 검토
• 점검 사항을 반영하여 사용자 지침서 수정, 보완
제품 소프트웨어 매뉴얼의 배포용 미디어 제작
- 제품 소프트웨어 배포본
- 제품 소프트웨어 배포본의 개념
- 제품 소프트웨어 배포본은 사용자가 사용하기 편하도록 배포 정보를 포함하.여 개발된 컴포넌트 또는 패키지가 제품화된 형태이다.
- 버전, 시스템이 설치 및 운영을 위한 요구사항, 설치 방법, 달라진 기능, 알려진 버그 및 대처 방법 등을 포함하여 배포한다.
- 제품 소프트웨어 배포본은 최종 완성 단계에서 사용자가 정상 사용할 수 있도록 반드시 공식적인 인증 절차를 통하여 사용자에게 배포되도록 한다.
- 제품 소프트웨어 배포본의 중요 사항
- 제품 소프트웨어의 배포본은 최종 완성된 제품으로 안정성을 고려하여 배포 한다.
- 신규 및 변경 사항을 고려하여 배포본에는 고유 버전 및 배포 단위의 기준을 정한다.
- 배포용 미디어를 제작할 때에는 저작권 및 보안에 유의하여 제작한다.
- 배포본은 자체의 고유 시리얼 넘버(Serial Number)를 반드시 부착하여 복제 및 사후 지원을 고려한다.
- 제품 소프트웨어 배포본의 개념
- 제품 소프트웨어 매뉴얼의 배포용 미디어 제작
- 미디어 제작 시 포함 항목
미디어 항목 설명 버전 정보 제품 소프트웨어 패키징의 버전 정보를 포함합니다. 요구 사양 시스템이 설치되고 운영되기 위한 하드웨어, 소프트웨어의 사양을 포함합니다. 설치 방법 설치 및 운영을 가능하게 하는 방법을 포함합니다. 새로운 기능 이전 버전에 비해 나아진 기능을 포함합니다. 알려진 오류/대처 방법 현재까지 개발된 시스템의 알려진 오류를 기술하고, 대처 방안이 있으면 함께 포함합니다. 제약사항 현재까지 개발된 시스템이 설치, 운영 상에서 어떤 제약사항이 있는지 포함합니다.
- 배포용 미디어 제작 방법
- 오프라인 미디어
- CD와 같은 오프라인상으로 제품을 배포 가능하도록 제작한다.
- CD에는 반드시 고유의 시리얼 넘버를 포함하여 복제 등의 불법 유통을 방지 한다.
- 시리얼 넘버는 이를 체계적으로 등록 관리해야 하며, 미디어 제작과는 별개로 이에 대한 관리 시스템을 사전에 확보해야 한다.
- 배포본에는 패키지 설치 기준의 Install 버전을 작성하고, Document 파일은 사용자 매뉴얼 및 설치 매뉴얼이 전부 포함될 수 있도록 한다.
미디어 제작 단계 설명 오프라인 미디어 준비 CD 등의 오프라인 미디어를 제작하기 위해 필요한 준비를 합니다. 시리얼 넘버 확인 제품의 시리얼 넘버를 확인하여 미디어에 포함시킵니다. 매뉴얼 확인 설치 매뉴얼과 사용자 매뉴얼 Install 파일 확인 제품 설치용 Install 파일이 미디어에 정상 확인합니다. 제작, 정상 동작 확인 미디어를 제작하고, 제작된 미디어가 정상적으로 동작하는지 확인합니다.
- 온라인 미디어
- 최근에는 온라인상에서 제품의 업그레이드나 패치 버전 등을 만들어 배포한다. 업그레이드나 오류 패치, 기능 수정 등은 빈번하게 일어날 수 있으므로, 사용자의 편의를 위해 정식 버전에 한하여 제품 지원을 계속한다.
- 온라인상에서 제작되는 미디어는 그 특성에 맞도록 실행 파일로 통합하여 제작한다.
- 온라인상으로 제작되어 제공되는 내용들은 다음과 같다
- 오프라인 미디어
- 미디어 제작 시 포함 항목
- 제품 소프트웨어 배포용 미디어 제작하기
순서 프로세스 설명 1 배포용 미디어 선정 • 온라인, 오프라인을 조사하여 배포용 미디어 선정 2 관리 체계 확인 시리얼 넘버의 체계 및 룰을 사전에 정의
시리얼 넘버를 일괄 관리할 수 있도록 등록 및 관리 체계를 수립
• 시리얼 넘버 관리 체계를 정립하고 이를 시스템화3 설치 파일 및 매뉴얼 확인 • 설치 파일을 확인하고 실제 설치가 가능한 실행 파일인지 확인
• 설치 매뉴얼 및 사용자 매뉴얼 확인4 최종 배포본 검증 • 배포용 미디어 제작용 버전은 테스트가 완료되었는지 여부를 최종 확인
• 미디어 제작 최종 확인5 배포용 미디어 정보 확인 배포용 미디어에서 SW 및 문서 정보를 추가 확인 6 최종 미디어 인증 확인 및 배포 • 최종 완성본의 테스트가 완료되었는지 확인
• 미디어 작성용 CD에 이상이 없는지 확인
제품 소프트웨어 버전 관리 도구 활용
- 제품 소프트웨어 버전 관리 도구의 활용 방향
- 제품 소프트웨어 개발 조직이나 이미 배포된 제품이 있는 조직에서는 보유 제품 버전과 새로 개발된 버전을 동시에 유지, 관리하여야 한다.
- 버전 관리 도구의 상세 기능을 활용하여 새 버전을 유지하면서 기존 버전의 관리도 함께 수행하여야 한다.
- 백업 및 장애 복구 등의 추가적인 사항도 Case별로 고려해야 한다
- 버전 현황 관리 기법 및 백업, 장애 복구
- 버전 관리 도구를 활용한 통합 버전 현황 관리
- 버전 관리 도구를 활용한 버전 현황 관리 작업에는 기존의 고유한 버전 관리 외에도 버전 관리 도구에서 지원하는 모든 관리 작업 전체를 관리할 수 있어야 한다.
- 버전 관리의 버전별 공동 작업 이외에도 백업 및 복구 작업, 공동 솔루션 기반의 여러 가지 작업 등을 통합, 관리해야 한다
관리 작업 버전 관리 활용 사례 비고 버전 관리 이전 버전으로의 복구 필요시
• 이전 버전의 기능을 재활용시백업, 복구 동일 버전 공동작업 • 동일 버전의 소스 코드를 두 명 이상의 개발자가 수정할경우
• 분산환경에서 두 명 이상의 개발자가 동일한 버전의
소스를 수정할 경우공동 작업, 분산 버전 관리 툴 필요 여러 버전 솔루션 작업 하나의 솔루션을 기반으로 여러 버전의 제품을 개발
할경우브랜치 관리 기능 필요
- 버전 관리 도구 활용한 제품 소프트웨어 소스 및 자료 백업
- 제품 소프트웨어 소스 및 자료 백업의 의미
- 소스 및 자료 백업의 목적은 크게는 천재지변이나 해킹, 작게는 소프트웨어 버그 및 오동작 등으로 인한 각종 재해에 대비해 시스템을 회복 가능한 상태로 만들기 위해 준비하는 것이다
- 손실의 예방 및 최소화를 우선해야 하고, 정작 재해가 발생했을 시는 최단기간에 정상 업무에 복구하도록 버전 관리 도구를 적절히 사용할 수 있어야 한다.
- 백업의 유형
유형 설명 전체 백업 백업받고자 하는 데이터 전체에 대해 백업하는 방식 차등 백업 마지막 전체 백업 이후 변경된 모든 데이터를 백업하는 방식 증분 백업 정해진 시간을 기준으로 그 이후에 변경된 파일만을 백업하는 방식
- 버전 관리 도구 활용 시 자료 백업 정책 및 방법
- 버전 관리 도구를 활용, 제품 소프트웨어 백업은 내부의 정확한 백업 정책을 먼저 세워야 하고, 상세 백업 방법을 공유해야 한다.
- 백업 정책 사례 및 방법은 아래와 같다
구분 방법 백업 정책 - 디스크 백업은 매일 03시에 1회 실시 (단, 일요일은 제외)
- CD 백업은 매주 금요일에 1회 실시
- 실수에 의한 삭제 방지를 위해 백업은 최소 D-2일분 이상 보관백업 방법 - 버전 관리 라이브러리에 대한 백업 파일은 저장된 디스크와 분리된 디스크에 저장
- 백업은 완전 백업(Full Backup)으로 실시
- 백업 작업에 대한 요청 또는 중지는 절차에 따라 진행
- 백업 결과는 주기적으로 점검되며 버전 관리 정기 보고 시 함께 보고함
- 디렉토리를 신규로 만들며 물리적 복사(저장소 백업)
- Git 자체가 소스 코드 백업용으로 쓰이지만, 2차 백업 개념으로 ./.Git 폴더의 내용 디 렉토리를 물리적으로 다른 곳에 보관하여 백업한다.
- 버전 관리 도구의 백업 기능 활용(Git 번들)
- Git 저장소(Repository)의 번들을 생성하는 프로세스를 통해 백업 자체를 버전 관리 도구에서 자동화하여 백업을 진행해주는 백업 방법이다.
- 제품 소프트웨어 소스 및 자료 백업의 의미
- 버전 관리 도구를 활용한 통합 버전 현황 관리