** PowerDesigner 9.5 **
** 配置指南 **
PowerDesigner 9.5 引入了更多强大功能,便于您根据需要,扩展基本元数据的定义。
使用 PowerDesigner 能够在现有概念的基础上扩展出新的概念定义,并为此概念添加特有的属性、约束、符号,并生成代码。
本文将以一个支持 Robustness 结构图的模块扩展来详细说明这一特性。
简介
Robustness 结构图应用于 Collaboration 结构图中。用户可使用三类对象: Boundary 、 Control 以及 Entity 。这些对象有一个特定的表现形式,并遵循下述规则:
· Actor 对象不能直接访问 Control 或 Entity 对象,必须以 Boundary 对象过渡。
· Boundary 对象之间不能彼此通信。并且 Boundary 对象保留为外部使用 (Actor 对象 ) 。
· Actor 对象或 Boundary 对象不能直接访问 Entity 对象,必须以 Control 对象过渡。 Entity 对象之间禁止相互访问。
下图中的文字描述了消息发送的整个过程。

通过以下的 Robustness 结构图扩展配置指南,我们将向您展示 PowerDesigner 的这一特点。
Robustness 配置 : 对象扩展
我们所要实施的三类对象( Boundary 、 Actor 、以及 Entity )将由特定的 UML 对象原型来管理。
在配置文件定义(扩展模块定义)中,元类( metaclasses )树状图显示了 UML 对象元类下的三种原型。

每一种都定义了自己独特的符号,来代表被请求的表单,在这里,还可以使用预定义的表单、位图、或元文件( metafile )。

同时,每一类原型都有一个自定义的工具面板,以便快捷高效的访问新创建的概念。

** Robustness ** ** 配置 ** ** : ** ** 链接检查 ** ** **
由于对对象的严格定义和控制,某些对象间是禁止链接的。
我们仅以第一个规则(即 Actor 对象不能直接访问 Control 或 Entity 对象)的实施为例来进一步说明。
在配置文件中,定义了快速链接( instance link )元类约束,从而确保了如果 Actor 对象出现在一端,则 Control 对象或 Entity 对象一定不会出现在另一端。该约束以 VBScript 编写。当用户运行约束模块时, VBScript 代码将针对每一个属于相应元类的对象而执行,此处即为快速链接。
任何一个链接,如果其源对象为 Actor ,同时目标对象为 Boundary ,则检查失败,另外,对保留对象的测试也会失败。
下图中简短的 VBScript 代码,能够确保用户执行所需的检查。在扩展模块定义的元类树状图中可以看到这段代码。

** Robustness ** ** 配置 ** ** : ** ** 生成文本 ** ** **
最后需要说明的,就是针对每一个结构图生成的文本,它被用来验证所交换消息的有效性。配置文件使用模板生成语言( GTL )来生成基于模块数据的文本。


GTL 的功能包括:通过 PowerDesigner 模块浏览所有集合和对象、测试某些属性、以及在需要时,生成结果文本。
下图中的 GTL 代码具有浏览结构图符号集合的功能。如果为消息符号,则另一个针对该消息定义的 GTL 模板将做为结果返回。
最后这部分代码将基于消息的控制和严格定义生成结果句。

最终结果可以在模块或扩展生成的代码预览中看到,以下为生成文本举例:
_ <
1<collaboration "ask="" "return="" "stock="" 'application="" 'customer'="" 'database="" 'internet="" 1)="" 2)="" 3)="" 4)="" 5)="" 6)="" _="" actor="" app="" browser'="" collaborationdiagram_1:="" db"="" from="" message="" object="" query"="" scenario="" sends="" server"="" server'="" to="" value="" value"="">> _
2
3** 结论 ** ** **
4
5** **
6
7有了这一强大特性,我们能够为 Robustness 结构图方法提供全面的支持,扩展了对象的概念,并基于新的概念添加了新的符号和约束,尤其是特定的文字生成。
8
9PowerDesigner 使您可以根据需要,快捷的对任何概念的元模型(包括 Entity 、 Table 、 Column 、 Process 、 Component 等)进行扩展。
10
11马上行动,率先感受新的震撼吧!</collaboration>