CBD 방법론
IT 위키
더 많은 작업
- Component Based Development
- 컴포넌트 단위의 개발/조립/유지보수를 통해 현대경영이 필요로 하는 정보시스템의 신속한 구축, 변경 확장의 용이성, 타 시스템과의 호환성을 달성하고자 하는 SW 공학 프로세스, 방법론 및 기술의 총체적 개념
- 생산성: 부품의 조립을 통한 개발 시간 단축
- 변경용이성: 요구사항 변경에 대한 안정적인 대처 가능
- 관리용이성: 독립적인 컴포넌트 단위의 관리로 복잡성을 최소화
- 재사용성: 실행기반의 재사용, 모델의 재사용
- 고품질: 품질이 검증된 컴포넌트 사용
독립적으로 개발된 소프트웨어 패키지로서 이를 조립하여 완성된 소프트웨어를 개발할 수 있도록 만들어진 모듈화 된 소프트웨어
- SUN의 EJB : JAVA 언어로 구현된 서버 컴포넌트
- MS의 COM+ : VB, C# 등의 언어를 이용해 구현
- 도메인 분석
- 도메인 설계
- 컴포넌트 추출
- 컴포넌트 설계
- 컴포넌트 구현
- 컴포넌트 인증
- 컴포넌트 디자인 패턴
- 컴포넌트 배포
- 컴포넌트 조립
- 요구사항 정의
- 영역 분석
- 컴포넌트 기반설계
- 응용시스템
이미 있는 컴포넌트를 재사용해 애플리케이션을 만들 때는 다음 활동을 거친다.
- 컴포넌트 검증(Qualification): 후보 컴포넌트가 요구되는 기능과 품질을 갖췄는지, 인터페이스가 맞는지 조사한다
- 컴포넌트 개작(Adaptation): 아키텍처에 맞지 않는 부분을 맞춘다. 아래의 래핑을 쓴다
- 컴포넌트 합성(Composition): 검증·개작·새로 개발한 컴포넌트를 아키텍처에 따라 조립해 애플리케이션을 만든다
- 컴포넌트 갱신(Update): 새 판이 나오면 바꿔 끼운다
컴포넌트를 감싸는 코드(래퍼)를 붙여 다른 시스템에 맞추는 개작 기법이다. 내부를 얼마나 보고 고칠 수 있느냐에 따라 셋으로 나눈다.
| 구분 | 내부 코드 | 방법 |
|---|---|---|
| 화이트박스 래핑 | 볼 수 있고 고칠 수 있다 | 내부 처리 과정을 조사하고 코드를 직접 수정한다 |
| 그레이박스 래핑 | 일부만 다룬다 | 컴포넌트 라이브러리가 제공하는 확장 언어나 API 로 동작을 바꾼다 |
| 블랙박스 래핑 | 볼 수 없다 | 내부는 그대로 두고 입출력 인터페이스만 바꾸거나 앞뒤 처리를 덧붙인다 |
컴포넌트의 내부 처리 과정을 조사하고 코드를 수정하는 것은 화이트박스 래핑이다. 블랙박스 래핑은 코드를 고치지 않는다.