图3.10 UML的图
第一类:用例图(use case diagram)。
用例图定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。在用例图中,角色代表触发系统功能的用户或其他系统,用例代表具体的功能描述。
第二类:静态图,包括类图、对象图和包图。
类图(class diagram)描述系统的静态结构,表示系统中的类以及类之间的关系(关联、继承、聚合等)。类图描述的是一种静态关系,在系统的整个生命周期都有效。
对象图(object diagram)描述了一组对象以及它们之间的关系,表示类的对象实例。对象图和类图几乎具有完全相同的标识,但是对象图显示类的多个实例。由于存在一定的生命期,因此对象图只反映系统某一时间段的状况。
包图(package diagram)用于描述系统的分层结构,用来管理系统规模复杂性。包可由包和类组成,也可以定义包与包之间的关系。
第三类:行为图,它描述系统的动态模型和组成对象间的交互关系,包括类的状态图和活动图。
状态图(state diagram)描述类的对象所有可能状态以及事件发生时状态的转移条件,强调对象行为的事件顺序。通常我们可以把状态图作为类图的补充,但实际上我们不需要对每个类都画出它的状态图,而仅关心那些具有多个状态,其行为受外界环境的影响后会发生改变的类。我们为这些类建立状态图以更好地描述他们的动态特性。
活动图(activity diagram)反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。活动图可用来识别并发活动。
第四类:交互图,他描述对象之间的交互关系,包括时序图和协作图。
时序图(sequence diagram)反映对象之间发送消息的时间顺序,反映收发消息的对象的结构组织。
协作图(collaboration diagram)也描述对象之间动作协作关系,但除表示信息交换外还显示对象及它们之间的关系。时序图和协作图相比较,协作图强调对象间的连接关系,