28
软软软软软软软 软软软软软软软 软软 软软

软件工程学实验

  • Upload
    gaille

  • View
    91

  • Download
    0

Embed Size (px)

DESCRIPTION

软件工程学实验. 马丽. 实验3. 实验3.1 Visio 绘图初步 实验3.2 Visio 绘制工程图形. 实验3.1 Visio 绘图初步. Visio 系列产品大约从1990年开始研发。 Visio 软件秉承了“模块化”和“可重用性”的先进设计思想,通过提供许多应用领域的基本图形模块,允许用户通过拖放图件来组合出自己所需要的图形,使用十分简单,大大简化了用户的工作,产品受到广泛的欢迎 1995年,这家研发 Visio 软件的公司更名为 Visio, 并于同年完成了股票上市. 实验3.1 Visio 绘图初步. - PowerPoint PPT Presentation

Citation preview

Page 1: 软件工程学实验

软件工程学实验软件工程学实验

马丽马丽

Page 2: 软件工程学实验

实验实验 3 3

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 实验实验 3.2 3.2 VisioVisio 绘制工程图形绘制工程图形

Page 3: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 VisioVisio 系列产品大约从系列产品大约从 19901990 年开始研发。年开始研发。 VisioVisio 软件软件

秉承了“模块化”和“可重用性”的先进设计思想,秉承了“模块化”和“可重用性”的先进设计思想,通过提供许多应用领域的基本图形模块,允许用户通通过提供许多应用领域的基本图形模块,允许用户通过拖放图件来组合出自己所需要的图形,使用十分简过拖放图件来组合出自己所需要的图形,使用十分简单,大大简化了用户的工作,产品受到广泛的欢迎单,大大简化了用户的工作,产品受到广泛的欢迎

19951995 年,这家研发年,这家研发 VisioVisio 软件的公司更名为软件的公司更名为 VisioVisio ,,并于同年完成了股票上市并于同年完成了股票上市

Page 4: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 19991999 年,年, MicrosoftMicrosoft 以股票交易方式并购了以股票交易方式并购了 VisioVisio 公公

司 , 不 久 推 出 新 版 本司 , 不 久 推 出 新 版 本 VisioVisio 软 件 。 至 此 , 和软 件 。 至 此 , 和WordWord 、、 ExcelExcel 、、 PowerPointPowerPoint 、、 FrontPageFrontPage 、、 AccessAccess

等软件一样,等软件一样, VisioVisio 也成为也成为 Microsoft OfficeMicrosoft Office 家族的一家族的一员,得到了员,得到了 MicrosoftMicrosoft 强大的技术支持强大的技术支持

Page 5: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 VisioVisio 实际上只能说是一个绘图工具软件。但是,在目实际上只能说是一个绘图工具软件。但是,在目

前已有的各类绘图软件中,前已有的各类绘图软件中, VisioVisio 是建立流程图、组是建立流程图、组织图、日程表、行销图、布置图等各种图形图表最快织图、日程表、行销图、布置图等各种图形图表最快速、最简便的工具之一速、最简便的工具之一

Page 6: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 VisioVisio 带有一个绘图模板集,包含了用于各种商业和工带有一个绘图模板集,包含了用于各种商业和工

程应用的符号。其中的软件和系统开发模板提供了流程应用的符号。其中的软件和系统开发模板提供了流程图、数据流图、实体程图、数据流图、实体 -- 联系 联系 ((E-R) E-R) 图、图、 UMLUML 图以图以及其他许多图形符号及其他许多图形符号

模板提供了一个不断补充和发展的用于存储图表元素模板提供了一个不断补充和发展的用于存储图表元素的定义和描述信息的有限资料库。由于其所具有的强的定义和描述信息的有限资料库。由于其所具有的强大的专业绘图功能,系统分析和设计人员可以用大的专业绘图功能,系统分析和设计人员可以用 VisioVisio

来创建来创建 CASECASE 应用中所需要的任何系统模型应用中所需要的任何系统模型

Page 7: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 1. 1. VisioVisio 的功能与特色的功能与特色

VisioVisio软件的核心功能包含了智慧图元技术、智慧型绘图和开发式架构,软件的核心功能包含了智慧图元技术、智慧型绘图和开发式架构,它的最大特色就是“拖拽式绘图”,这也是它的最大特色就是“拖拽式绘图”,这也是 VisioVisio与其他绘图软件的最与其他绘图软件的最大区别之处。用户只需用鼠标把相应的图件拖动到绘图页中,就能生成大区别之处。用户只需用鼠标把相应的图件拖动到绘图页中,就能生成相应的图形,可以对图形进行各种编辑操作。通过对大量图件的组合,相应的图形,可以对图形进行各种编辑操作。通过对大量图件的组合,就能绘制出各种图形。就能绘制出各种图形。

说说 VisioVisio 功能强大,是由于它不但能绘制各种各样的专业图形,功能强大,是由于它不但能绘制各种各样的专业图形,还可以绘制丰富的生活图形,无论是办公用户还是工程技术人还可以绘制丰富的生活图形,无论是办公用户还是工程技术人员,都可以用它来绘制自己的图形,包括程序流程图、工艺流员,都可以用它来绘制自己的图形,包括程序流程图、工艺流程图、企业机构图等等程图、企业机构图等等

Page 8: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 VisioVisio 提供的模板包括:提供的模板包括:

