假设我正在设计分布式应用程序:
它由一个主机组成,即公司的前端Web服务(CompanyWS),以及一个或多个主机,例如三个,即公司的分布式仓库。每个仓库都是一个Web服务(WarehouseWS),并提供一个界面,例如IWarehouse。
好吧,因为一个UML组件
[...]代表系统的模块化部分,它封装了其内容,其表现形式可在其环境中替换。组件根据提供的和必需的接口定义其行为
可以将Web服务视为组件。
在UML组件图中,如何表达可以将CompanyWS插入一个或多个WarehouseWS的语义?组件之间的关联是正确的吗?
答案 0 :(得分:1)
在UML 2.4.1规范中,可以使用组件之间具有多重性的端口。请参见第188页,OMG Unified Modeling LanguageTM (OMG UML), Superstructure, Version 2.4.1
因此,您可以使用基数[0..1]和组件WareHouseWS上提供的接口IWarehouse定义仓库端口(wp)。在组件CompanyWS上,您可以使用基数[0 .. *]和所需的接口IWareHouse定义公司端口(cp)。
wp : IWarehouse [0..1]
cp : IWareHouse [0..*]