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图的一些常用方法和便利之处。
分享到:
相关推荐
jQuery SVG图像生成器插件是建立在jQuery基础上的,它提供了一种简单的方式来将上传的图片转换为SVG格式。通过这个插件,用户可以在浏览器中实时预览和编辑图像,然后下载SVG文件。 3. **工作原理** 插件通常通过...
svg是目前十分流行的图像文件格式了,svg严格来说应该是一种开放标准的矢量图形语言,使用svg格式我们可以直接用代码来描绘图像,可以用任何文字处理工具打开svg图像,通过改变部分代码来使图像具有交互功能,并...
然而,SVG(Scalable Vector Graphics)是一种基于XML的矢量图形格式,它提供了高质量的图像,无论放大多少倍都不会失真。由于SVG图像的特性,它们在许多场合特别受欢迎,特别是在UI设计中。但是,WPF的Image控件...
SVG(Scalable Vector Graphics)是一种基于XML的矢量图形格式,它在WinCC中用于创建清晰、高分辨率的图形对象,尤其适用于在不同屏幕尺寸和分辨率下保持图像质量不变的情况。本文将详细介绍如何使用WinCC中的SVG...
SVG图像变形过渡轮播图就是利用SVG的特性,结合JavaScript来实现一种创新的图片轮播效果,它在图片切换时,通过动态改变SVG路径,形成平滑的图形过渡动画,给用户带来视觉上的冲击和交互体验。 首先,我们要理解SVG...
SVG图像生成示例是利用C#编程语言实现的一种高效解决方案,特别针对网页地图中大量数据点的渲染问题。SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它能够提供清晰、无损的图像质量,无论放大多少...
SVG是一种基于XML的矢量图形格式,可以提供清晰的分辨率独立的图像。这意味着无论在任何尺寸下,SVG图像都能保持其清晰度,不会像像素图那样出现模糊或锯齿状边缘。此外,SVG文件通常比JPEG或PNG等位图格式更小,有...
SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它允许用户创建和编辑图形,而不会因放大或缩小而损失清晰度。在Windows Explorer中,原生支持SVG图像预览的功能相对较弱,因此,针对这种情况,出现...
SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,广泛应用于网页设计、图形编程和移动应用中。SVG图像可以无限放大而不失真,因为它们是通过数学公式定义的,而不是像素网格。SVG查看器是专为方便查看...
SVG(Scalable Vector Graphics)是一种矢量图格式,与传统的位图图像不同,SVG图像可以无损缩放,不会因为放大而出现像素化。在Android应用中,使用SVG可以提供高质量的图标和图形,尤其适用于多种屏幕尺寸和分辨率...
在给定的资源"ios-UIImageView加载SVG格式的图片.zip"中,包含了一个名为"SVGProject"的示例项目,它可能是一个简单的iOS应用,演示了如何在UIImageView中加载并显示SVG图像。这个项目可以作为学习如何在iOS应用中...
SVG系列--基于XSL技术SVG图像的更新
全国各省市SVG地图全国各省市SVG地图全国各省市SVG地图全国各省市SVG地图全国各省市SVG地图全国各省市SVG地图全国各省市SVG地图全国各省市SVG地图全国各省市SVG地图全国各省市SVG地图全国各省市SVG地图全国各省市SVG...
SVG,全称可缩放矢量图,是一种基于XML的图像格式,用于描述二维图形和图像。SVG图像的核心优势在于其矢量特性,意味着无论图像被放大多少倍,都能保持清晰无失真。这是因为SVG不是通过像素来表示图像,而是通过数学...
SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它允许创建可缩放的、高质量的图形,广泛应用于网页设计、软件开发以及移动应用程序。MFC(Microsoft Foundation Classes)是微软提供的一个C++类库,...
"使用 Vite-SVG-Loader 实现 SVG 图像的轻量级引入" 在现代 Web 开发中,使用 SVG 图像已经成为一个非常常见的需求,特别是在 Vue 应用程序中。然而,引入 SVG 图像经常会遇到一些问题,例如图像大小问题、浏览器...
在.NET开发环境中,SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它允许开发者创建可缩放的图形,这些图形在放大时不会失真。SVG图像在网页设计、图标制作以及数据可视化等领域广泛应用。然而,在...
SVG系列--数字水印在SVG图像信息安全中的应用
SVG(Scable Vector Graphics,可升级矢量图像)是一种基于XML的开放的矢量图形描述语言。SVG图像是与XML1.0兼容的文档,SVG元素是指示如何绘制图像的一些指令,阅读器(Viewer)解释这些指令,把SVG图像在指定设备上...