1,单一继承的每个子类只有一个超类,箭头从子类指向超类。
2,互斥分类与重叠分类反义,对事物来说,同一时间只能属于一组。
3,不完全分类与完全分类反义,对组来说,不是所有可能的子组都包括在模型中,因为当前建模的子组可能已经满足了所有当前应用的需求。
4,动态分类与静态分类反义,对事物来说,随着时间的变化而属于不同的子组。
5,以上2,3,4的分类在项目初期很有用处,也就是当项目小组正分析商业需求时,并且它们在设计阶段时也很有用处。
6,关联表示类的实例间连接的各种数量关系。建立关联模型是强大的分析方法的基干,称为信息建模。
6.1 对关联的一些说明
6.1.1 uml不要求关联一定要有名字,但是应该为所有关联命名。除非是组成和聚集的关联。
6.1.2 uml也不要求一定需要角色名,原则上可以存在一个角色名,两个角色名,没有角色名的关联。应该努力寻找有意义的角色名,但不应该轻信用户提出的不切实际的角色名,特别是对类本身已经指出角色的时候。
6.1.3 uml建模工具通常简写多重性。
7,将关联向上提升,就成了关联类。
8,整体和部分的关系成为composition,整体称为composite[object](组成对象);部分称为component[object](成分对象)。
8.1 组成的三个重要特性
8.1.1 如果没有成分对象,组成对象也不存在
8.1.2 在任何时候,每个给定的成分对象只能是组成对象的组成部分
8.1.3 组成是典型的异构
8.1.4 有一些专家称“对象定义为组成对象,唯一的条件是,当它被删除时,它的成分也被删除,否则它就是聚合对象”
9,聚集是一个组/成员的关联。整体称为aggregate[object](聚集对象),部分称为consituent[object](构成对象)。
9.1 聚集有三个重要特性
9.1.1 构成对象不存在,聚集对象还可以存在
9.1.2 在任何时候,每个对象都可以是多个聚集的构成
9.1.3 聚集往往是同构的
语法规则
泛化(继承,一般化) 一般化结构(箭头的头部为空心的)允许设计指定一个或多个继承。
关联 每个关联用两个类之间的一条线表示,关联的名字在线上给出,类的角色可以显示在线段的两端,关联的多重性也显示显示在线段的两端。
组成 组成对象和每个成分对象之间的关联表示为一端有黑色棱形块的关联线,棱形块放在组成对象一侧。关联线没有名字(这个是组成和聚集的约定),成分对象的角色名和多重性放在靠近成分对象一侧。
聚集 聚集对象和组成对象之间表示为一端有一个空心棱形块的关联线,棱形块放在聚集对象端一侧。角色名在放在组成对象的一侧,多重性放在任意一端(根据需要),关联上可以加上限定词,对关系进行限定,这1个限定是单向的,限定的对象是组成对象。