UML(统一建模语言 Unified Modeling Language)是一种标准的图形化建模语言,是面向对象分析与设计的一种标准表示。
UML 体系统比较复杂,内容较多,我们可以根据实际情况选择性的学习,部份内容可日后再做深入学习。首先了解一下 UMl 中相关的一些概念:
UML视图
视图只是表达系统某一方面特征的 U M L建模组件的子集。按结构划分,描述系统中的结构成员及其相互关系,包括静态视图、用例视图和实现视图。按动态行为划分,描述系统随时间变化的行为,包括状态机视图、活动视图和交互视图。模型管理,说明了模型的分层组织结构,包括模型管理视图。
主要的域 | 视图 | 图 | 主要概念 |
结构 | 静态视图 | 类图 | 类、关联、泛化、依赖关系、实现、接口 |
用例视图 | 用例图 | 用例、角色、关联、扩展、包括、用例泛化 | |
实现视图 | 构件图 | 构件、接口、依赖关系、实现 | |
部署视图 | 部署图 | 节点、构件、依赖关系、位置 | |
状态 | 状态机视图 | 状态图 | 状态、事件、转换、动作 |
活动视图 | 活动图 | 状态、活动、完成转换、分叉、结合 | |
交互视图 | 顺序图 | 交互、对象、消息、激活 | |
协作图 | 协作、交互、协作角色、消息 | ||
模型管理 | 模型管理视图 | 类图 | 包、子系统、模型 |
可扩展性 | 所有 | 所有 | 约束、构造型、标记值 |
UML 图
图是一个具体视图的组成部分,由模型元素的符号化的图片组成。 UML中包含以下 9种:
1、用例图 ( use-case diagram),用于显示若干角色 (actor)以及这些角色与系统提供的用例之间的连接关系。角色代表外部实体,如用户、硬件设备或与系统发生交互的另一个外部系统。
2、类图 (class diagram),用来表示系统中的类和类与类之间的关系,是对系统静态结构的描述。
3、对象图,类似于类图,区别在于对象图表示类的对象实例,而不是类。
4、状态图,描述类的所有对象可能具有的状态,以及引起状态变化的事件。
5、序列图 ,反映若干个对象之间的动态协作关系,也就是随着时间的流逝,对象之间是如何交互的。
6、协作图,其作用同序列图,除了显示消息变化外,协作图还显示对象及其之间的关系。
7、活动图 (activity diagram),描述某个操作执行时的活动状况。
8、组件图 (component diagram),反应代码的物理结构,可为源代码、二进制文件或可执行文件组件。
9 、展开图 (deployment diagram) ,用来显示系统中软件和硬件的物理架构,通常在图中以结点的形式显示实际的计算机和设备,以及各个结点之间的关系。
UML建模工具
1、StarUML http://staruml.sourceforge.net/en/
小巧的建模工具,才20来M,目前版本是 5.0 。是一个韩国人用delphi写的,免费很关键。
2、JUDE http://jude.change-vision.com/jude-web/download/index.html