WebWeb图表图表 地图地图 电气工程电气工程 工艺工程工艺工程 机械工程机械工程 建筑设计图建筑设计图 框图框图 灵感触发灵感触发 流程图流程图 软件软件 数据库数据库 图表和图形图表和图形 网络网络 项目日程项目日程 业务进程业务进程 组织结构图组织结构图

Page 9: 软件工程学实验

““ 软件”模软件”模板板

Page 10: 软件工程学实验

““ 网络”模网络”模板板

Page 11: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 用户也可以根据自己的需要建立个性化的新模板。因用户也可以根据自己的需要建立个性化的新模板。因

此,此, VisioVisio 的应用范围几乎是没有限制的的应用范围几乎是没有限制的 VisioVisio 与与 MicrosoftMicrosoft 的的 OfficeOffice 系列软件等有着很好的整系列软件等有着很好的整

合 性 , 同 时 , 用 户 也 可 以 轻 松 地 利 用 局 域 网 和合 性 , 同 时 , 用 户 也 可 以 轻 松 地 利 用 局 域 网 和InternetInternet 来分享他们的图表,沟通想法等 来分享他们的图表,沟通想法等

Page 12: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 2. 2 2. 2 VisioVisio 的文件类型的文件类型

绘图文件绘图文件 (.(.vsd) vsd) ::用于存储绘制的各种图形。—个绘图文用于存储绘制的各种图形。—个绘图文件中可以有多个绘图页,它是件中可以有多个绘图页,它是 VisioVisio中最常用的文件中最常用的文件

模具文件模具文件 (.(.vss) vss) ::用来存放绘图过程中生成各种图形的用来存放绘图过程中生成各种图形的“母体”,即形状“母体”,即形状 (( 图件图件 ) ) 。。 VisioVisio 自带了大量对应于不同自带了大量对应于不同绘图场合的模具文件,给绘图带来了很大的方便。用户还可绘图场合的模具文件,给绘图带来了很大的方便。用户还可以根据自己的需要,生成自己的模具文件以根据自己的需要,生成自己的模具文件

Page 13: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘图初步 绘图初步 模板文件模板文件 (.(.vst) vst) ::同时存放了绘图文件和模具文件,并定同时存放了绘图文件和模具文件,并定义了相应的工作环境。义了相应的工作环境。 VisioVisio 自带了许多模板文件。用户可自带了许多模板文件。用户可以利用以利用 VisioVisio 自带的或者自己生成的模具文件,对操作环境自带的或者自己生成的模具文件,对操作环境加以改造,进而生成自己的模板文件加以改造,进而生成自己的模板文件

工作环境文件工作环境文件 (.(.vsw) vsw) ::用户根据自己的需要将绘图文件与用户根据自己的需要将绘图文件与模具文件结合起来,定义最适合个人的工作环境,生成工作模具文件结合起来,定义最适合个人的工作环境,生成工作环境文件。该文件存储了绘图窗口、各组件的位置和排列方环境文件。该文件存储了绘图窗口、各组件的位置和排列方式等。在下次打开时,可以直接进入预设的工作环境。式等。在下次打开时,可以直接进入预设的工作环境。

此外,此外, VisioVisio 还支持其他多种格式的文件还支持其他多种格式的文件

Page 14: 软件工程学实验

实验目的 实验目的 了解了解 VisioVisio 工具软件的功能特色、安装、工作环境和工具软件的功能特色、安装、工作环境和

基本操作等各方面的基本知识基本操作等各方面的基本知识 掌握应用掌握应用 VisioVisio 工具绘制软件开发图形的基本操作工具绘制软件开发图形的基本操作

Page 15: 软件工程学实验

实验实验 3.2 3.2 VisioVisio 绘制工程图形绘制工程图形 除了做一般绘图操作外,除了做一般绘图操作外, VisioVisio 还具有很强的开发能还具有很强的开发能力,可以通过开发力,可以通过开发 VisioVisio 解决方案来扩展解决方案来扩展 VisioVisio 的应用的应用 所谓解决方案就是通过组合所谓解决方案就是通过组合 VisioVisio 图形和程序来将现实世界图形和程序来将现实世界模型化,以解决特定的绘图问题。软件的解决方案通常是将模型化,以解决特定的绘图问题。软件的解决方案通常是将一个自定义的程序与一个或多个封装的软件应用程序组合起一个自定义的程序与一个或多个封装的软件应用程序组合起来。解决方案的开发人员不是从头开发功能,而是使用内置来。解决方案的开发人员不是从头开发功能,而是使用内置在封装产品中的现有功能在封装产品中的现有功能

Page 16: 软件工程学实验

实验实验 3.2 3.2 VisioVisio 绘制工程图形绘制工程图形 VisioVisio 解决方案通常将一些图形解决方案通常将一些图形 (( 由由 VisioVisio 提供的或为该提供的或为该

解决方案开发的解决方案开发的 ) ) 与一个模板组合起来,以创建一些使与一个模板组合起来,以创建一些使用这些图形的绘图用这些图形的绘图

VisioVisio 解决方案还可以使用解决方案还可以使用 Automation (Automation ( 自动操作自动操作 ) ) 来来控制它的图形和绘图控制它的图形和绘图

VisioVisio 解决方案中的自定义程序可以使用任意一种支持解决方案中的自定义程序可以使用任意一种支持将将 AutomationAutomation 作 为客户 的编程语言来编写,例如作 为客户 的编程语言来编写,例如VBAVBA 、、 VBVB 或或 C++C++ 等等

