UML(Unified ModelingLanguage)标准化建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。既然是图形化语言,必然会用到各种图,UML定义了九种模型图:用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图和部署图。我们来盘点一下。
组成:用例、角色、关系
作用:描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。
组成:类、接口、关系等
作用:描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。
组成:对象、连接、包
作用:和类图相似,只不过描述的不是类之间的关系,而是对象之间的关系。
组成:状态、转换等
作用:是对类图的补充,描述类的对象所有可能的状态,以及事件发生时状态的转移条件。
组成:活动状态、转移、判断、保证条件、同步条、起点、终点等
作用:描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。
组成:对象、消息、生命线等
作用:用来描述按照时间的先后顺序对象之间交互动作过程。
组成:活动者、对象、连接和消息
作用:强调的是发送和接收消息的对象之间的组织结构,可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通
信的。
组成:构件、接口、关系
作用:描述代码构件的物理结构以及各种构建之间的依赖关系。
组成:节点、连接
作用:用来显示系统中软件和硬件的物理架构
九种图的可统分为五类:
从用户角度描述系统功能,并指出各功能的操作者。
类图描述系统中的静态关系,在系统的整个生命周期都是有效的;对象图是类图的实例,由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
描述系统的动态模型和组成对象间的交互关系。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件;活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动。
描述对象间的交互关系。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图
组件图描述代码部件的物理结构及各部件之间的依赖关系,有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。
初识UML,难免有疏漏或错误,还望大牛多多指正!