特化和泛化
实体类型的相同点和不同点分析是必不可少的一部分。特化降低了风险,并通过从父方那里继承需求从而减少了需求匮乏。泛化简化了系统中实体类型的模型和实现过程。
在 UML 中泛化是在关系的父方用空箭头表示的。泛化不是两个实体类型间的一种关系。它是从特定实体类型到一般实体类型的派生。在泛化关系上不允许有基数。
父实体类型的所有属性和关系被特化后的实体类型继承。到其他实体类型的属性和关系不能从特化实体类型中删除。
图 18 泛化将实体类型 Employees 和 Customers 定义为继承了 Persons 属性的实体类型 Persons

分类
同一实体类型的范畴规定了实体如何根据它们的特征(比如所有员工都缺勤)互相相关。分类的语法使用了在 OCL(对象约束语言)中指定的与该关系连接的约束条件。
约束条件旨在指定动态行为。当约束条件被评估为有效时,这些关系也是有效的。
通常约束条件是互相排斥的,可以利用互斥关系之间的约束条件{xor}为约束条件建模。
图 19 实体类型的分类定义了关系类型的标准--Cargo 对于卡车类型的 Vehicle 很重要;Person 可以利用"公共汽车"类型的 Vehicle 被运输
