Uml 子系统和组件之间的区别

Uml 子系统和组件之间的区别,uml,modeling,Uml,Modeling,我想问一下,在UML意义上,子系统和组件之间有什么区别 UML2规范非常模糊 关于子系统如何不同于 组件。该规范不适用 将组件或子系统视为任何组件或子系统 与建模不同 观点。与UML1.x相比, 这种UML2建模的模糊性是新的。 但这是有原因的。在UML1.x中,一个 子系统被认为是一个包, 这个包装符号是 使许多UML实践者感到困惑; 因此,UML2将子系统作为 专用组件,因为这是 大多数UML1.x用户是如何理解它的。 这种变化确实引入了模糊性 但这种模糊性 更多的是对现实的反映 与UML2

我想问一下,在UML意义上,子系统和组件之间有什么区别

UML2规范非常模糊 关于子系统如何不同于 组件。该规范不适用 将组件或子系统视为任何组件或子系统 与建模不同 观点。与UML1.x相比, 这种UML2建模的模糊性是新的。 但这是有原因的。在UML1.x中,一个 子系统被认为是一个包, 这个包装符号是 使许多UML实践者感到困惑; 因此,UML2将子系统作为 专用组件,因为这是 大多数UML1.x用户是如何理解它的。 这种变化确实引入了模糊性 但这种模糊性 更多的是对现实的反映 与UML2中的一个错误相比 规格


简而言之,没有。

我不得不同意普里特的观点,但实际上,子系统比组件大。我将组件用于库(购买的、掠夺的或构建的),子系统用于整个系统中执行给定集成功能的一部分。例如,在血液处理设备中,离心机驱动器和控制器是一个组件。集成的血液吸引调节(包括安全机制、电机控制、用户控制和通信)将是一个子系统。

在UML2.0之前,我完全可以将
视为设计时间
,最终将成为
。UML 1.4将组件定义为“封装实现并公开一组接口的系统的模块化、可部署和可替换部分。组件通常由驻留在其上的一个或多个分类器(例如,实现类)指定,并且可以由一个或多个工件实现(例如,二进制文件、可执行文件或脚本文件)。”


在前面提到的“模糊性”被引入UML之后(在UML2.0中),我更倾向于使用
作为更大的
,并将它们视为系统的可替换和可重用组件。

在UML模型中,子系统是一种原型化组件,表示系统中独立的行为单元。子系统在类、组件和用例图中用于表示lar正在建模的系统中的ge scale组件

您可以将整个系统建模为子系统的层次结构。您还可以通过指定子系统的接口和支持接口的操作来定义每个子系统所代表的行为

在图中,隔间显示有关属性、操作、提供的接口、所需接口、实现和子系统内部结构的信息

通常,子系统有一个描述其在系统中的内容和角色的名称

如下图所示,子系统显示为包含子系统名称的矩形。它还包含关键字«subsystem»和子系统图标


从:

我有一个问题:我正在构建一个C++ SDK,我正在做一些UML。我的SDK中的每个模块都尽可能地解耦,但是模块之间有依赖关系。有一个通用软件API和一个依赖于软件工具包的固件工具包。固件工具箱是100%,绝对与桌面分离。作为子系统,因为依赖关系是单向的,它们在概念上被分离为硬件和软件子系统。SDK模块本身是子系统吗?对我来说,就像子系统包含包一样。