我想问一下UML意义上的子系统和组件有什么区别?
答案 0 :(得分:8)
我必须同意Preet,但实际上,子系统比组件大。我将组件用于库(购买,掠夺或构建)和子系统,用于执行给定集成功能的整个系统的一部分。例如,在血液处理装置中,离心机驱动器和控制器将是一个部件。集成的血液吸入调节(包括安全机制,电机控制,用户控制和通信)将是一个子系统。
答案 1 :(得分:6)
在UML 2.0之前,我完全可以看到<<subsystem>>
为设计时<<component>>
,最终会成为<<component>>
。 UML 1.4将组件定义为“模块化,可部署,以及封装实现并公开一组接口的系统的可替换部分。组件通常由一个或多个分类器指定(例如,实现类) )驻留在它上面,并且可以由一个或多个工件(例如,二进制文件,可执行文件或脚本文件)实现。“
在UML(在UML 2.0中)引入上述“模糊性”之后,我更倾向于使用<<subsystem>>
作为更大的<<component>>
,并将它们视为可替换和可重用的成分一个系统。
答案 2 :(得分:4)
来自IBM developerWorks - UML basics: The component diagram
UML 2规范非常模糊 关于子系统如何与a不同 成分即可。规范没有 任何对待组件或子系统 与建模不同 透视。与UML 1.x相比, 这个UML 2建模模糊是新的。 但这是有原因的。在UML 1.x中,a 子系统被认为是一个包, 这个包装表示法是 使许多UML从业者感到困惑; 因此,UML 2将子系统对齐为 专业组件,因为这是 大多数UML 1.x用户如何理解它。 这种变化确实引入了模糊性 进入画面,但这种模糊 更多地反映了现实 与UML 2中的错误相比 说明书
所以简而言之 none 。
答案 3 :(得分:0)
在UML模型中,子系统是一种构造型组件,代表系统中独立的行为单元。子系统用于类,组件和用例图中,以表示您正在建模的系统中的大型组件。
您可以将整个系统建模为子系统的层次结构。您还可以通过指定子系统的接口和支持接口的操作来定义每个子系统代表的行为。
在图中,隔离专区显示有关子系统的属性,操作,提供的接口,所需的接口,实现和内部结构的信息。
通常,子系统的名称描述其在系统中的内容和角色。
如下图所示,子系统显示为包含子系统名称的矩形。它还包含关键字“子系统”和子系统图标。