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
'Development > Software Engineering' 카테고리의 다른 글
저작권 보호 측면의 패키징도구 활용 - 패키징 수행과 디지털 저작권 관리(DRM)의 절차 및 흐름, 암호화/보안 기능 중심의 패키징도구 기술 및 활용 (0) | 2018.12.28 |
---|---|
Stackoverflow - Developer Survey Results 2018 (0) | 2018.12.23 |
매뉴얼의 요건 (0) | 2018.12.12 |
크로스 컴파일러(cross compiler) (0) | 2018.12.07 |
EXPLAIN PLAN 활용 - Explain Plan 준비, Explain Plan 실행, EXPLAIN PLAN & Autotrace 결과 화면(예시) (0) | 2018.12.04 |