Page 17: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘制工程图形绘制工程图形 1. 1. 关于关于 VisioVisio 解决方案解决方案

VisioVisio解决方案通常包括主要图形的样板解决方案通常包括主要图形的样板 ((stencil) stencil) ,,这些样板被称为“主图形”这些样板被称为“主图形” ((master) master) ,,用户用户可以将其拖放到绘图页面中,以创建一个绘图,而不必手工绘制任何内容。解决方案可能还包可以将其拖放到绘图页面中,以创建一个绘图,而不必手工绘制任何内容。解决方案可能还包括一些特定图形括一些特定图形 ((如标题框、徽标或框架等如标题框、徽标或框架等 ) ) 样板的模板样板的模板 ((template) template) ,,以及一些预先定义绘图比以及一些预先定义绘图比例、绘图大小和用于打印的纸张大小等的模板,以提供给新的绘图中使用。例、绘图大小和用于打印的纸张大小等的模板,以提供给新的绘图中使用。

程序程序 ((无论是解决方案中无论是解决方案中 VisioVisio文档的文档的 VBAVBA代码,还是代码,还是 VisioVisio文档外的独立程序文档外的独立程序 ) ) 可以帮助创建可以帮助创建绘图、分析绘图,或者在绘图和外部数据源之间传输信息。绘图、分析绘图,或者在绘图和外部数据源之间传输信息。

可以将可以将VisioVisio 图形设计成可重用的组件,以便用户可以在不必使用绘图工具的情况下图形设计成可重用的组件,以便用户可以在不必使用绘图工具的情况下创建绘图。创建绘图。 VisioVisio 是一种用于建模的优秀工具,因为这些图形不仅可以形象地表示模是一种用于建模的优秀工具,因为这些图形不仅可以形象地表示模型范围内的对象,而且它们被设计成为正确模型的开发方式。型范围内的对象,而且它们被设计成为正确模型的开发方式。

在一个设计良好的在一个设计良好的 VisioVisio 解决方案中,图形与模型范围中的对象相对应,创建绘图就解决方案中,图形与模型范围中的对象相对应,创建绘图就是构造模型。图形行为可以确保正确的建模和正确的图形表示,并且使用户可以忽是构造模型。图形行为可以确保正确的建模和正确的图形表示,并且使用户可以忽略具体的属性来创建具有可读性的示意图。略具体的属性来创建具有可读性的示意图。

Page 18: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘制工程图形绘制工程图形 2. 2. 使用使用 VisioVisio 图形创建解决方案图形创建解决方案

VisioVisio 提供了使开发人员可以很容易地访问其专业化图形功能的解提供了使开发人员可以很容易地访问其专业化图形功能的解决方案,并且提供了一些可以利用决方案,并且提供了一些可以利用 ShapeSheetShapeSheet 窗口中的公式编程窗口中的公式编程的图形。的图形。

每个每个 VisioVisio 图形都包括一类公式,以表示它的属性,例如它的宽度图形都包括一类公式,以表示它的属性,例如它的宽度和高度等,以及像当用户双击它时图形的变化等这样的行为。因为和高度等,以及像当用户双击它时图形的变化等这样的行为。因为VisioVisio 图形可以通过公式编程,所以可以将一些重要的数据图形可以通过公式编程,所以可以将一些重要的数据 (( 如零如零件数量、名称、生产商等件数量、名称、生产商等 ) ) 与表示设备的图形等关联起来。于是,与表示设备的图形等关联起来。于是,图形就会变成一些功能强大的组件,它们在一个大型解决方案中的图形就会变成一些功能强大的组件,它们在一个大型解决方案中的独特行为完全是由所编写的公式提供的独特行为完全是由所编写的公式提供的

Page 19: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘制工程图形绘制工程图形 (1) (1) 将对象组合成绘图将对象组合成绘图 VisioVisio 图 形 都 是 一些“参数 性 ” 的矢量集 合 图 形 , 也就是图 形 都 是 一些“参数 性 ” 的矢量集 合 图 形 , 也就是

说,说, VisioVisio 图形可以根据具体的参数值图形可以根据具体的参数值 (( 有些是由有些是由 VisioVisio引擎定引擎定义的,有些则是由图形开发人员定义的义的,有些则是由图形开发人员定义的 ) ) 来调整它的“几何形来调整它的“几何形状”及其他属性。图形的几何形状随用户对该形状所做的操作,状”及其他属性。图形的几何形状随用户对该形状所做的操作,动态地计算公式而变化。可以通过组合一些智能对象来创建所动态地计算公式而变化。可以通过组合一些智能对象来创建所需的绘图。需的绘图。

在图在图 3-123-12 所示的螺栓图形中,螺栓长度、螺纹长度和螺栓直径所示的螺栓图形中,螺栓长度、螺纹长度和螺栓直径都是一些由公式控制的参数。都是一些由公式控制的参数。

Page 20: 软件工程学实验

VisioVisio 图形是“参数性”的图形图形是“参数性”的图形

Page 21: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘制工程图形绘制工程图形 螺帽直径和螺帽厚度都是通过这些参数计算得到的。螺帽直径和螺帽厚度都是通过这些参数计算得到的。

