UML2.0合成结构图简单说明与范例
 

2009-03-30 作者:kenming 来源:kenming.idv.tw

 

什么是组件(Component)?

  • 将某一个元素,视为 “整体(whole)” 时,观察该元素的外显行为与内在特征。
  • 组件 = 接口 + 实现接口的类别(不一定是只有一个)。
  • 组件的观点
    • 外部观点(黑箱式) – 凸显该组件所提供(provide)与所需求(required)的界面(interface)。
    • 内部观点(白箱式) – 组件内部结构(internal structure) “组成元素” 的关系。

组件与合成结构(Composite Structure)图

  • 将焦点关注在某一个组件(Component)
    • 组件外显的接口(interface)。
    • 组件内部组件(part)的连结关系。
    • 接口系由内部的那个组件所委托(delegate)实做的。
  • UML 2.0 新增最有价值的新视图;也可以视为是早期 UML 类别图中对“黑色菱形”的合成关系的一种扩充、延伸、升级。

组件的内部结构描述

  • 内部相互连结(interconnected)组件(part)的结构(Structure)。
  • 系统执行期间(run-time)内部相互连结的个体(instances)结构。
  • 例,一艘小型动力艇,内部系由一具引擎及一至四个推进器组成并履行小艇推进的功能。

范例—利用两种不同的呈现方式展示 Order 组件与其接口

组件的 “提供” 与 “需求” 接口

  • 组件所提供给 Client 端使用的接口称为 “可提供接口(provided interface)”;组件所要求的接口称为 “需求接口(required interface)”。
  • 例,Order 组件提供(provided)给 Client 端(如 Customer) “新增/移除 订购细项”、”完成订购”、”提供订购追踪信息” 等接口;而需要(required) “Retrieve Products”、”Retrieve tracking info” 等界面。
  • UML 2.0 ,圆球(ball)图示(icon)表提供接口;凹槽(socket)图标表需求接口。

“Ball and Socket” 的说明

  • 例,Order 接口需要“Retrieve Products”接口;而 Inventory 组件提供了“Provide Products”接口。两者构成了“ball and socket”关系。

连接端口–组件与外部环境的互动点(interaction point)

  • 利用 “连接埠(port)” 可以将接口(包括需求与可提供接口)群组起来,成为一组逻辑的互动关系。
  • 透过 port,组件可以提供服务给外部的环境;也可以向外部环境要求服务。
  • 组件与其外部环境互动(interaction)的 “存取点(access point)”。
  • 例,将 “Mouse” 视为是一个接口,透过 usb 接头,可以连至(plug-into) PC 所提供的 “USB 埠”,而可以操作使用鼠标。

组件内部结构组成元素的说明

  • 组件(part)提供或需要某个接口的实做,两者之间的联机关系,称为委托连接器(delegating connector)。
  • 组件与组件之间的关连(association),称为连接器(connector)。
  • 利用多重性(multiplicity),可以秀出某个组件会有多少个个体(instances)。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织