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 模板将做为结果返回。
最后这部分代码将基于消息的控制和严格定义生成结果句。
最终结果可以在模块或扩展生成的代码预览中看到,以下为生成文本举例:
<<Collaboration Scenario CollaborationDiagram_1:
1) Actor 'Customer' sends message "Stock value query" to Object 'Internet browser'
2) Object 'Internet browser' sends message "Ask value to app server" to Object 'Application server'
3) Object 'Application server' sends message "Ask value to DB" to Object 'Database Server'
4) Object 'Database Server' sends message "return value from DB" to Object 'Application server'
5) Object 'Application server' sends message "Return value from app server" to Object 'Internet browser'
6) Object 'Internet browser' sends message "Return value" to Actor 'Customer'>>
结论
有了这一强大特性,我们能够为 Robustness 结构图方法提供全面的支持,扩展了对象的概念,并基于新的概念添加了新的符号和约束,尤其是特定的文字生成。
PowerDesigner 使您可以根据需要,快捷的对任何概念的元模型(包括 Entity、Table、Column、Process、Component等)进行扩展。
马上行动,率先感受新的震撼吧!