12.05.2015 Views

CBD(Component Based Development)(계속)

CBD(Component Based Development)(계속)

CBD(Component Based Development)(계속)

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!