今天整理了一下UML的基础知识。
UML (UnifiedModeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。
UML是将事物与关系以可视化图的方式显示出来的建模语言。UML主要包括两部分:事物、关系。UML中的事物包括:构件事物、行为事物、分组事物、注释事物;关系包括:关联、依赖、泛化、实现四大关系。
在UML中的图其实就是可视化的事物与关系。为什么我们会有好几种图呢?因为从不同的目的和方面来看事物和关系不是都相同的,所以需要用不同的图来描述。
这九种图的共同点是都由事物和关系组成,只是事物和关系种类不同,是在UML的四大事物和四大关系基础之上的小区别。
下面我们来比较一下这些不同。
1.事物比较
构件事物包括:类、接口、协作、用例、构件、节点;行为事物包括:交互、状态机;分组事物包括:包;注释事物包括:注释
我们将图分为四大类:用例图、静态图、行为图、实现图;
其中静态图包括:类图、对象图;
类图中的事物包括:类、接口、抽象类、模版类;
行为图包括:行为图和交互图
行为图中包括:活动图、状态图;
交互图中包括:顺序图、协作图;
活动图中的事物包括:活动、起点、终点、对象流、发送信号、接收信号、泳道;
状态图中的事物包括:状态、转移、开始、结束;
两种图本质作用是一样的,只是活动图侧重于从动作来描述,状态图侧重于从结果描述
顺序图中的事物包括:参与者、对象、生命线、消息符号;
协作图中的事物包括:参与者、对象、消息流
两种图可以相互转换,顺序图侧重于表示交互作用中的时间顺序(强调时间),没有明确表示对象间的关系;协作图侧重于表示对象之间的关系(强调空间),但时间顺序必须从顺序号获得。
实现图包括:构件图和部署图
构件图中的事物包括:构件、接口、构件实例;
部署图中的事物包括:节点、构件、接口、构件实例
构件图从软件架构的角度进行描述;部署图则描述系统硬件的物理拓扑结构以及在此结构上执行的软件
2.关系比较
根据本图可以发现主要关系只有几种:依赖、关联、泛化、实现。相同的关系画法相同,因此我们需要多注意一下那几种特别的关系,通过对比我们的学习量减少了很多。
为了看起来更清楚明了,有条理,我们把基础知识画成了图,大家共享一下