1.概述
UML用来描述模型的内容有3种,分别是事物、关系和图,如下所示:
事物:结构事物(用例、类、接口、协作、活动类、组件、节点)、行为事物(交互、状态机)、组织事物(包)、辅助事物(注释)
关系:关联关系、依赖关系、泛化关系、实现关系
图:静态图(用例图、类图、对象图、组件图、配置图)、动态图(时序图、协作图、状态图、活动图)
2.事物
2.1结构事物
类:具有相同属性、相同方法、相同语义和相同关系的一组对象的集合,用矩形表示
接口:类或组件提供的、可以完成特定功能的一组操作的集合,用圆形表示
协作:表示一些角色和其他元素一起工作,提供一些合作的动作,用虚线椭圆表示
用例:定义了系统执行的一组操作,对特定用户产生可以观察结果,实线椭圆表示
活动类:对拥有线程并可发起控制活动的对象的抽象,粗线矩形表示
组件:物理上可替换的,实现了一个或多个接口的系统元素,表示方法较复杂
节点:物理元素 ,它在运行时存在,代表一个可计算的资源,立方体表示
2.2行为事物
交互:带箭头的直线表示
状态机:对象的一个或多个状态的集合,圆角矩形框表示
2.3组织事物
UML模型中负责分组的部分,可以把它看成一个个盒子,每个盒子里面的对象关系相对复杂,而盒子与盒子之间的关系相对简单。。组织事物只有一种,称为包。
包是一种有组织地将一系列元素分组的机制。包与组件的最大区别在于,包纯粹是一种概念上的东西,仅仅存在于开发阶段结束之前,而组件 是一种屋里元素,存在于运行时。类似文件夹的符号表示
2.4辅助事物
也称注释事物,属于这一类的只有注释,折起一角的矩形表示
3.关系
3.1关联关系
关联关系是一种结构化的关系,指一种对象和另一种对象有联系。给定关联的两个类,可以从其中的一个类的对象访问到另一个类的相关对象。实线表示,单向关联可以有方向
3.2依赖关系
对于两个对象X、Y,如果对象X发生变化,可能会引起对另一个对象Y变化,则称Y依赖于X,带有箭头的虚线表示
3.3泛化关系
一般元素和特殊元素之间的分类关系,与C++和JAVA中的集成关系有些类似,空心箭头的实线表示
3.4实现关系
将一种模型元素与另一种模型元素连接起来,其中接口只是行为的说明而不是将结构或者实现,真正实现由前一个模型元素来完成,空心箭头虚线表示
4.图
4.1静态图
用例图: 展现了一组用例、参与者以及他们间的关系。可以用用例图描述系统的静态使用情况。
类图:展示了一组类、接口和协作及它们间的关系,最常见的图
对象图:展示了一组对象及它们间的关系。对象图表达了系统的静态设计视图或静态过程视图,出了显示和原型方面的因素外,它与类图作用是相同的
组件图:展现了一组组建之间的组织和依赖,用于对源代码、可执行的发布、屋里数据库和可调整的系统建模
配置图: 展现了对运行时处理节点以及其中组建的配署
4.2动态图
时序图:展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模
协作图:一组对象间的链接以及这组对象收发的消息,按组织结构对控制流建模
状态图:特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移
活动图:显示了系统从一个活动到另一个活动的流程