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

时间:2012-02-02 16:32:44

标签: architecture components uml

UML Components是Cheesman和Daniels(2001)的基于组件的开发方法,在同一个名称book中描述。

我的大学有一个UML组件开发模块,完全由上述书籍教学。我学得很好,但找不到业内人士使用它。

UML组件是否只是一种特定的方法,它已被选为教育目的,作为基于组件的开发的一个很好的例子?当然有更多大学在教授它,即The University of Helsinky


UML组件

在我主动进行研究后,我发现有一种叫做CBD CAB(~1999)。基于组件的开发客户顾问委员会已不复存在。它拥有80个全球成员组织,目标是基于组件的开发的最佳实践。

切斯曼预测OMG集团未来可能采用他的方法并没有实现。 OMG采用了SysML,起源于2001年1月.Cheesman从事了Sterling Software的基于组件的开发,并于2000年被CA收购。他合着了几个publications on CBD,现在他是{{ 3}} director

其他CBD方法

Catalysis(Desmond D'Souza和Alan Cameron Wills 1999),KobrA(Atkinson 2001),Fusion(Coleman 1993),OPEN流程框架(Graham,Henderson-Sellers& Younessi,1997),商业组件工厂(Herzum和Sims 2000),RUP(Jacobson 1999)等等。

资源

Wikipedia提到Strata Software建立在Catalysis,UML组件和其他方法之上。还有一个相对现代的称为Catalysis II(2005),然后是rCOS基于组件的软件工程(2006),publication,甚至是wikipedia resources(2012)来自ACM软件工程特别兴趣小组。

现状

借助一本书(Kung Kiu Lau CBSE International Conference)的帮助,它开始变得有意义了。

市场上所有现代语言都有大量的各种组件框架。最终,可以开发和重新使用新的。

可能的答案

因此,CBD / CBSE成功应用于该行业;然而,开始研究Cheesman& UML中的UML组件的问题有些令人困惑。丹尼尔斯。总而言之,现代组件识别方法和方法在基于组件的软件工程国际研讨会中有所描述,其中一个是Component-Based Software Development: Case Studies。打开它以查找今天可用的内容。

注意:我故意没有用答案按钮回答我的问题,所以它是开放的建议。如果您有CBD体验,请将其作为答案发布

3 个答案:

答案 0 :(得分:4)

我从来没有听说过。

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

同样地,90年代是人们谈论“组件”(注意资本)的时间,基本上没有一个人说得太多。发生了什么是广泛的开源项目,以及更多关于架构的学习和讨论的扩散。

所以,我强烈怀疑你在该模块中学到的东西是实际的应用,还是给任何人留下深刻的印象。

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

答案 1 :(得分:2)

我读过这本书并发现它在业内非常有用,尽管事实上在13年后,我从来没有发现任何人按字面意思追随一本书。

根据我的实际经验:七年前,我在创业公司,我们需要建立一个Unstructured Information Management服务器。我们使用组件方法从用例和质量属性中绘制系统组件,将Kobra规则和组件组成,聚合和定义的原则与UML CBD的Design by Contract定义相结合,该定义是关于从用例派生接口和活动/序列图。

然后我们做了一些基准测试和峰值,看看我们可以找到什么作为开源组件和我们需要构建的东西。我们将组件级别描述的接口与开源组件中的接口进行匹配。例如,我们需要一个Named-Entity Recognition引擎。我们从用例和活动图中导出了接口,研究了一些开源组件,最后决定了Annie from GATE。我们选择它也是因为GATE内部使用基于组件的方法来处理NLP引擎的各个部分。

简而言之,这是令人惊讶的,因为我们可以划分和征服系统。有些部分是由我们开发的,其他部分可以从基于开源组件的系统中重用。如果使用组件方法,则在Zachman Framework的技术模型中“买”和制造之间没有区别。

因此,我们的方法的好处是客观地了解我们必须做什么以及我们可以建立什么。几个星期后,我们有一个工作原型,可以回到我们的利益相关者。

  

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

我想我从未真正开始使用它,但我从未停止使用这个原则。仅仅因为在行业中,你使用书籍作为钢琴家在音乐会期间使用书籍。 书籍教授原则和知识,而不是实践和能力。 你可以阅读关于钢琴演奏的精彩书籍,但如果你不练习,你将永远不会成为钢琴家;但是,如果你练习并且不读这本书,你可能不会像现在这样好。

用几句话说:我认为课程是值得的。

答案 2 :(得分:0)

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

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