SUMMARY - 소프트웨어 모듈화, 소프트웨어의 모듈 및 패키징, 제품 소프트웨어 패키징의 개요, 패키징에서의 릴리즈 노트의 파악, 패키징 도구를 활용한 설치, 배포 수행하기

CODEDRAGON Development/Software Engineering

반응형


 

소프트웨어 모듈화

·         기능단위로 분해하고 추상화되어 재사용 공유 가능한 수준으로 만들어진 단위를 모듈로 규정하고 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 수정이 용이하도록 하는 소프트웨어 설계 기법을 모듈화라고 한다.

·         모듈화를 함으로써 프로그램의 효율적인 관리가 가능하다.

·         기능의 분리가 가능하고 인터페이스가 단순하며 오류 파급 효과를 최소화할 있다.

·         전체적인 소프트웨어 이해의 용이성이 증대하고 복잡성이 감소되며 소프트웨어 시험, 통합 수정 용이성을 제공한다.

http://codedragon.tistory.com/6139

 

 

소프트웨어 모듈화와 패키지 관련 용어

용어

설명

모듈

·         프로그램을 구성하는 구성 요소의 일부로 관련된 데이터와 함수들을 묶은 .

결합도

·         모듈 다른 모듈 간의 상호 의존도 또는 연관 관계.

·         결합도 낮은 프로그램 코드는 모듈 내의 에러가 다른 모듈 영향을 미치는 파급효과의 최소화가 가능하며, 모듈 변경이 다른 모듈 영향을 미치지 않고 모듈 유지 보수 변경이 가능합니다.

응집도

·         모듈 해당 기능을 수행하기 위해 얼마만큼의 연관된 책임과 아이디어가 속해 있는지 나타내는 정도.

·         일반적으로 프로그램의 여러 요소가 특정 목적을 위해 밀접하게 연관된 기능들을 모아서 구현하고, 지나치게 많은 일을 하지 않으면 응집도 높다고 표현합니다.

좋은 프로그램

·         낮은 결합도 높은 응집도 가질 좋은 프로그램 라고 말할 있습니다.

http://codedragon.tistory.com/6139

 

 

 

 

소프트웨어의 모듈 패키징

http://codedragon.tistory.com/6139

 

 

 

제품 소프트웨어 패키징의 개요

http://codedragon.tistory.com/6108

 

 

 

 

패키징에서의 릴리즈 노트의 파악

·         릴리즈 노트는 조직의 최종 사용자 고객과 정리된 릴리즈 정보를 공유하는 문서이다. 상세 서비스를 포함하여 회사가 제공하는 제품을 만들어 수정, 변경 또는 개선하는 일련의 작업이며, 릴리즈 정보들이 이러한 문서를 통해 제공된다.

 

·         릴리즈 노트에는 테스트 결과 정보가 포함된다.

 

·         사용자에게 보다 확실한 정보를 제공하며 기본적으로 전체적인 제품의 수행 기능 서비스의 변화를 공유한다.

 

·         릴리즈 노트 작성시 현재 시제로 작성되어야 하며 명확하고 정확하며 완전한 정보() 제공해야 한다.

http://codedragon.tistory.com/6093

 

 

 

 

패키징 도구를 활용한 설치, 배포 수행하기

Step1.신규 패키징 제품의 모듈, 빌드 내용을 식별한다.

Step2.암호화/보안 중심의 패키징 도구를 식별한다.

Step3.DRM 흐름을 확인하여 패키징을 수행한다.

Step4.검토된 패키징 도구를 설치 작업을 진행한다.

Step5.검토된 패키징 도구를 활용하여 배포 작업을 진행한다.

Step6.최종 패키징 완료 암호화/보안 기능이 정상적으로 적용되었는지 확인한다.

http://codedragon.tistory.com/6145

 

 

 

 

 

저작권 보호 기술의 특성

·         콘텐츠 복제의 제한적 허용만 가능합니다. 복제는 허용하나 사용자 확인을 거쳐 과금, 제품 소프트웨어 패키징 시에 사용자 확인에 대해 상용화 과금 정책 수립이 연계됩니다.

·         종량제 BM(Business Model) 갖는 제품 소프트웨어의 경우 요금 부과는 Clearing House 통한 이용시간에 비례한 과금(종량제 실현) 부과합니다.

·         패키징 도구는 암호화/보안 등의 기능을 고려해야 합니다. 따라서 패키징 제작자가 지정한 Business Rule 암호가 함께 Packaging되어 배포됩니다.

http://codedragon.tistory.com/8214

 

 

 

 

저작권 관리를 이루는 구성 요소

구성 요소

콘텐츠 제공자

(Contents Provider)

콘텐츠를 제공하는 저작권자

콘텐츠 분배자

(Contents Distributor)

쇼핑몰 등으로써 암호화된 콘텐츠 제공

패키저(Packager)

콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능

보안 컨테이너

원본을 안전하게 유통 하기위한 전자적 보안 장치

DRM 컨트롤러

배포된 콘텐츠의 이용 권한을 통제

클리어링 하우스

(Clearing House)

관리 라이선스 발급 관리

http://codedragon.tistory.com/8157

 

 

 

패키징 도구 구성 요소

구성 요소

설명

암호화

(Encryption)

콘텐츠 라이선스를 암호화하고, 전자 서명을 있는 기술

PKI, Symmetric/Asymmetric Encryption,  DiGital Sinature

관리

(Key Manangement)

콘텐츠를 암호화한 키에 대한 저장 배포 기술 (Centralized, Enveloping)

암호화 파일 생성

(Packager)

콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술

Pre-packaging, On-the-fly Packaging

식별 기술

(Identification)

콘텐츠에 대한 식별 체계 표현 기술

DOI, URI

저작권 표현

(Right Expression)

라이선스의 내용 표현 기술

XrML/MPGE-21 REL, ODRL

정책 관리

(Policy management)

라이선스 발급 사용에 대한 정책표현 관리기술

XML, Contents Management System

크랙 방지

(Tamper Resistance)

크랙에 의한 콘텐츠 사용 방지 기술

Code Obfuscation, Kernel Debugger Detection, Module Certification

Secure DB, Secure Time Management, Encryption

인증

(Authentication)

라이선스 발급 사용의 기준이 되는 사용자 인증 기술

User/Device Authentication, SSO, DiGital Certificate

http://codedragon.tistory.com/8157