본문 바로가기

기술사 준비/SW공학 - 개발 방법론

[SW공학] CBD

반응형

아래 내용은 예문사의 '정보처리기술사 개정 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 - 컴포넌트 재사용을 통한 생산성 향상 및 비용 절감


 

반응형