2013년 3월 19일 화요일

DDD

문) DDD
답)
1. 도메인 중심 개발 실용화, DDD의 개요
 가. DDD(Domain Driven Development)의 정의
  - 객체지향적 개발을 기반으로 특정 도메인의 요구정의 및 분석과정을 기법 및 방법론, 절차를 정의한 개발 기법
 나. DDD의 주목 이유
  - 요구와 구현의 갭 : 요구 충실화 어려움, 분석의 사용자 검증 어려움
  - 객체지향의 한계 : 객체지향 언어을 절차적으로 구현하는 한계
2. DDD의 주요 구성 항목 및 주요 활용 요소
 가. DDD의 주요 구성 항목
  - Main Model : 도메인 영역을 모델링 언어로 사용자 관점정의
  - Sub Model : Main Model의 특정 부분 개발위한 상세 모델
  - Shared Kernel : AOP의 Cross Cutting 관심과 같은 공통 모듈
  - Ubiquotuos Lanaguage : SOA, UML, BPMN 중 한가지로 통일된 언어 사용
  - Glossary : 사용 용어 통일을 위한 Vocabulary 역할
 나. DDD의 적용 위한 주요 활용 요소
  - AOP : 횡단관심사항과 Core 관심사항의 분리 및 위빙
  - DI/IoC : 객체간 종속 제거, 컨테이너에 종속 제어 구조
  - 디자인패턴 : 설계 구조 효율화, 객체지향성 향상
  - UML 모델링 : Main/Sub Model의 모델링 구현
3. DDD의 기대효과 및 전망
 가. 요구 충실성 : 사용자 요구와 구현간의 갭 최소화
       제어 효율화 : 객체 중심의 제어구조, MVC 구현 강화
 나. 개발 저변화 : 전문가 확보 및 개발 기법의 명확성 확보
       생산성 검증 필요 : Pilot 프로젝트 통한 생산성 안정성 검증 필요
끝.