CBD를 어떻게 해석해야 하나요?

winner의 이미지

COM을 알아보다가 CBD라던가 여러가지 용어를 마주쳤는데 여기서 component가 저기서 쓰는 그 component 인지 알 수가 없네요.
어떤 사람은 Web Service를 만드는 것을(SOA) CBD의 한 영역으로 말하는데 제가 보기엔 왠 헛소리인가 싶기도 하고...

COM의 component는 동작 OS 영역의 한 부분(component)으로 들어간다는 느낌이예요.
가장 알 수 없는게 CBD인데 용어기원, 업계 용례 등 어떤 설명도 좋습니다.
다양한 설명 부탁드립니다.

aerockh2의 이미지

http://en.wikipedia.org/wiki/Component-based_software_engineering

참고하세요.

저도 잘 모릅니다만 대충 이렇게 이해하고 있는데 맞는지 모르겠습니다.

OOP에서 한발 더 나아가서 인터페이스를 통한 컴포넌트들의 조합으로
소프트웨어를 개발해 보자라는 취지에서 90년 대말 2000년대 초 국내에서도 유행을 하다가
요새는 잘 회자되지는 않죠.

근래에는 SOA로 더욱 큰 의미에서 이야기 되는 것 같습니다.

특히 강조되는 점이
컴포넌트라는 소프트웨어 부품으로 전체 어플리케이션이 구성되어지므로
요구사항이 변경되었을 때 / 추가 되었을 때 컴포넌트만 갈아 껴서
어플리케이션의 항상성(?)을 유지하면서도 변화에 유연하고 빠르게 대처해보자
라는 취지라고 전 이해했는데요.

아마도 CBD적으로 어플리케이션을 설계하는 것 자체가 도전이 아닌가 싶습니다.

CBD로 개발했다고 해도 모듈화 / 인터페이스 도출이 잘 못되면 결국
요구사항의 변화 / 추가에 결국 다른 컴포넌트들도 수정이 되어야 하는
안하느니만 못한 상황들이 계속해서 반복이 되죠.

OOP에서 객체를 도출하고 객체들 간의 상호관계로 어플리케이션을 개발한다고 보면
CBD에서는 컴포넌트들을 도출하고 컴포넌트들 간의 인터페이스를 정의 어플리케이션을 개발하겠죠.
물론 각 컴포넌트들을 OOP로 개발 할 수도 있겠죠.
더 나아가 SOA로 본다면 서비스 개개의 것들은 CBD로 개발될 수도 있겠고요.

이렇게 이해하고 대충 10년 못되게 이바닥에서 살았는데 제가 틀리게 알고 있으면
다른 분들의 고견 부탁드립니다.

winner의 이미지

제게는 그 설명이 마치 규모의 차이로만 들립니다.
기존과 다른게 뭔지 모르겠네요.
CBD 설명을 보면 component의 교체, 추가 이런 설명이 있는데 기존의 compile 된 object file을 사용하여 교체, 추가하는 것과 무슨 차이죠?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.