1.分类:
1.1.结构图: Class diagrams, Object diagrams, Component diagrams, Deployment diagrams.
1.2.行为图:User case diagrams, Sequence diagrams, Collaboration diagrams, State diagrams, Activity diagrams.
2.Classdiagrams(类图)包括类和接口。
2.1.第一层是类名,类名的字体是正体表示可以实例化的类(Concrete),斜体表示抽象类;
2.2.第二层是属性层,属性前有+号表示public,-号表示private,#表示protected;
2.3.第三层是方法层,方法前有+号表示public,-号表示private,#表示protected,方法下有下划线表示static方法;
2.4.第四层是性质层,由一个内部属性,一个赋值函数(mutator),一个取值函数(accessor)组成的结构。
2.5.类之间的关系。
2.5.1.Generalization(一般化),即代表类与类之间的继承关系,接口与接口之间的继承关系,类与接口之间的实现关系,extends和implements;
2.5.2.Association(关联),即一个类知道另一个类的属性和方法,常以实例的方式出现,关联可以是双向的和单向的,双向可以有箭头或没有箭头,两个端点各有一个基数区间(n...m)。
2.5.3.Aggregation(聚合),即整体与个体之间的关系,跟关联很相似,但是关联关系的角色都处于同等地位,而聚合关系的角色处于不同等地位,代表整体与部分的关系,如果单从语法上很难分辨聚合与关联关系,所以需要结合实际情况,从逻辑上加以区分。
2.5.4.Composition(合成),即整体对象负责部分对象的生命周期,比聚合关系要强,比如美猴王拥有四肢和金箍棒,但是四肢比金箍棒的关系更强,是美猴王的组成部分,部分对象只能和一个对象有合成关系。
2.5.5.Dependency(依赖),跟关联关系不同,依赖关系中类B只是以局部变量、参数、或静态方法的形式出现在类A中,如果类A包含类B的实例,就超越了依赖关系,成为关联关系了。