2013년 3월 24일 일요일

CBD 방법론

문) CBD 방법론
답)
1. 컴포넌트 재사용을 통해 생산성을 향상시키는 CBD 방법론 개요
 가. CBD(Component Based Development)방법론의 정의
  - 컴포넌트 개발, Repository에 저장, 컴포넌트 조립을 통해 재사용성과 비즈니스 적시성을 향상시키는 개발방법론
 나. CBD 방법론의 진화형태
  - Product Line : 제품중심 Core Assets 식별, CBD기반 개발
  - SoA : 공유와 재사용 가능한 서비스를 컴포넌트와 조합
2. CBD 방법론의 주요 특징
 가. CBD 방법론의 주요 특징
  1) UseCase Driven : 사용자 요구사항분석으로 컴포넌트 식별
  2) Blackbox Reuse : I/F 기반의 컴포넌트 호출
  3) Iteration : 개발단계 반복을 통해 위험을 최소화
  4) Lossely Coupled : MVC 모델에 기반한 약결합 구현
 나. CBD 방법론 절차
  1) 컴포넌트개발(CD) : UseCase로 컴포넌트 식별하고 개발, 저장소 저장
  2) 컴포넌트조립(CBSD) : 기존 컴포넌트를 조립하여 SW개발
 다. CBD 방법론의 종류
  1) UP(Unified Process) : UML기반, 아키텍처중심, 2차원구조(동적,정적)
  2) 마르미III : 한국형, 분석강조, 미니프로젝트 반복, 프로토타입 후 진행
  3) Catalysis : UML표기기반 CBD, 분산시스템 모델링/구축
3. CBD 개발 SW의 평가요소
 가. 응집도 : 컴포넌트 기능의 충실도, 높을수록 좋음
 나. 결합도 : 컴포넌트간의 관련성, 낮을수록 좋음
 다. 독립성 : 플랫폼 종속성 여부, 종속되지 않아양 함
 라. Round Trip Engineering : 분석/설계/구현/테스트 자동화 도구 지원 여부
====================추가사항=====================================
1. CBD 방법론의 장점
 가. 생산성 : 부품 조립을 통해 APP 개발시간 단축 및 개발 생산성 향상
 나. 변경용이성 : 요구사항 수용에 안정적이고 신속한 변경 가능
 다. 재사용성 : 바이너리 기반의 재사용 및 컴포넌트 대체 용이
 라. 관리용이성 : 독립적인 컴포넌트 단위로 복잡성 최소화
 마. 기술집약성 : 기술 숙련에 대한 검증, 아키텍처, 프레임워크,분산객체 기술 등

2. 컴포넌트 식별 방법
 가. 유즈케이스 시나리오 분석을 통한 컴포넌트 도출
  - include : 동일하게 반복되는 <> 관계의 유즈케이스 도출
  - extend : 특정조건에 의해 수행되는 <> 관계의 유즈케이스 도출
 나. 설계단계의 UI Layout 설계 혹은 UI 네비게이션 설계 시 도출
  - 공통 UI(공통화면일경우), 공통UI컨트롤(페이지 Up/Down 등 상/하위 컨트롤 도출)
 다. <>클래스 상관관계 분석을 통한 컴포넌트 도출 : Core클래스+종속클래스그룹핑
 라. Usecase와 <>클래스의 상관관계 분석으로 도출
 마. 전문가판단
끝.