UML,统一建模语言,适用于软件开发过程中的需求分析、方案设计环节。
UML整体可以分为1.*和2.*两大版本。
UML1.*是一个基础,它主要是如下9种类型的图:
用于方案设计的
1、类图:用于设计class的图,可以直观的标示出类的属性、方法,也可以显示各个类之间的关系,包括继承、实现、使用等等,更多展现的是静态。
2、对象图:类的实例,展现具体对象,更多用于展现某个运行时点的情况
3、组件图:Component,比class高一级,可以是一些类设计好一组功能向外提供
4、部署图:Deployment,比Component更高一级,更多的是描述一个系统中各个组件如何部署,以实现系统对外可以服务
用于需求分析的
5、用例图:描述未来系统中有哪些业务用例,以及这些业务用例和用户之间的关联关系,它以系统的角度描述对外提供的服务(功能)
6、活动图:每个业务用例都可以视为一个流程,活动图就是呈现流程的工具之一。其中泳道是一个很重要的分割方式,所以有时候也称之为泳道图。
7、序列图:在呈现一个用例的执行过程时,序列图可以更好的展现系统中各个对象之间的消息交互。
8、状态图:展现对象在一个生命周期内,状态变化的前后顺序。
9、通讯图:描述收发消息的对象之间的关系,更强调合作而非顺序。(在2.*时代,改名为协作图)
UML2.*相对而言,扩展了5种图型:
10、包图:Package的作用是用来划分class,包图用于设计Package
11、时序图:带时间的状态图
12、轮廓图:为特定平台定制
13、组合结构图:描述组合结构内部关系
14、交互概览图:类似于活动图