在实际的物理范围内,这些参数彼此之间是相互独立在实际的物理范围内,这些参数彼此之间是相互独立的。用户可以通过拖动选择柄更改螺栓长度或螺栓直的。用户可以通过拖动选择柄更改螺栓长度或螺栓直径,或者通过拖动控制柄更改螺纹长度,来设置这些径,或者通过拖动控制柄更改螺纹长度,来设置这些参数。而程序可以使用生产商的可用尺寸数据库中的参数。而程序可以使用生产商的可用尺寸数据库中的数值数据来设置这些参数数值数据来设置这些参数

Page 22: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘制工程图形绘制工程图形 (2) (2) 用图形表示组件用图形表示组件 就像一个程序中的过程会将功能封装起来,以使它们更易于使用和重用一样,就像一个程序中的过程会将功能封装起来,以使它们更易于使用和重用一样, VisioVisio会将绘图页面中的行为封装起来。可会将绘图页面中的行为封装起来。可

以将以将VisioVisio 图形看作是组件,其默认行为由图形看作是组件,其默认行为由 VisioVisio引擎提供,并且它独特的行为是由所编写的公式提供的。引擎提供,并且它独特的行为是由所编写的公式提供的。 一个解决方案很少是由一个图形组成的,通常需要开发一套支持某种特定类型绘图的图形,然后在一个解决方案很少是由一个图形组成的,通常需要开发一套支持某种特定类型绘图的图形,然后在 VisioVisio 样板中将这些图样板中将这些图

形组合成主图形。在根据该主图形创建实例形组合成主图形。在根据该主图形创建实例 ((图形图形 ) ) 的样板中,主图形可以由一个图形组成,也可以由多个图形或一组图的样板中,主图形可以由一个图形组成,也可以由多个图形或一组图形组成。实例将从主图形那里继承很多特征。形组成。实例将从主图形那里继承很多特征。

用户用户 ((或程序或程序 ) ) 可以将主图形从样板拖放到可以将主图形从样板拖放到 VisioVisio 绘图中。样板使自定义的图形更易于重用——相同的图形可以被工程师绘图中。样板使自定义的图形更易于重用——相同的图形可以被工程师用来模拟产品配置,被销售人员用来向顾客展示他们正在购买的产品,也可以被图形艺术家用来创作系列产品的目录等。用来模拟产品配置,被销售人员用来向顾客展示他们正在购买的产品,也可以被图形艺术家用来创作系列产品的目录等。

当用户首次将一个主图形拖放到绘图页中时,当用户首次将一个主图形拖放到绘图页中时, VisioVisio将自动在该绘图页中创建一个主图形实例,并将该主图形的一个副本将自动在该绘图页中创建一个主图形实例,并将该主图形的一个副本

((被称为“文档主图形”被称为“文档主图形” ) ) 添加到绘图的文档样板中。将文档样板存储在绘图文件中可以带来两个主要的好处:添加到绘图的文档样板中。将文档样板存储在绘图文件中可以带来两个主要的好处: 1) 1) 绘图是完全自我包含的。一旦用户创建了绘图,就不再需要样板。绘图是完全自我包含的。一旦用户创建了绘图,就不再需要样板。 2) 2) 主图形的实例将从文档样板继承属性。用户可以编辑文档样板中的主图形,以更改绘图中该主图形所有实例的特征。主图形的实例将从文档样板继承属性。用户可以编辑文档样板中的主图形,以更改绘图中该主图形所有实例的特征。 因为一个主图形的每个实例都继承文档主图形的特征,所以实例可以支持大量复杂的行为,而同时保持相对较小的规模。因为一个主图形的每个实例都继承文档主图形的特征,所以实例可以支持大量复杂的行为,而同时保持相对较小的规模。

可以通过更改文档主图形来将整体更改传递给实例。可以通过更改文档主图形来将整体更改传递给实例。 例如,图例如,图 3-133-13 所示的网络设备图形设计是与网络设备架对齐和联系在一起的,每个图形都与生产商提供的产品规格匹配,所示的网络设备图形设计是与网络设备架对齐和联系在一起的,每个图形都与生产商提供的产品规格匹配,

以便能够准确地放置它,而图形的设计者自定义了图形的对齐框,并添加了一些连接点,以使图形更易于使用。以便能够准确地放置它,而图形的设计者自定义了图形的对齐框,并添加了一些连接点,以使图形更易于使用。

Page 23: 软件工程学实验

网络设备图形与设备架图形对齐和联系网络设备图形与设备架图形对齐和联系

Page 24: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘制工程图形绘制工程图形 22 为了帮助用户使用主图形来创建绘图,通常需要提供一个为了帮助用户使用主图形来创建绘图,通常需要提供一个

模板。模板可以提供绘图页中已经存在的图形,但更为重要的模板。模板可以提供绘图页中已经存在的图形,但更为重要的是,它可以设置绘图页,使它具有统一的网格和比例,并且可是,它可以设置绘图页,使它具有统一的网格和比例,并且可以包含指定的样式和层。模板还可以打开一个或多个样板。当以包含指定的样式和层。模板还可以打开一个或多个样板。当用户在模板的基础上创建绘图时,用户在模板的基础上创建绘图时, VisioVisio将打开一些样板,并将打开一些样板,并创建一个新的绘图文件,将模板的样式及其他属性复制到这个创建一个新的绘图文件,将模板的样式及其他属性复制到这个新文件中。就像使用样板一样,一旦用户创建了绘图,就不再新文件中。就像使用样板一样,一旦用户创建了绘图,就不再需要这个模板。需要这个模板。

