求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
UML2.5教程
UML2.5 图概述
UML 类和对象图概述
UML 类概述
UML 类
UML 接口
UML 数据类型
UML 属性
UML 操作
UML 多重性
UML 的可见性
UML约束
UML对象
UML关联
UML聚合
UML组合
UML的泛化
UML中的依赖
UML抽象
嵌套分类器
UML类图参考
UML 复合结构图
UML结构分类器
UML封装分类器
UML部件
UML连接器
UML端口
UML协作
UML协作使用
UML协作模板
复合结构的参考
UML 包图
UML包图符号
UML元素导入
UML包导入
UML包合并
UML模型
UML封装图参考
UML 组件图
UML 组件
UML 连接器
UML 部署图
UML 用例图
UML 信息流程图
UML 活动图
UML 状态机图
UML 序列图
UML 通信图
UML 时间图
UML交互概述图
UML配置文件图
UML用例图示例-网上购物
UML用例图示例-网站管理
UML、元元模型和配置文件
 
 
UML端口
原文作者:Kirill Fakhroutdinov 译者:火龙果Anna
2736 次浏览
13次  

端口指定了一个交互点,通过该交互点,分类器可以与环境、其他分类器或其内部部件进行通信。在UML中,封装分类器被定义为能够拥有端口的结构化分类器,因此端口是封装分类器的一个属性。默认情况下,端口具有公共可见性。

端口显示为一个小正方形,放置在表示封装分类器的矩形的边界上,或者显示在该矩形符号内。端口名称放在小方块附近。

图书馆服务类具有端口searchPort。

虽然UML并未规定端口的命名约定,但常识是从小写字母开始的端口名称,例如“ p ”,“ port12 ”,“ searchPort ”。不清楚是否每个端口都必须有一个名称。如果端口确实有名称,则可能在图表上将其隐藏。UML 2.5规范提供了一些奇怪的说明,“对一个未命名端口的每一个描述都表示一个不同于任何其他端口的端口。”如果只是简单地取消一个端口的名称,则该端口的每个描述都应仍为同一端口。

端口 的类型可以显示在端口名称之后,并用冒号“:”分隔。

Library Services类具有SearchBooks类型的端口searchPort。

端口的多样性(如果有的话)显示在方括号中的端口名称之后。端口的名称和多样性都是可选的。

Library Services类具有SearchBooks类型的端口searchPort。

所提供的接口可以使用附在端口上的“棒棒糖”符号来显示。可以使用附加到端口的“套接字”符号来显示所需的接口。

端口searchPort提供SearchBooks和SearchVideo
接口,并且需要Inventory接口。

 

在search 端口,Library Services类是完全封装的——它可以在不了解类将嵌入的环境的情况下实现。

如果有多个接口与一个端口关联,则这些接口可以在单个接口图标附近用逗号“,”分隔。

几个searchPort端口提供SearchBooks和SearchVideo
接口,并需要Inventory接口。

端口也可以表示为一个小的正方形符号,它与矩形符号的边界重叠,矩形符号表示由该分类器输入的部分。

简单的端口(Simple Port)

简单端口是具有一个必需或提供的接口的端口。一个复杂的端口有几个提供或必需的接口。

SearchEngine组件具有简单的端口searchPort,
其中包含一个单独提供的ProductSearch接口。

 

在一个结构化的分类器中,UML允许一些替代符号来连接部件和角色上的简单端口。

在内部结构中连接端口的唯一强制符号是当连接器直接连接到端口时。可选的棒棒糖和插座可以显示所连接端口提供的和所需的接口。

通过连接器直接连接的简单端口(强制性UML表示法)。
客户组件部分提供“订单”部分的“帐户”界面。

作为一种选择,UML允许将连接器线连接到球形插座,而不是端口,如下所示。

由连接器连接的球和插座,可选的UML符号。
客户组件部分为订单部分提供帐户接口。

作为一种选择,UML允许将连接器线连接到球形插座,而不是端口,如下所示。

由连接器连接的球和插座,可选的UML符号。
客户组件部分为订单部分提供帐户接口。

组装连接器不是用另一种可选的“球-插座”符号表示的简单端口。此符号不应用于连接复杂的端口或不带端口的的部件。

简单端口的“Ball and socket”程序集连接,可选的UML符号。
客户组件部分为订单部分提供帐户接口。

服务端口(Service Port)

端口可以指定封装分类器向其环境提供的服务,也可以指定封装分类器对其环境要求的服务。任何端口在默认情况下都是服务端口,默认情况下端口的isService属性值为true。

端口提供的接口描述其他分类器可能通过该端口向分类器发出的请求。端口所需的接口描述了分类器可能通过端口向其环境发出的请求。

当端口的isService属性设置为false时,这意味着该端口属于封装分类器的实现,它不是服务契约的一部分,也不是必要的外部可见功能。这种非服务端口可以在不影响服务合同的情况下修改或删除。UML规范没有解释为什么需要这个属性,如果我们可以改变端口的默认公共可见性,例如私有可见性。私有属性不是任何外部可见功能的一部分。

ML没有提供特定的符号来直观地区分服务端口与非服务端口,尽管它有一些约定可以将布尔属性呈现为属性修饰符。例如,{ordered}表示'isOrdered'属性为true,而{unordered} 表示相应的属性未排序。我们可能可以对port的isService属性使用相同的约定,将其呈现为{service}或{nonservice}。

端口actPort默认为提供订单和
客户接口和需要库存接口。

行为端口(Behavior Port)

行为端口是一个端口,这样到达该端口的请求将发送到 拥有该端口的分类器的行为,而不是转发到某些包含的实例。如果没有为此分类器定义任何行为,则到达该行为端口的所有通信都将丢失。默认情况下,端口不是行为端口。

行为端口被呈现为一个由实线连接到一个小状态符号的端口,该状态符号绘制在包含该端口的分类器中。小状态符号表示包含分类器的行为。

端口searchPort是具有SearchBooks提供的界面的行为端口。


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



2736 次浏览
13次
欢迎参加课程:
基于UML和EA进行系统分析设计
基于SysML和EA进行系统设计与建模
领域驱动的建模与设计