复合结构图

复合结构图在里面统一的建模语言(UML)是一种静态结构图,这显示了一个的内部结构班级协作这种结构是可能的。

该图可以包括内部部分端口零件相互互动或班级实例与零件和外界互动的零件相互作用,以及连接器零件或端口之间。一个复合结构是一组相互联系的元素,可以在运行时进行协作以实现一些目的。每个元素都有一些定义角色在合作中。

概念

UML 2.0规范中确定的关键复合结构实体是结构化分类器,零件,端口,连接器和协作。[1]

  • 部分:部分代表一个在运行时扮演的角色分类器或通过实例。该零件可能只命名该角色,它可以命名一个摘要超类,或者可能命名特定的混凝土类。该零件可以包括一个多样性因子,例如图中的观看器显示的[0 ..*]。
  • 端口:港口是一个交互点,可用于将结构化分类器与其部分和环境连接起来。端口可以选择指定他们提供的服务以及系统其他部分所需的服务。在图中,每个小正方形都是端口。每个端口都有一种类型,并标有一个名称,例如“ var”,“ indvar1”或“视图”。端口可能包含多重因素,例如[3]。
端口可以将接收到的请求委派给内部零件,也可以将其直接传递给端口包含的结构化分类器的行为。在环境中可见的公共端口横跨边界,而在边界内显示了环境中不可见的受保护端口。该图中的所有端口都是公开的,除了沿斐波那契机的右边界的视图端口。
  • 连接器:连接器将两个或多个实体绑定在一起,使它们可以在运行时进行交互。连接器显示为零件,端口和结构化的某些组合之间的界限分类器。该图显示了端口之间的三个连接器,以及一个结构化分类器和零件之间的一个连接器。
  • 协作:合作通常比结构化分类器更抽象。它显示为虚线椭圆形,其中包含实例可以在协作中扮演的角色。
  • 结构化分类器:结构性classifier代表一个类,通常是一个抽像类,其行为可以通过零件之间的相互作用来完全或部分描述。
  • 封装分类器:封装classifier是一种包含端口的结构化分类器。在里面图表下面,斐波那切和变量都是封装的分类器,因为它们都沿着边界具有端口。

例子

UML 2.0复合结构图。

例如,考虑一种模拟生产的可能方法斐波那契序列.

该UML 2.0复合结构图指定“斐波那契机系统”类的实例由许多部分组成。这些部分中的最上方被确定为具有分类器“ fibonaccifunction”。其中三个部分是通过它们在实例中扮演的角色来识别的斐波那切- 这Nminus2角色,Nminus1角色和n角色。第五部分,由其分类器确定观众,包括多个规范。在运行时,可以有0个或更多的观众或某些混凝土子类的实例。

在运行时,实施这三个角色的类实例必须提供由伊瓦通过他们的接口var端口。一个这样的课是多变的,在图中显示的端口名称var类型var这实现了伊瓦界面。

名为“视图”的端口是一个非公共端口,可以由斐波那切访问可选实例观众.

参考

外部链接