Page 25: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘制工程图形绘制工程图形 3. 3. 使用使用 SmartShapeSmartShape 技术开发困形技术开发困形 使用使用 Microsoft VisioMicrosoft Visio 的的 SmartShapeSmartShape 技术,可以来构建对于需要创建的各种绘图或图表有意义的特征模型。通过定义一些公技术,可以来构建对于需要创建的各种绘图或图表有意义的特征模型。通过定义一些公

式,使图形的行为符合应用于它们所对应的对象的设计规则、代码或原则。式,使图形的行为符合应用于它们所对应的对象的设计规则、代码或原则。 每个每个 VisioVisio 图形都有它自己的图形都有它自己的 ShapeSheetShapeSheet 表格,它定义了该图形独特的行为和功能。可以将表格,它定义了该图形独特的行为和功能。可以将ShapeSheetShapeSheet看作是图形的属性页,看作是图形的属性页,

其中每个属性都是由一个随用户对该图形所做的操作动态变化的值或公式来设置的。可以在其中每个属性都是由一个随用户对该图形所做的操作动态变化的值或公式来设置的。可以在 ShapeSheetShapeSheet窗口中查看和编辑图窗口中查看和编辑图形的公式。形的公式。

希望通过外部编程获得的很多特性都可以通过希望通过外部编程获得的很多特性都可以通过 ShapeSheetShapeSheet窗口来控制。例如,通过在窗口来控制。例如,通过在 ShapeSheetShapeSheet窗口中定义用于某个图形窗口中定义用于某个图形的公式,可以将一些菜单项目添加到这个图形的快捷菜单中。这些公式可以控制图形的其他属性,例如:的公式,可以将一些菜单项目添加到这个图形的快捷菜单中。这些公式可以控制图形的其他属性,例如:

1) 1) 几何形状几何形状 ((翻转、旋转、显示或隐藏路径翻转、旋转、显示或隐藏路径 ) ) 。。 2) 2) 颜色、模式和线条的粗细。颜色、模式和线条的粗细。 3) 3) 文本,包括字体、段落格式和方向等。文本,包括字体、段落格式和方向等。 4) 4) 帮助用户调整图形的控制柄。帮助用户调整图形的控制柄。 5) 5) 可以连接其他图形的连接点。可以连接其他图形的连接点。 6) 6) 可以包含用户数据的自定义属性。可以包含用户数据的自定义属性。 表格形式的界面使它更易于使用单元格引用来将一个图形属性与另一个图形属性联系起来,这意味着图形属性可以以微妙和表格形式的界面使它更易于使用单元格引用来将一个图形属性与另一个图形属性联系起来,这意味着图形属性可以以微妙和

强大的方式彼此产生影响。例如,可以将一个图形强大的方式彼此产生影响。例如,可以将一个图形 ((如机械绘图中的一个零件如机械绘图中的一个零件 ) ) 的颜色与它的尺度联系在一起,以指出该零的颜色与它的尺度联系在一起,以指出该零件是否在公差范围内。件是否在公差范围内。

Page 26: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘制工程图形绘制工程图形 24. 24. 在在 VisioVisio 解决方案中使用解决方案中使用 AutomationAutomation

有些解决方案不仅仅需要图形、样板和模板。例如,可能需要根据每天都会变有些解决方案不仅仅需要图形、样板和模板。例如,可能需要根据每天都会变化的数据创建一些绘图,或者需要执行一些反复进行的常规图形开发任务等。化的数据创建一些绘图,或者需要执行一些反复进行的常规图形开发任务等。通过在解决方案中使用通过在解决方案中使用 Automation (Automation ( 自动操作自动操作 ) ) 来合并来合并 VisioVisio引擎的功能引擎的功能——只需简单地使用它的对象,就可以自动执行这些任务。——只需简单地使用它的对象,就可以自动执行这些任务。

如果熟悉如果熟悉 VBAVBA ,,那么可以继续使用对象——诸如命令按钮、用户窗体、数据库那么可以继续使用对象——诸如命令按钮、用户窗体、数据库和字段等控件。使用和字段等控件。使用 AutomationAutomation ,,也可以使用其他应用程序的对象。绘图、也可以使用其他应用程序的对象。绘图、主图形、图形,甚至主图形、图形,甚至 VisioVisio菜单和工具都可以成为程序的组件。程序可以在一菜单和工具都可以成为程序的组件。程序可以在一个个 VisioVisio 实例中运行,也可以启动实例中运行,也可以启动 VisioVisio 应用程序,然后访问它所需要的对象。应用程序,然后访问它所需要的对象。

VisioVisio 包括包括 VBAVBA ,,因此,不需要使用单独的开发环境来编写程序。但是,可以使因此,不需要使用单独的开发环境来编写程序。但是,可以使用任意支持用任意支持 AutomationAutomation 的语言来编写控制的语言来编写控制 VisioVisio引擎的程序。引擎的程序。

Page 27: 软件工程学实验

