我试图通过创建一个部署图并对其进行阅读来了解它是如何工作的。我遇到了许多不同的(自相矛盾的)陈述,或者我完全误解了它们。根据Lucid曲线图,艺术品将是“由软件开发的产品,用一个带有名称的矩形和用双箭头括起来的单词”来表示。一个组件将是“一个带有两个制表符的矩形,它表示一个软件元素。”
我的第一个问题是: 2之间有什么区别?两者都是软件,除非书面软件开发的物理组件也可以被归类为工件。
矛盾(?):根据sparxsystems的说法,艺术品是:“一件艺术品是一个系统所使用或产生的任何物理信息”。因此,根据第二句话,工件不可能是软件,因为它是“系统使用或产生的任何物理信息”。因此,例如:数据库服务器应该被归类为工件,即使其他源声明数据库服务器应该是节点。
根据清晰的图表(在页面底部提到了这个例子),浏览器被认为是一个设备(节点),而我认为它是一个组件。毕竟,这是一个软件元素。这是一款软件,它不是由我的软件创建的物理或软件产品,因此也不应该是一件艺术品。根据sparxsystems,节点是:“node是部署系统的物理设备,例如工作组服务器或工作站”。浏览器是一种物理的设备吗?
https://www.lucidchart.com/pages/uml-deployment-diagram
所以我的问题是:
有人能解释一下节点是什么,工件是什么,组件是什么,以及它们之间的区别吗?我很难理解这个概念。
发布于 2022-11-08 15:24:34
与其阅读工具供应商的描述,不如转到UML规范获取这些定义。
工件是“由软件开发过程或系统操作使用或产生的一些(通常是可重用的)信息项目”。源代码、配置文件、设计文档和模型、二进制文件和测试报告都是工件的示例。然而,并非所有类型的工件都可能出现在部署关系图上。
一个组件可以是一种艺术品。具体而言,组件是“系统的一个模块化部分,它封装了它的内容,其表现形式在其环境中是可替换的”。根据正在设计的系统,组件将是不同的。即使在不同的抽象级别上,组件也可能是不同的。例如,在基于服务的体系结构中,每个服务都可以是一个组件。但是,在较低的抽象级别上,服务可以由各种组件组成。
节点表示“硬件设备或软件执行环境”。节点也可以嵌套。嵌套节点的示例可以是物理服务器上虚拟机中的web浏览器(JavaScript的软件执行环境)。
取决于您的角度,节点可以是一个工件或组件。对于web应用程序开发人员来说,web浏览器是一个节点。然而,对于web浏览器开发人员来说,web浏览器是一种人工产物,可以由许多组件组成,其中一些是本地组件,另一些是其他组件。
https://softwareengineering.stackexchange.com/questions/442155
复制相似问题