5.2.4约束 5.2.4约束 UML中提供了一种简便、统一和一致的约束 ( constraint),是各种模型元素的一种语义条件或限制 条约束只能应用于同一类的元素。 约束的表示 如果约束应用于一种具有相应视图元素的模型元素,它可 以出现在它所约束元素视图元素的旁边。 通常一个约束由一对花括号括起来({ constraint),花括号 中为约束内容(图36)。 如果一条约束涉及同一种类的多 Polygon[保险合同 个元素,则要用虚线把所有受约束的 0 元素框起来,并把该约束显示在旁边41,+oep,ocd (如或约束)。 Point 个人 图58
5.2.4 约束 UML 中 提 供 了 一 种 简 便 、 统 一 和 一 致 的 约 束 (constraint),是各种模型元素的一种语义条件或限制。一 条约束只能应用于同一类的元素。 约束的表示 如果约束应用于一种具有相应视图元素的模型元素,它可 以出现在它所约束元素视图元素的旁边。 通常一个约束由一对花括号括起来({constraint}),花括号 中为约束内容(图3.6)。 如果一条约束涉及同一种类的多 个元素,则要用虚线把所有受约束的 元素框起来,并把该约束显示在旁边 (如或约束)。 Polygon Point 1 4..* {ordered} 图5.8 5.2.4 约束 0..* 1..* {ordered} 保险合同 个人
532约束 约束可分为:对泛化的约束、关联的约束 对泛化的约束 应用于泛化的约束,显示在大括号里,若有多个约束,用 逗号隔开。如果没有共享,则用一条虚线通过所有继承线,并 在虛线的旁边显示约束,如图3.9际示: Class A Class A ↑人 constraint1, constraint2} constraint 1, constraint 21 Class B Class C Class D Class B Class C Class d 图59对泛化的约束的两种表示方法
约束 图5.9 对泛化的约束的两种表示方法 约束可分为:对泛化的约束、关联的约束 对泛化的约束 应用于泛化的约束,显示在大括号里,若有多个约束,用 逗号隔开。如果没有共享,则用一条虚线通过所有继承线,并 在虚线的旁边显示约束, 如图3.9所示: 5.3.2 约束 {constraint 1,constraint 2} Class A Class B Class C Class D {constraint 1,constraint 2} Class A Class B Class C Class D
532约束 对泛化有以下常用的约束: 1、 complete:说明泛化中所有子元素都已在模型中说明, 不允许再增加其它子元素。 2、 disjoint:父类对象不能有多于一个型的子对象。 3、 incomplete:说明不是泛化中所有子元素都已说明,允 许再增加其它子元素 4、 overlapping:给定父类对象可有多于一个型的子对象, 表示重载。 返回
对泛化有以下常用的约束: 1、complete: 说明泛化中所有子元素都已在模型中说明, 不允许再增加其它子元素。 2、disjoint: 父类对象不能有多于一个型的子对象。 3、incomplete: 说明不是泛化中所有子元素都已说明,允 许再增加其它子元素。 4、overlapping: 给定父类对象可有多于一个型的子对象, 表示重载。 5.3.2 约束 返回
532约束 关联的约束 对关联有以下常用的约束 1、 implicit:该关联只是概念性的,在对模型进行精化时不再用。 2、 ordered:具有多重性的关联一端的对象是有序的。 4必 geable:关联对象之间的链(ink)是可变的(添加、修改 3、ch 删除 ddonly:可在任意时刻增加新的链接。 5、 frozen:冻结已创建的对象,不能再添加、删除和修改它的链 接 6、xor:“或约束”,某时刻只有一个当前的关联实例。 人 帐号1x0r 单位 图510对象类的xor关联 对消息,链接角色和对象的约束 自定义约束
对消息,链接角色和对象的约束 自定义约束 帐号 人 单位 {xor} 图5.10 对象类的xor关联 5.3.2 约束 关联的约束 对关联有以下常用的约束: 1、implicit:该关联只是概念性的,在对模型进行精化时不再用。 2、ordered:具有多重性的关联一端的对象是有序的。 3、changeable:关联对象之间的链(Link)是可变的(添加、修改、 删除)。 4、addonly:可在任意时刻增加新的链接。 5、frozen:冻结已创建的对象,不能再添加、删除和修改它的链 接。 6、xor: “或约束” ,某时刻只有一个当前的关联实例
52.6依赖 5.2.6依赖 依赖关系描述的是两个模型元素(类,组合,用例等) 之间的语义上的连接关系,其中一个模型元素是独立的,另 个模型元素是非独立的(或依赖的)。如图5.1表示类A 依赖于类B的一个友元依赖关系。 类A 《友元》 类B 图5.11 依赖的形式可能是多样的,针对不同的依赖的形式,依 赖关系有不同的变体( varieties
5.2.6 依赖 依赖关系描述的是两个模型元素(类,组合,用例等) 之间的语义上的连接关系,其中一个模型元素是独立的,另 一个模型元素是非独立的(或依赖的)。如图5.11表示类A 依赖于类B的一个友元依赖关系。 类A 类 B 《友元》 5.2.6 依赖 图5.11 依赖的形式可能是多样的,针对不同的依赖的形式,依 赖关系有不同的变体(varieties):