实验实验 3.1 3.1 VisioVisio 绘制工程图形绘制工程图形 5. 5. 计划计划VisioVisio解决方案解决方案 最简单的解决方案就是使用由最简单的解决方案就是使用由VisioVisio提供的内容,以及用户所创建的图形、样板和模板的标准化绘图。如果想为创建某种特定类型的绘图提供更多的帮助,那么可能会希望以提供的内容,以及用户所创建的图形、样板和模板的标准化绘图。如果想为创建某种特定类型的绘图提供更多的帮助,那么可能会希望以VBAVBA代码、代码、COM (component object modelCOM (component object model ,,组件对象模型组件对象模型) ) 加载项或加载项或VisioVisio附件的形式,来为解决方案添加一些程序。如果所创建的绘图符合一组严格的规则,那么解附件的形式,来为解决方案添加一些程序。如果所创建的绘图符合一组严格的规则,那么解决方案就可以包括一个使用来自其他数据源的数据生成用户可以修改的绘图的应用程序。如果解决方案不仅仅是为了提供绘图,那么它还将涉及到与外部数据库,甚至外部应用程序决方案就可以包括一个使用来自其他数据源的数据生成用户可以修改的绘图的应用程序。如果解决方案不仅仅是为了提供绘图,那么它还将涉及到与外部数据库,甚至外部应用程序 ((从市场上购买的或者内部开发的从市场上购买的或者内部开发的) ) 的集成问题。的集成问题。

(1) (1) 计划开发过程计划开发过程 一位开发人员可能会经常创建一个由自定义图形、模板及少量代码组成的简单的一位开发人员可能会经常创建一个由自定义图形、模板及少量代码组成的简单的VisioVisio解决方案。但是,更周密的解决方案可能会需要一个开发小组,而每位小组成员都需要具备一定的技术。例如,一个小组可能是由下面的成员组成的:解决方案。但是,更周密的解决方案可能会需要一个开发小组,而每位小组成员都需要具备一定的技术。例如,一个小组可能是由下面的成员组成的: 1) 1) 一名系统设计师。他了解软件系统的设计过程,并且对一名系统设计师。他了解软件系统的设计过程,并且对VisioVisio及其结构和常用功能也有很好的理解。系统设计师拥有自己的技术思想和及其结构和常用功能也有很好的理解。系统设计师拥有自己的技术思想和VisioVisio解决方案的设计方案。解决方案的设计方案。 2) 2) 多名图形开发人员。他们需要非常熟悉多名图形开发人员。他们需要非常熟悉VisioVisio的绘图工具和的绘图工具和ShapeSheetShapeSheet窗口,需要具有扎实的数学和几何学知识,因为他们的大多数工作都会涉及到创建控制图形行为的公式方面的内容。窗口,需要具有扎实的数学和几何学知识,因为他们的大多数工作都会涉及到创建控制图形行为的公式方面的内容。 3) 3) 多名多名AutomationAutomation开发人员。他们掌握用来开发解决方案的编程语言开发人员。他们掌握用来开发解决方案的编程语言 ((VBAVBA、、Visual BasicVisual Basic或或C++C++,,这取决于解决方案需要的集成类型这取决于解决方案需要的集成类型) ) 。。AutomationAutomation开发人员需要对开发人员需要对VisioVisio图形和公式有一定的了解,并且需要非常熟悉图形和公式有一定的了解,并且需要非常熟悉VisioVisio对象模型。对象模型。 4) 4) 多名学术问题专家。他们具有广泛的知识背景,并且在解决方案所属的领域内具有一定的经验。他们需要向开发小组提供行业或公司标准、处理方法、实用性,以及规则的例外情况等方面的建议。多名学术问题专家。他们具有广泛的知识背景,并且在解决方案所属的领域内具有一定的经验。他们需要向开发小组提供行业或公司标准、处理方法、实用性,以及规则的例外情况等方面的建议。 一旦成立了开发小组,就可以为开发过程采用下述执行步骤:一旦成立了开发小组,就可以为开发过程采用下述执行步骤: 1) 1) 拜访用户以了解他们的需求,并确定解决方案所属领域内的对象。在一个大型工程中,需要考虑文档管理方面的需求,以便其他用户和开发人员能够查阅这些文档,以了解他们所需的内容。拜访用户以了解他们的需求,并确定解决方案所属领域内的对象。在一个大型工程中,需要考虑文档管理方面的需求,以便其他用户和开发人员能够查阅这些文档,以了解他们所需的内容。 2) 2) 逐步地开发解决方案,并且在每个阶段都要求用户介入,以获得反馈信息。逐步地开发解决方案,并且在每个阶段都要求用户介入,以获得反馈信息。 3) 3) 从开发图形并允许用户试用它们开始,然后根据用户的反馈信息来修改图形。从开发图形并允许用户试用它们开始,然后根据用户的反馈信息来修改图形。 4) 4) 一旦用户对最初的图形设计感到满意,就可以开发用户需要用来构建绘图的所有助理程序或附件,并且,如果需要,还可以调整这些图形,以使它们能够更顺利地工作。一旦用户对最初的图形设计感到满意,就可以开发用户需要用来构建绘图的所有助理程序或附件,并且,如果需要,还可以调整这些图形,以使它们能够更顺利地工作。 5) 5) 最后,如果解决方案的图形和附件需要与数据库或其他应用程序进行交互,那么需要在开发过程的早期准确地确定如何来实现这一点,以便可以相应地设计图形和附件。最后,如果解决方案的图形和附件需要与数据库或其他应用程序进行交互,那么需要在开发过程的早期准确地确定如何来实现这一点,以便可以相应地设计图形和附件。 (2) (2) 计划图形和样板计划图形和样板 可以通过构建所需要的图形,然后用公式实现尽可能多的图形功能,来开始开发解决方案。之所以从图形开始主要有两个重要原因:可以通过构建所需要的图形,然后用公式实现尽可能多的图形功能,来开始开发解决方案。之所以从图形开始主要有两个重要原因: 1) 1) 图形可以是智能的——可以使用图形可以是智能的——可以使用VisioVisio图形本身固有的能力来处理多种必须通过编码才能实现的图形功能。图形本身固有的能力来处理多种必须通过编码才能实现的图形功能。 2) 2) 图形独立于控制它们的代码。一旦开发出解决方案将要使用的主图形,就可以更改这些图形,而不必重新编译代码,反之亦然。图形独立于控制它们的代码。一旦开发出解决方案将要使用的主图形,就可以更改这些图形,而不必重新编译代码,反之亦然。 如果图形行为是可预测的,并且可以使用公式来实现如果图形行为是可预测的,并且可以使用公式来实现 ((例如,自动调整大小或缩放例如,自动调整大小或缩放) ) ,那么可以使用,那么可以使用ShapeSheetShapeSheet为图形设置它的行为。如果行为是在运行时动态变化的,例如,图形中的文本或绘图中的图形的排列方式都可能是变化的,那么可以在程序为图形设置它的行为。如果行为是在运行时动态变化的,例如,图形中的文本或绘图中的图形的排列方式都可能是变化的,那么可以在程序 ((如文档的如文档的VBAVBA代码、代码、ActiveXActiveX控件、控件、VisioVisio附件,或者附件,或者COMCOM加载项加载项) ) 中处理这种行为。通中处理这种行为。通

