Architecture 是否有人在使用基于组件的开发(Cheesman和Daniels的UML组件)?

Architecture 是否有人在使用基于组件的开发(Cheesman和Daniels的UML组件)?,architecture,components,uml,Architecture,Components,Uml,UML组件是Cheesman和Daniels(2001)提出的一种基于组件的开发方法,该方法以相同的名称进行描述 我的大学有一个UML组件开发模块,专门教授上述书籍中的内容。我学得很好,但在业内找不到任何人使用它 UML组件仅仅是为了教育目的而选择的一种特殊方法,是基于组件的开发的一个好例子吗?当然,有更多的大学教授it,也就是说 UML组件 在我主动进行了一项研究之后,我发现有一种叫做CBD CAB的东西(~1999年)。基于组件的开发客户咨询委员会不再存在。它有80个世界性的成员组织,目标

UML组件是Cheesman和Daniels(2001)提出的一种基于组件的开发方法,该方法以相同的名称进行描述

我的大学有一个UML组件开发模块,专门教授上述书籍中的内容。我学得很好,但在业内找不到任何人使用它

UML组件仅仅是为了教育目的而选择的一种特殊方法,是基于组件的开发的一个好例子吗?当然,有更多的大学教授it,也就是说


UML组件 在我主动进行了一项研究之后,我发现有一种叫做CBD CAB的东西(~1999年)。基于组件的开发客户咨询委员会不再存在。它有80个世界性的成员组织,目标是基于组件的开发中的最佳实践

奇斯曼关于OMG集团未来可能采用他的方法的预测没有实现。OMG于2001年1月通过。Cheesman在Sterling软件中从事基于组件的开发,该软件于2000年被CA收购。他与人合著了好几本书,现在他是第一位

其他CBD方法 催化(Desmond D'Souza和Alan Cameron Wills,1999年)、KobrA(Atkinson,2001年)、Fusion(Coleman,1993年)、开放过程框架(Graham、Henderson Sellers&Younessi,1997年)、业务组件工厂(Herzum和Sims,2000年)、RUP(Jacobson,1999年)等等

资源 维基百科提到构建在催化、UML组件和其他方法之上。还有一个相对现代的项目,称为(2005年),然后是基于组件的软件工程项目(2006年),甚至还有来自ACM软件工程特别兴趣小组的项目(2012年)

现状 在一本书的帮助下(龚桥楼),它开始有意义了

对于所有现代语言,市场上有大量不同的组件框架。最终,一个新的可以开发和重复使用

可能的答案 因此,CBD/CBSE在行业中得到了成功的应用;然而,从Cheesman&Daniels的UML组件开始研究问题有些令人困惑。总之,基于组件的软件工程国际研讨会描述了现代组件识别方法和方法,其中之一是。打开它以查找今天可用的内容


注意:我故意没有用“回答”按钮回答我的问题,所以它可以接受建议。如果你有CBD的经验,请将其作为答案发布

我从未听说过

在实践中,UML只是(1)一种松散的通信方法,没有人关心其“正式”方面的细节;或者(2)大型咨询公司假装在做有用的工作

类似地,在90年代,人们谈论了很多关于“组成部分”(注:大写)的话题,但基本上这些都没有什么意义。所发生的是广泛的开源项目,以及关于体系结构的学习和讨论的更广泛的传播

因此,我强烈怀疑你在该模块中学到的东西是否有实际应用价值,或者是否会给任何人留下深刻印象


更新:我要补充的是,将“基于组件的设计”视为某种专业活动有些误导。所有现代开发(除了一些嵌入式应用程序)都使用大量的库,几乎所有的“业务”或应用程序软件都将使用可以真正描述为组件的元素

大学倾向于教授实践中非常糟糕的想法,并且往往落后于工业实践十年(而工业往往忽视大学,无法获得科学成果)。真正的可重用性是在库级别完成的,而不是在组件级别。或者复制整个应用程序,然后对其进行更改。似乎描述和推理组件属性的开销太大,因此重用的粒度必须更高


上一次CBSE会议似乎没有任何工业经验论文

我读了这本书,发现它在这个行业非常有用,尽管13年来,我从未发现有人真正关注一本书

根据我的实际经验:七年前,我在一家初创公司,我们需要构建一台服务器。我们使用组件方法从用例和质量属性中绘制系统组件,将组件组合、聚合和定义的Kobra规则和原则与UML CBD的定义相混合,UML CBD的定义是从用例和活动/序列图中导出接口

然后我们做了一些基准测试和测试,看看我们可以找到什么开源组件,以及我们需要构建什么。我们将我们在组件级别描述的接口与开源组件中存在的接口相匹配。例如,我们需要一个引擎。我们从用例和活动图中导出了接口,研究了一些开源组件,最后决定使用。我们选择它也是因为GATE内部对NLP引擎的各个部分使用基于组件的方法

简单地说,这是令人惊讶的,因为我们可以分而治之。有些部分是由我们开发的,其他部分可以从基于组件的开源系统中重用。如果您使用组件方法,在产品的技术模型中,“购买”和“制造”之间没有区别

因此,对我们来说,这种方法的好处是对我们必须做什么和我们可以建设什么有一个客观的看法。几周后,我们有了一个工作原型,可以回到我们的利益相关者那里

理想情况下,您从未停止使用它,或找到其他CBD方法 哪个更好

我想我从未真正开始使用它,但我从未停止使用这个原则。仅仅是因为在这个行业,你使用书籍