CBD(Component Based Development)(ê³ì)
CBD(Component Based Development)(ê³ì)
CBD(Component Based Development)(ê³ì)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
소프트웨어공학<br />
<strong>CBD</strong><br />
작성자 : 서경석 정보처리기술사(행정자치부)<br />
2005년 상반기<br />
[송희경기술사 hksong@disc.co.kr ]<br />
0
<strong>CBD</strong>(<strong>Component</strong> <strong>Based</strong> <strong>Development</strong>)<br />
1. <strong>CBD</strong>(<strong>Component</strong> <strong>Based</strong> <strong>Development</strong>)의 개요<br />
1) <strong>Component</strong>의 정의<br />
- 특정한 기능을 수행하기 위해 독립적으로 개발, 보급하고 잘정의된 인터페이스를<br />
가지며 다른 부품과 조립되어 응용시스템을 구축하기 위해 사용되는 S/W 단위<br />
2) <strong>CBD</strong>의 정의<br />
- 하드웨어의 조립생산 개념을 소프트웨어 개발에 적용하여 Software IC개념을<br />
구현한 개발방법론 (S/W IC 조립식)<br />
- 컴포넌트의 생산, 선택, 평가 및통합으로 구성되는 새로운 개발 패러다임<br />
3) <strong>CBD</strong>의 출현배경<br />
구조적방법론 정보공학방법론 객체지향 방법론 <strong>CBD</strong>방법론<br />
4) 객체지향프로그램의 문제점<br />
구분<br />
기술적 측면<br />
프로세스 측면<br />
내용<br />
-OOP에는 Binary 형태의 표준이 없음<br />
-OOP의 각 객체는 같은 컴파일러 사용<br />
- 실제 재사용 가능한 소프트웨어를 이용한 개발이 거의 없음<br />
- 대규모 프로젝트에서는 확장성 떨어짐<br />
[송희경기술사 hksong@disc.co.kr ]<br />
1
<strong>CBD</strong>(<strong>Component</strong> <strong>Based</strong> <strong>Development</strong>)(계속)<br />
2.컴포넌트 특성<br />
Externalization<br />
Event Model<br />
Properties<br />
Customization<br />
Persistence<br />
Remote I/F<br />
Packaging<br />
외부 인터페이스<br />
컴포넌트간 통신<br />
속성 정보<br />
개발자 목적에 맞게 수정가능<br />
변경 상태 유지<br />
분산 환경, 원격지 호출<br />
코드, 데이터, 유통에 맞게 포장<br />
3. <strong>CBD</strong>의 특징<br />
-Object <strong>Based</strong>(no-inheritance)<br />
- 구현은 OO가 아닐 수 있음<br />
(인터페이스와 구현의 분리<br />
-Legacy code 객체화 사용<br />
- 객체가 아닌 것도 컴포넌트로 사용가능<br />
Object Wrapping기술<br />
인터페이스에 초점)<br />
[송희경기술사 hksong@disc.co.kr ]<br />
2
<strong>CBD</strong>(<strong>Component</strong> <strong>Based</strong> <strong>Development</strong>)(계속)<br />
4. <strong>CBD</strong>의 장점<br />
구분<br />
생산성<br />
유용성<br />
확장성<br />
유지보수용이<br />
재사용성<br />
고품질<br />
- 개발 기간단축<br />
- 동일 로직의 반복 구현 거부 및최소투자 최대 효용성 확보<br />
- 다른 컴포넌트에 영향없이 새로운 기능 추가 용이<br />
- 당 컴포넌트에 대해 일관된 유지보수 가능<br />
- 변화 부분 반영시 수정 용이<br />
- 다양한 시스템 환경의 통합적 시스템 구축 및운영가능<br />
- 조직내 동일 비즈니스 로직의중복 관리 제거<br />
- 프로그램 품질보증<br />
내용<br />
5. 구축요소기술<br />
구분<br />
내용<br />
컴포넌트 생산<br />
기술<br />
컴포넌트 사용<br />
기술<br />
[송희경기술사 hksong@disc.co.kr ]<br />
- 재사용 설계/개발<br />
- 디자인 패턴및프레임워크<br />
- 재공학<br />
- 컴포넌트 정형명세<br />
- 영역(Domain) 공학<br />
- 컴포넌트 인증<br />
- 재사용 정보저장소(Reuse Repository)<br />
- 재사용에 의한 설계/개발<br />
- 영역 공학<br />
- 재사용 매트릭스<br />
3
<strong>CBD</strong>(<strong>Component</strong> <strong>Based</strong> <strong>Development</strong>)(계속)<br />
6. <strong>CBD</strong> 개발절차<br />
컴<br />
포<br />
넌<br />
트<br />
생<br />
성<br />
업무영역<br />
분석<br />
업무영역<br />
설계<br />
컴포넌트<br />
추출<br />
컴포넌트<br />
레파지토리<br />
Classification<br />
Configuration Manager<br />
컴포넌트<br />
설계<br />
컴포넌트<br />
자격부여<br />
컴포넌트<br />
구현<br />
컴포넌트<br />
배포<br />
Retrieval/Explanation<br />
<strong>Component</strong><br />
Design Pattern<br />
컴<br />
포<br />
넌<br />
트<br />
활<br />
용<br />
신규 응용<br />
탄생<br />
컴포넌트<br />
Customization<br />
컴포넌트 조립<br />
(Composition)<br />
<strong>CBD</strong><br />
설계<br />
응용 요구사항<br />
[송희경기술사 hksong@disc.co.kr ]<br />
4
<strong>CBD</strong>(<strong>Component</strong> <strong>Based</strong> <strong>Development</strong>)(계속)<br />
7. <strong>CBD</strong>를 위한 주요성공요인 (CSF)<br />
1) 표준<br />
– 상호 운용성 (COM / CORBA / JavaBeans)<br />
– 스펙의 모델링과 스펙 교환<br />
2) 컴포넌트의 이용가능성과 사용성<br />
3) 컴포넌트적인 사고, 실습, 비즈니스 모델을 지원할 수있는조직의준비<br />
4) 컴포넌트의 개발과 조립을 가능케하는 방법론/툴/환경<br />
5) 실제적이고 효과적인 테크닉, 가이드 라인<br />
8. <strong>Component</strong> 산업의 문제점<br />
- 공용 컴포넌트 부족 및컴포넌트 공유 체제 미흡<br />
- 컴포넌트 개발기반 기술 및전문업체 부족<br />
- 컴포넌트 기반의 활용 환경이 조성되어 있지 않음<br />
- 컴포넌트의 특성을 반영한 유통 구조 미비<br />
[송희경기술사 hksong@disc.co.kr ]<br />
5
<strong>CBD</strong>(<strong>Component</strong> <strong>Based</strong> <strong>Development</strong>)(계속)<br />
9. <strong>Component</strong>산업 활성화방안<br />
1) 공용 컴포넌트 개발 및관리체계 수립 2) 컴포넌트 기술개발 지원<br />
3) 전문업체 육성 4) 국내 컴포넌트 활용 환경 조성<br />
5) 유통 체제 구축 6) 수출 촉진 대책<br />
정보통신<br />
부<br />
산자부<br />
<strong>CBD</strong>개발지원<br />
Template 개발지원<br />
전문업체 육성<br />
활용환경조성<br />
수출촉진 대책<br />
컴포<br />
트<br />
전문<br />
체<br />
넌<br />
업<br />
공용컴포넌트<br />
관리체계<br />
Repository수립<br />
유통체계구축<br />
용역<br />
체<br />
업<br />
S/W개발<br />
업체<br />
<strong>CBD</strong>방법론 개발/<br />
적용<br />
저가,고품질S/W공급<br />
개발기간 단축<br />
발주<br />
체<br />
업<br />
10. 발전 전망<br />
1) 새로운 패러다임 프레임워크 구축<br />
2) 소프트웨어 공학 주요영역으로 자리 매김, 시장증가<br />
3) 분산객체(DCOM, EJB, CORBA)<br />
[송희경기술사 hksong@disc.co.kr ]<br />
6