过设置图形公式,可以更准确地控制图形的外观和行为。如果可以创建一个主图形的样板来完成解决方案,那么用户可能就不再需要使用过设置图形公式,可以更准确地控制图形的外观和行为。如果可以创建一个主图形的样板来完成解决方案,那么用户可能就不再需要使用VisioVisio绘图工具绘制些什么。绘图工具绘制些什么。 当为程序构建主图形时,可以通过手工创建各种希望程序自动执行的绘图,在当为程序构建主图形时,可以通过手工创建各种希望程序自动执行的绘图,在VisioVisio实例中测试这些主图形。这将会对需要编写的代码及需要提供的数据很有帮助。实例中测试这些主图形。这将会对需要编写的代码及需要提供的数据很有帮助。 (3) (3) 计划模板计划模板 模板为用户提供了一个共用的工作区。通过使用户简单地从一些图形组中进行选择来创建标准化的绘图。模板为用户提供了一个共用的工作区。通过使用户简单地从一些图形组中进行选择来创建标准化的绘图。 模板可以包括一些样式,并且可以使用统一的网格和度量系统来设置绘图页面。模板可以设置其中已经包含图形的绘图页面,并且可以打开一个或多个样板,以使用户可以添加更多的图形。模板还可以通过包括模板可以包括一些样式,并且可以使用统一的网格和度量系统来设置绘图页面。模板可以设置其中已经包含图形的绘图页面,并且可以打开一个或多个样板,以使用户可以添加更多的图形。模板还可以通过包括ActiveXActiveX控件控件 ((如命令按钮和文本框等如命令按钮和文本框等) ) 、执行特定任务的自定义控件,以及允许用户通过控件与绘图进行交互的、执行特定任务的自定义控件,以及允许用户通过控件与绘图进行交互的VBAVBA代码,来为代码,来为

绘图提供它们自己的用户界面。绘图提供它们自己的用户界面。 (4) (4) 自动实现图形和模板自动实现图形和模板 当完成解决方案的主图形和模板的开发之后,就可以使用当完成解决方案的主图形和模板的开发之后,就可以使用AutomationAutomation来实现解决方案的其他内容。具体内容取决于解决方案要达到的目的,以及它所需要的运行环境。但是,通常可以使用来实现解决方案的其他内容。具体内容取决于解决方案要达到的目的,以及它所需要的运行环境。但是,通常可以使用AutomationAutomation进行下面的操作:进行下面的操作: 1) 1) 实现解决方案的用户界面。大多数独立的程序都需要一个对话框或向导页面,来向用户提供操作建议,并提示程序执行所需要的信息。实现解决方案的用户界面。大多数独立的程序都需要一个对话框或向导页面,来向用户提供操作建议,并提示程序执行所需要的信息。 2) 2) 存储和检索数据。图形可以具有自定义属性——通过配置这些属性来提示用户输入数据或图形属性,例如,当将一个主图形拖放到绘图页面中时。但是,为了保护数据类型及防止数据被无意中更改,可能希望解决方案将数据存储在一个外部数据库中,然后从这个外部数据库中检索数据。存储和检索数据。图形可以具有自定义属性——通过配置这些属性来提示用户输入数据或图形属性,例如,当将一个主图形拖放到绘图页面中时。但是,为了保护数据类型及防止数据被无意中更改,可能希望解决方案将数据存储在一个外部数据库中,然后从这个外部数据库中检索数据。 33)设置图形及其属性,或者连接图形。图形可以有一些公式,当程序移动或调整这些公式——就好像在)设置图形及其属性,或者连接图形。图形可以有一些公式,当程序移动或调整这些公式——就好像在VisioVisio绘图窗口中使用鼠标移动或调整图形本身一样,它们将会相应地做些调整。如果发现自己编写了大量操纵图形的复杂代码,那么回过头来,仔细地考虑一下,这些功能是否可以通过图形公式来处理。绘图窗口中使用鼠标移动或调整图形本身一样,它们将会相应地做些调整。如果发现自己编写了大量操纵图形的复杂代码,那么回过头来,仔细地考虑一下,这些功能是否可以通过图形公式来处理。 (5) (5) 集成集成VisioVisio解决方案和数据库解决方案和数据库 集成集成VisioVisio解决方案和数据库需要进行一些计划,以将绘图与数据库保持同步。决定将要使用哪个数据库、将要更改哪些内容、如何更改,以及什么时候进行更改,是很重要的。解决方案和数据库需要进行一些计划,以将绘图与数据库保持同步。决定将要使用哪个数据库、将要更改哪些内容、如何更改,以及什么时候进行更改,是很重要的。 (6) (6) 实现实现AutomationAutomation的不同方法的不同方法 所编写的程序类型取决于打算做些什么。可以在所编写的程序类型取决于打算做些什么。可以在VisioVisio文档或其他文档或其他AutomationAutomation控制器应用程序中编写控制器应用程序中编写VBAVBA宏,也可以用宏,也可以用Visual BasicVisual Basic或或C/C++ C/C++ 编写独立的程序。可以为编写独立的程序。可以为COMCOM加载项编写动态链接库加载项编写动态链接库 ((DLL) DLL) ,,也可以编写另一种与也可以编写另一种与VisioVisio一起运行的特殊类型的一起运行的特殊类型的DLLDLL————称为“称为“VisioVisio库”库” ((VSL) VSL) 。。用户可以从用户可以从WindowsWindows桌面或桌面或WindowsWindows资源管理器运资源管理器运

