七种UML图类型和三种SVG图像对象

开发 架构
UML相信大家应该有所了解,那么UML图你是否熟悉,这里就向大家介绍一下SVG与UML图,相信通过本文的介绍大家对UML图有一定的认识。

本节和大家一起学习一下SVG与UML图方面的内容,本节主要介绍了SVG的三种图像对象和UML图的七种类型,希望通过本节的学习你对UML图有清晰的认识。

SVG与UML图

SVG是W3C的一种图形矢量标准,与Flash相似,它们都可以在网上快速加载矢量图。虽然目前SVG还没有Flash那么好的可用性,但其基于XML,倒是先天优势,有继续发展成为主流的可能性。在网上使用SVG技术显示UML图,不仅可以在浏览器内无失真地对对象执行缩放和平移等操作,还可以利用Xlink、XPointer等XML技术将大图分解,化简为小图浏览,甚至结合后台数据库直接存取元数据信息,并将结果动态地绘制为UML图,在网上显示出来。SVG强大的事件及脚本功能,也使得UML图具有更强的交互性和更为丰富的表达能力。本文在粗略介绍SVG和UML两种技术的基础上,描述了使用SVG绘制UML图形的过程中会用到的一些技术以及相关工具,UML图可以从不同的角度出发划分为一系列标准组件元素,利用它们基本上就可以无障碍地构建各种UML图。

一、SVG

可缩放矢量图形(SVG)是W3C的推荐标准,它使用XML描述两维图形结构和图形应用,可以在Web浏览器、手持设备或移动电话等多种上显示。目前稳定版本为1.1版,***的版本是以草案形式存在的1.2版,并未最终定稿。

在SVG中,允许三种图像对象存在,分别是矢量图像、点阵图像和文本。SVG定义了六种常用的基本矢量形状,包括直线、圆形、椭圆形、矩形、多边形和折线,在此基础上,利用坐标变换、路径、动画、滤镜图案等功能扩展,通过多层次组合矢量、点阵以及文本图,并配以各种属性,进行矢量绘图。
经过一段时期的发展,SVG的业务领域慢慢也已拓展开来,涵盖Web图表、地图、框图、流程图、项目计划图等多种类别。构建各个领域中的基本元件库也成为迫切需求,一些开源项目正以此为目标,提供可重用、基于SVG的元件库。UML图可以明确地按照种类划分,针对不同的种类,提出基本组件,再结合SVG固有的功能,就可以很容易地使用SVG创建出多种UML应用。
SVG的语法非常简单,设计人员一般在一天之内就会熟悉,IBMDeveloperworks中也有SVG的专题讨论,这里也就不再赘述了。

二、UML图

UML是目前最常用的一种面向对象建模语言,主要包括七种常见的类型,即用例图、类图、序列图、状态图、活动图、组件图和部署图,分别用以不同的建模用途。

类图,类图可以将一组类、界面、合作以及上述元素之间的关系显示出来,通常分为逻辑类和实现类。

组件图,以可视化方式提供系统的物理视图,显示系统中组件的依赖关系。

部署图,显示系统如何物理部署到硬件环境之中,是节点和连线的集合。上面三种UML图都是对系统静态特征进行建模,下面的四种描述系统动态特征。

用例图,描述系统的功能单元,它以图形化的方式表示系统内部的用例,系统外部的参考者,以及它们之间的交互。

序列图,强调时间顺序,显示特定用例的详细流程。顺序图有两维:垂直方向是以时间顺序显示消息/调用序列,水平方向显示消息发送到的对象实例。

状态图,描述系统动态特征,包括状态、转换、事件以及活动等。

活动图,描述系统在处理某项活动时,两个或多个对象之间的过活动流程。

UML中还包含其它一些图,例如对象图、包图、组合图等,以及演化出的一些新的概念,如模板(Stereotypes)、职责(Responsibilities)、扩展机制(Extensibilitymechanisms)、线程(Threads)、过程(Processes)、分布式(Distribution)、并发(Concurrency)、模式(Patterns)等,是否使用要依据建模过程中系统的层次、分类和大小等具体情况而定。诚然,对于个体来说,我们并不会用到所有的符号,但一个完整的UML建模工具却是要尽可能详尽地考虑到UML中丰富的符号语法和语义信息。在这里,我们无法描述清楚使用SVG绘制每种UML符号的方法,我们要关注的是UML基本符号元件的划分以及使用SVG绘制UML图的一些常用方法和便利之处。
 

【编辑推荐】

  1. UML图中用例图和活动图简介
  2. SVG与UML图详解
  3. UML用例图用法实例剖析
  4. 术语汇编 UML统一建模语言简介
  5. UML学习手册新手必备

 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-10-15 10:02:01

Mysql表类型

2010-06-08 09:49:45

UML元件

2010-06-10 14:45:24

UML建模语言

2010-07-06 10:56:32

UML图详解

2011-03-14 10:46:03

2022-06-20 08:50:16

TypeScript类型语法

2017-06-14 16:44:15

JavaScript原型模式对象

2018-07-04 09:19:37

存储类型对象存储

2011-01-18 15:35:59

jQueryJavaScriptweb

2022-04-26 05:55:52

网络网络类型

2019-10-29 06:30:31

告警疲劳网络安全安全风险

2020-01-14 08:00:00

.NET缓存编程语言

2022-05-10 08:08:01

find命令Linux

2020-08-27 07:00:00

游戏游戏测试测试技术

2022-05-18 09:01:31

JavaScriptEvalErrorURIError

2023-07-03 12:47:01

2009-09-25 15:58:04

Hibernate对象

2023-10-13 00:00:00

Redis模块空间对象

2010-09-09 10:43:56

VPN服务

2020-08-25 07:32:42

工具对象 Java
点赞
收藏

51CTO技术栈公众号