1.类之间可能存在以下几种关系:
关联(association)
依赖(dependency)
聚合(Aggregation,也有的称聚集)
组合(Composition):
组合中的类也是整体与部分的关系,与聚合不同的而是,其中的类不能对立出来。例如一个人由头、手、腿和躯干等组成,如果这个头离开了这个人,那么这个头就没有任何意义了。
people和Head、Hand、Leg是不可分割的,Head、Hand、Leg离开了People没有任何实际意义。在People中定义了Head、Hand、Leg类型的属性,组合也可以看成是聚合的一种特殊形式。
聚合和组合的代码几乎相同,单凭代码是无法区分两个类之间是聚合还是组合的关系的。所以就需要结合实际的业务环境来区分。例如汽车和轮胎,车主买了一辆汽车,上边肯定是由轮胎的,在这个业务中,轮胎和汽车是组合关系,它们分开就没有实际意义了。在汽车修理店,汽车可以更换轮胎,所以在汽修店的业务环境中,汽车和轮胎就是聚合的关系,轮胎离开汽车是有业务意义的。
泛化(generalization,也有的称继承)
实现(Realization)
参考博客:http://blog.csdn.net/hguisu/article/details/7609483
2.顺序图,参考博客:
1.对象包括三个方面:生命线、激活。
2.消息,箭头表示,包括同步和异步。
3.时间,时间流逝的方向为自顶向下。
3.UML2.0中的新图:
组成结构图,交互纵览图,计时图
4.包图:
包图之间的关系:泛化、依赖和细化三个方面。
5.构件图(组件图):
重要的是接口表示法:有两种接口表示法。1:接口和构件之间用带空心三角形箭头的虚线表示;另一种是用一个小圆圈来表示接口。
目前UML中元素有两种:结构元素和行为元素。结构元素有类、对象、接口、包、构件、注释、用例,关系(关联、泛化、失效、依赖、)
行为元素:有状态、顺序、协助、获得。
汇编连接和委托连接是UML2.0的新概念。
6.协作图
协作图也展示对象之间的交互关系,对象和对象之间的消息连接,与顺序图也是等价的,两种表达的意思不一样,顺序图强调的是交互时间顺序。
协作图强调的是交互的语境和参与交互的对象的整体组织。
协作图的消息的一般含义是触发接收消息的对象执行它的一个操作。