行程序,也可以在行程序,也可以在VisioVisio中通过选择添加到中通过选择添加到VisioVisio菜单中的命令、选择添加到菜单中的命令、选择添加到VisioVisio工具栏中的按钮,甚至通过双击或右击绘图中的图形,来运行自己的程序。或者,还可以设计程序,使它能够在发生某个事件工具栏中的按钮,甚至通过双击或右击绘图中的图形,来运行自己的程序。或者,还可以设计程序,使它能够在发生某个事件 ((如打开文档或创建文档如打开文档或创建文档) ) 时自动运行。时自动运行。 在在VisioVisio解决方案中实现解决方案中实现AutomationAutomation有有44种基本的方法。可以实现下面这些内容:种基本的方法。可以实现下面这些内容: 1) 1) 独立的可执行独立的可执行 ((EXE) EXE) 文件。这些文件通常使用文件。这些文件通常使用Visual BasicVisual Basic或或C++ C++ 编写,但是,它们也可以使用任意一种支持创建编写,但是,它们也可以使用任意一种支持创建ActiveX AutomationActiveX Automation客户的语言来编写。客户的语言来编写。 2) 2) VisioVisio库。它是具有规定库。它是具有规定VisioVisio入口点和入口点和 ..vsl vsl 文件扩展名的标准的文件扩展名的标准的Windows DLLWindows DLL。。VSLVSL的速度比的速度比EXEEXE文件的速度快许多,但是它必须使用文件的速度快许多,但是它必须使用C++C++来编写。来编写。 3) 3) VBAVBA宏。宏。VBAVBA被包括在被包括在VisioVisio产品中,它可以用来编写宏、创建对话框,或者创建类模块。其他产品中,它可以用来编写宏、创建对话框,或者创建类模块。其他VBAVBA客户客户 ((如如WordWord和和Excel) Excel) 也可以用来控制也可以用来控制VisioVisio。。 4) COM4) COM加载项。它是专门被注册由加载项。它是专门被注册由VisioVisio或其他或其他OfficeOffice应用程序加载的标准的应用程序加载的标准的Windows DLLWindows DLL。。可以在可以在Microsoft Office DeveloperMicrosoft Office Developer中使用任意的中使用任意的OfficeOffice应用程序来构建应用程序来构建COMCOM加载项,也可以在加载项,也可以在VisioVisio中使用中使用VBAVBA来构建来构建COMCOM加载项。另外,还可以使用加载项。另外,还可以使用Visual BasicVisual Basic或或C++C++来创建来创建COMCOM加载项。像加载项。像VSLVSL和和VBAVBA宏一样,宏一样,COMCOM加载项是在与加载项是在与VisioVisio实例相实例相

同的进程中执行的,并且也很容易编写。同的进程中执行的,并且也很容易编写。 5) 5) 在在VisioVisio实例中使用实例中使用VBAVBA来加载和执行用其他语言创建的来加载和执行用其他语言创建的AutomationAutomation服务器服务器 ((DLLDLL或或EXEEXE文件文件) ) 的混合方法。的混合方法。 如果如果AutomationAutomation服务器是被作为服务器是被作为DLLDLL创建的,并且支持广泛的结构范围,那么这种混合方法将支持进程内执行。但是,这种混合方法一般需要进行更谨慎的系统设计。创建的,并且支持广泛的结构范围,那么这种混合方法将支持进程内执行。但是,这种混合方法一般需要进行更谨慎的系统设计。

Page 28: 软件工程学实验

实验目的 实验目的 了解开发了解开发 VisioVisio 解决方案的基本概念解决方案的基本概念 学习应用学习应用 VisioVisio 工具绘制工具绘制 UMLUML 模型图、网络图、机模型图、网络图、机架图和网站图等图形,熟练架图和网站图等图形,熟练 VisioVisio 绘图操作绘图操作