반응형
아래 내용은 예문사의 '정보처리기술사 개정 4판 1쇄'를 기본으로, 필자의 이해를 덧붙여 요약 및 정리한 자료임을 명시합니다.
CBD
CBD(Component Based Development)의 정의
- 컴포넌트의 재사용을 통해 개발 생산성 향상, 개발기간 단축 및 신뢰성 높은 SW를 생산할 목적으로 컴포넌트를 생성, 조립하여 소프트웨어를 개발하는 개발방법론
CBD의 특징
특징 | 설명 |
생산성 | 부품 조립을 통한 어플리케이션 개발 시간 단축, 개발생산성 향상 |
고품질 | 품질이 검증된 컴포넌트 사용, 품질을 고려한 컴포넌트 설계/구현 |
재사용성 | 실행기반 재사용, 모델/프레임워크 재사용 → 개발기간 단축 |
변경용이성 | 요구사항 변화에 유연하고 신속한 변경 가능 |
기술 집약성 | 기술 숙련에 집중 가능(아키텍처, 프레임워크, 분산객체) |
관리 용이성 | 독립적인 컴포넌트 단위의 관리로 복잡성 최소, 제작주기 예측 가능 |
CBD 개발 프로세스
1) CD (Component Development)
비즈니스 요구사항 |
→ | 도메인 분석 |
→ (핵심) |
도메인 설계 |
→ | 컴포넌트 추출 |
→ | 컴포넌트 설계 |
→ | 컴포넌트 구현 |
2) CBSD (Component Based Software Development)
┌ │ │ │ ↓ |
─ |
─────── |
─ |
───── |
┐ │ │ │ │ |
(컴포넌트 구현) | 인증 ↓ |
||||
어플리케이션 요구사항 |
→ | 요구사항 분석 |
→ | 설계 | → | 조립 | → | 응용시스템 | └ | Repository |
CBD의 요소기술
구분 | 요소기술 |
컴포넌트 생산 조립 기술 | CORBA, DCOM, COM+, EJB 등 |
컴포넌트 사용 기술 | Repository, Billing, DRM, Watermark 등 |
컴포넌트 기반 개별 프레임워크 | J2EE, .NET 등 |
품질 평가 및 인증 기술 | ISO 9126, ISO 12119, ISO 14598, ISO 25000 (SQuaRE) 등 |
반응형
CBD와 객체지향 방법론 비교
비교항목 | 객체지향 방법론 | CBD |
개발초점 | 신규 개발 | 검색과 조립 |
상호운용성 | 낮음 | 매우 높음 |
확장방법 | 상속, Dynamic Binding | 인터페이스(명세/구현 분리) |
조립방법 | 재컴파일 후 실행 | 조립만 수행하고 실행 |
재사용성 | 객체 기반 재사용 | 컴포넌트 기반 재사용 |
국내 컴포넌트(CBD) 산업의 문제점
- 공용 컴포넌트 부족 및 컴포넌트 공유 체계 미흡(COTS 컴포넌트 부족)
- COTS: Commercial Off-The-Shelf, 상용 독립 컴포넌트
- 컴포넌트 개발 기반기술 및 전문업체 부족
- 컴포넌트 기반 활용 환경 및 컴포넌트 특성을 반영한 유통구조 미비
국내 컴포넌트 산업의 활성화 방안
- 공용 컴포넌트 개발 및 관리체계 수립 (COTS 컴포넌트 보급)
- 컴포넌트 기술 개발 지원 및 전문업체 육성
- 국내 컴포넌트 활용 환경 및 유통체계 구축, 수출 촉진대책 마련
성공적인 CBD 구축 방안
구분 | 내용 |
수행조직 | 컴포넌트 개발팀, 솔루션 개발팀, 지원팀 등 명확한 역할 분담 |
표준/방법론 | UML, RUP 활용, J2EE, .NET 등 실행환경 표준화 |
아키텍처 | 시스템 상호간의 인터페이스와 상호작용 사전 정의 필요 |
정책 | 개발자들이 컴포넌트에 대한 긍정적 마인드를 갖도록 고취 |
CBD의 향후전망
- 컴포넌트 기반의 아키텍처 재사용(MDA/MDD), 제품 라인(Product Line)에 의한 재사용으로 발전
- SOA, Web Service 출현 이후 컴포넌트의 서비스화로 진화 발전 예상
Component 추출 기법
- 객체 모형에 의한 방법: Entity/Boundary/Control Class를 식별 후, Control Class 중심으로 Core type 식별
- 공통 Use Case에 의한 방법: Include, Extend 관계의 Use Case 대상으로 공통성/가변성 고려하여 식별
- UI 흐름에 의한 방법: 공통 UI 컴포넌트 중심으로 식별
- 도메인 전문가를 활용한 컴포넌트 도출 등
CBD 프로젝트 수행 시 고려사항
구분 | 설명 |
적용대상 측면 | - 프로젝트 규모와 개발된 컴포넌트 재사용 가능 여부 확인 - 아키텍처 선 정립 및 재사용 컴포넌트 명확히 정리 |
프로세스 측면 | - 개발업무의 프로세스 확립 및 표준화가 이루어져야 함 |
프로젝트 수행조직 측면 | - 개발인력에 대한 CBD 사전 교육 필요 - CBD 프로세스, 방법론, Tool 및 도출기법 이해 |
효과적인 CBD 활용 전략
구분 | 설명 |
재사용 전략 수립 | - COTS 등 이미 상용화된 컴포넌트를 외부에서 공급받고, 검증된 컴포넌트 사용 및 기존 설계기법 최대한 활용 |
품질정책 수립 | - 개발조직의 성숙도 평가를 통한 컴포넌트 품질관리방안 마련 |
상호운용성 고려 | - 하나의 컴포넌트 다양한 환경에서 활용될 수 있도록 고려 - EA/ITA 적용 통해 전사적 측면의 상호운용성 고려 |
CBD 프로젝트의 특징
특징 | 설명 |
Architecture Centric | - 컴포넌트 추출, 개발 및 조립을 위한 시스템에 대한 사전 아키텍처 수립 |
Use Case Driven | - Use Case로부터 사용자 요구사항을 식별하여 비즈니스 관점의 컴포넌트 도출 |
Iteration & Incremental | - CBD에 적합한 SW개발 프로세스 모델은 반복/증분형 모델 |
Reuse | - 컴포넌트 재사용을 통한 생산성 향상 및 비용 절감 |
반응형
'기술사 준비 > SW공학 - 개발 방법론' 카테고리의 다른 글
[SW공학] 객체지향 방법론 (0) | 2022.01.16 |
---|---|
[SW공학] 정보공학 방법론 (0) | 2022.01.16 |
[SW공학] SDLC (Software Development Life Cycle) (0) | 2022.01.13 |