CAFE

개발방법론

[29기 김영준] CBD개발방법론 컴포넌트와 CBD개요

작성자29기 김영준|작성시간15.03.18|조회수1,167 목록 댓글 0

 

보 고 일 자

2015.03.18()

책임자

김 영 준

확 인

 

 

 

 

 

 

 

 

컴포넌트와 CBD 개요

 

<기술문서>

 

 

 

 

 

 

SunmoonBit 29

김영준

 

 

 

 

 

 

 

목차

 

1)컴포넌트

    1. 컴포넌트란?

    2.   컴포넌트 장점

    3.   컴포넌트 특징의 필요성

    4. 컴포넌트 만들 때의 고려사항

 

2)CBD방법론 개요

    1. CBD방법론 정의

    2. CBD방법론 특징

    3. CBD 개발 방법

 

 

 

 

 

1)컴포넌트

1.a 컴포넌트란?

    • 컴포넌트 개념은 소프트웨어보다 하드웨어에서 먼저 도입이 되었다.

    • 밀접한 관계에 있는 소프트웨어들의 패키지이다.

    • 독립적인 서비스를 제공하는 소프트웨어 모듈이다.

    • 다른 컴포넌트와 조립되도록, 제공하는 서비스(provide interface)와 사용하는 서비스(require interface)를 인터페이스로 정의한다.

  •  인터페이스를 통해서만 소프트웨어 시스템을 구성하는 다른 컴포넌트와 커뮤니케이션이 가능하다.

  •  컴포넌트는 리스트박스, c++의 템플릿 파라미터, 상업용 캘린더 패키지, 워드 프로세서등의 스크립트 JavaSwing 컴포넌트와 같은 클래스 프레임워크, 유사한 문제에 대한 자원 할당 모델 프레임 워크등에 사용한다.

     

 

 1.b 컴포넌트 장점

  •  미리 구현되어 있는 컴포넌트를 조립함으로써 소프트웨어 시스템 구축을 가능하게 한다.

  •  컴포넌트를 재사용 함으로써 보다 유연하게 소프트웨어 시스템을 구축할 수 있다

 

 1.c 컴포넌트 특징의 필요성

  • 소프트웨어 시스템에 컴포넌트 특징이 필요한 이유

    • 요구자의 요구가 계속적으로 변화 될 수 있기 때문이다.

    • 계속된 요구 변화에 신속하고 유연하게 대처하기가 어렵기 때문이다.

 

1.d 컴포넌트 만들 때의 고려사항

    •  컴포넌트를 만들 때는 느슨한 결합도와 입자와의 관계 이 두가지를 고려해서 만들어야 한다. 느슨한 결합도는 원래 재 사용성을 카다란 특징으로 하고 있는 객체지향 개념의 클래스를 빗대어 말할 수 있는데, 클래스와 클래스 사이에 종속성이 강하기 때문에 사용자의 요구사항이 바뀌어 수정을 하려면 문제가 생길 수 있다. 이러한 문제를 방지하기 위해서 인터페이스를 통해 클래스 사이에 느슨한 결합도를 만들 수 있다.

 

 

 

  •  컴포넌트는 입자의 크기와 밀접한 관계가 있다고 볼 수 있다. 가장 커다란 유형의 컴포넌트는 미리 구축된 애플리케이션 패키지로 볼 수 있다. 그러나 미리 구축된 애플리케이션이 최선의 경제성을 제공해줄지는 몰라도 비즈니스의 요구사항과 일치하는 것을 찾아내기는 쉽지 않다. 또한 커다란 컴포넌트는 변화에 대하여 그다지 유연성을 갖지 못한다. 이러한 비유연성은 컴포넌트를 사용하고자 하는 이점을 잃어버린다는 것을 의미한다. 결국 컴포넌트의 입자의 크기는 유연성 사이의 타협에서 결정되어야 하며, 이것은 비즈니스에 따라 달라지게 된다.




2)CBD방법론 개요

2.a CBD 방법론 정의

    • CBD Component-Based Development의 약자로 느슨한 결합도와 큰 입자의 특징을 갖는 컴포넌트를 기반으로 소프트웨어 시스템을 개발함으로써 고객의 요구 변화에 신속하고 유연하게 대처하고자 하는 것을 목표로 하는 것이다.

    • CBD에는 두 가지 형태의 개발 방법이 있다. 하나는 컴포넌트 자체를 개발하는 CB(Component Development)이고, 다른 하나는 이미 구축되어 있는 컴포넌트를 사용하여 소프트웨어 시스템을 개발하는 CBSD(Component Based Software Development)이다.

 

2.b CBD방법론 특징

    • 아키텍처 중심의 개발

    • UseCase Driven : 사용자 요구사항분석으로 컴포넌트 식별

    • Blackbox Reuse : I/F 기반의 컴포넌트 호출

    • Iteration : 개발 단계 반복을 통해 위험을 최소화

    • Lossely Coupled : MVC 모델에 기반한 약결합 구현

 

2.c CBD 개발 방법

    • 앞서 정의에서 말했듯이 CBD 개발 방법에는 두 형태가 있다.

    • 컴포넌트 개발(Component Development) = CD

      • 완전한 소프트웨어시스템을 만드는 것이 아니라 다른 소프트웨어 시스템에 포함될 부품을 만드는 것

      컴포넌트 기반 소프트웨어 개발

      (Component Based Software Development) = CBSD

      • 이미 개발된 컴포넌트들을 조립하여 비즈니스 요구 사항을 충족시키는 소프트웨어 시스템을 개발 하는 것


첨부파일 CBD 개발 방법론(컴포넌트와 CBD개요).docx


    • 다양한 소프트웨어시스템에 공통적으로 필요한 기능을 가진 컴포넌트를 개발해야 재사용성이 높아진다.

다음검색
현재 게시글 추가 기능 열기
  • 북마크
  • 공유하기
  • 신고하기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