为什么要使用Visual Expert? |
影响分析
当应用的源代码被修改时,往往会出现回归和错误的风险。但是只需按一下Visual Expert的按钮就可以帮您作出任何应用组件(userobject, datawindow...)的影响分析。
源代码文档
编写技术文档工作往往是漫长而又乏味的!安装一个Visual Expert,可以生成一个完整的、个性化的且时刻保持最新化的技术文档。例如,如果您需要用文字转录部分应用,只能根据Window objects 和 UserObjects选择生成技术文档。
|

Take the tour |
浏览整个应用
Visual Expert便于浏览整个应用,不管多复杂的应用。Visual Expert帮助您节省应用开发和维护的时间,也便于新开发的集成。
Visual Expert允许您可以 :
- 发现应用的结构和组件 (pbl, userobject, window, datawindow, menu,...)
- 探索树型继承和掌握框架 (搜寻父节点、窗口属性...)
- 预览任何应用窗口从而便于测试...
改进源代码
项目需要遵循开发规则以做到 :
在以下三个阶段,Visual Expert将运用其功能:
- 在开发前,Visual Expert帮您定义开发规则(可以选择默认)
- 在开发过程中,帮您运用规则并纠正错误
- 在开发完成之后,Visual Expert将搜索为被使用的组件和不遵循规则的组件
检测死代码
Visual Expert将对应用的代码进行检测。
死代码包括那些未被引用的功能、属性、参数或者变量。
删除死代码将提高应用的性能,而且源代码也更容易维护。 |
|
|
详细的功能
|
|
代码探索
影响分析
架构
其它 |
|
|
代码探索 |
| |
PowerBuilder 组件 |
|
| |
分析完项目之后,Visual Expert将会列出一个树型:
* 应用中包含的PBL与每个PBL的组件
* 包含着应用中的PowerBuilder对象 (如项目中全部的DW).
* PB对象中定义的控件、函数、事件、属性、变量以及参数当搜索树视图中的代码时,也可以显示以下内容:
* 所选项目的容器 (例如,包含一个对象的PBL、包含一个控件的对象、包含一个事件的控件或包含一个局部变量的事件等等)
* 容器层次(项目的所有连续容器清单),如事件的容器层次可能显示此事件被定义的控件/对象/PBL/项目。
您可以在树视图中显示一些关于菜单对象的信息:
* 被定义在菜单对象中的菜单选项的完整的层次
* 相同的层次结构,加之为菜单项定义的所有事件 |
| |
数据库组件 |
| |
在分析代码时,Visual Expert将查找所有引用到数据项的引用。因此,您可以在树视图中列出:
* 被PB代码引用的数据库表(从DW和嵌入式SQL)
* 可以列出被PB代码引用的列
* 被PB代码调用的存储过程
如果应用是由DB代码组成的(PL/SQL 或Transact-SQL),Visual Expert将查找表、列以及存储过程的所有的引用。请参阅 Visual Expert for PL/SQL 或 Visual Expert for Transact-SQL 所在的位置从而了解更多信息。
在同一台机器上安装Visual Expert,您便可以总体预览您的项目 (PowerBuilder + DB 代码) 。譬如,您的应用是由PB代码和Sybase存储过程组成的,便可以在同一台机器上合并Visual Expert for PowerBuilder和Visual Expert for Transact-SQL。 |
| |
SQL 查询 |
| |
在分析完项目之后,Visual Expert会显示程序的若干名单:
* 应用中被定义的SQL 语句
* 包含一个给定字符串的SQL语句 (对项目的重点SQL 语句进行文本搜索).
* 访问类型的SQL 语句 (选择、插入、更新或删除语句)
* 定义类型的 SQL语句 (在 PowerBuilder Script, Datawindow, Transact-SQL code(1) 或PL/SQL code(2) 被定义的).
(1) 需求 Visual Expert for Transact-SQL
(2) 需求 Visual Expert for PL/SQL |
| |
继承性的依赖关系 |
| |
Visual Expert能够对所有继承性依赖关系进行分析,因此,可以显示:
* PB对象的直系后代
* 子层次(所有连续性子对象的多级树视图)。例如,您可以得到应用的完整继承性层次,包括框架和业务对象。
* PowerBuilder 对象的直系父代
* 一个对象完整的父代列表(一个给定对象的所有连续性的父代)
当一个对象被继承,被定义在此对象里的脚本可能会在后代对象中被改变。在这种情况下,Visual Expert仍会保留这个继承关系的轨道。 |
| |
字符串搜寻 |
| |
您可以在您的项目中搜寻字符串,有以下选项可供选择:
* 在整个项目中进行全部搜索 (包括PowerBuilder Code, PL/SQL, Transact SQL, SQL files, ...)
* 限制为组件特定类型的搜索(如,仅限于Windows搜索).
* 在组件的名称和/或源代码中搜索
* 在搜索时使用正规表达式
* 可搜索组件的一个选择(例如,在选择某些程序之后) |
| |
Dll 调用 |
| |
当分析PB代码时,Visual Expert将会找到所有DLL函数的引用。
因此,可以显示:
* 被应用使用的 DLL
* DLL函数在PB代码中被声明的给定DLL
* DLL函数在PB对象中被声明的给定DLL
* 所有PB引用的在PB中被声明的DLL
(Impact analysis in the PowerBuilder application on a dll function). |
| |
全局系统及应用 |
| |
* 在PB应用中被声明的全局变量的列表
(每个变量调用的name+number)
* 在PB应用中被声明的全局函数的列表
(每个函数调用的name+number)
* 在PB代码中被引用的系统属性的列表
(如 visible, title, with...)
* 在PB代码中被引用的系统函数的列表
(如 close, opensheet, setpointer...) |
|
|
|
置顶 |
影响分析 (交叉引用) |
| |
详细的影响分析 |
| |
此功能将列出全部组件有关的给定对象、方法、变量、表以及列等等。
在修改应用之前,您可以使用此功能,检查变更组件的结果。
为了提供一个完整的结果,影响分析包括全部依赖关系的类型:
* PowerBuilder对数据库的依赖关系:DB模式中的任何变化都可能影响PB组件中使用的表或列的修改。例如,一个表的影响分析会给你所有调用此表的Datawindows, Embedded SQL 以及 Stored Procedures(1)。
您可以根据访问类型(选择、插入、更新和删除)来过滤引用。
* PowerBuilder继承依赖关系: 在PB对象中的任何变化都会影响到其后代。
因此,PB对象中的影响分析将包括所有其后代。
* PB代码引用:PB对象、方法或变量的影响分析将列出所有调用它的PB对象和方法。特殊的PB关系也能够被支持(如,DW列与DropDownDatawindow间的引用)。
全局变量、函数以及系统属性和功能都能够进行影响分析。结果包括所有这些变量和函数的引用。
* PB对DB 代码的依赖关系:
如果PB应用调用存储过程,这些过程可以被列出来:
- 您可以列出所有被PBL调用的存储过程
- 您可以列出所有来自给定PBL的对象的调用的存储过程
对于被PB代码引用的每个存储过程,您都可以进行一个影响分析。
因此,您可以得到此存储过程调用的所有PB对象和功能。
(1) 如果您的应用是由存储过程 (PL/SQL or Transact-SQL)组成的,Visual Expert会分析这些存储过程所有表和列的引用。
请参阅 Visual Expert for PL/SQL 或 Visual Expert for Transact-SQL 部分了解更多信息。 |
| |
调用层次 |
| |
列出全部调用函数的连续方法。
结果将被显示在树视图中(如函数A被函数B调用,其被函数C调用…) |
| |
被调用层次 |
| |
列出全部调用函数的连续方法。
结果将被显示在树视图中(如函数A函数B调用,其函数C调用…)
您可以用此功能了解应用中的一个完整过程。
(例如,用户触发一个特别事件后哪些函数被执行呢?) |
|
置顶 |
架构 |
| |
放开层次 |
| |
列出在项目中开放的所有连续窗口或菜单。
因此,您会得到一个代表导航路径的树视图
(from Windows to Windows and from Menus to Windows). |
| |
一般架构 |
| |
一个对象(所有控件、函数、事件和变量的树视图)的详细架构 |
| |
控件架构 |
| |
组成PB对象的控件的架构 |
|
|
|
置顶 |
其它 |
| |
预览 |
| |
显示一个PB视觉对象的图形预览(Window, DataWindow, Visual UserObject).
此预览能够在浏览代码的同时帮助您理解整个应用
在预览过程中,您还可以定位任何控件
因此,Visual Expert会打开被定义控件的树视图。
|
| |
死码 |
| |
* 列出为被引用或使用的 Windows, OserObjects, DataWindows, Menus, ...
* 列出为被引用或使用的函数、事件和全局函数
*列出为被引用或使用的属性、全局变量和参数
*列出被声明但未被调用的DLLs和DLL函数
|
| |
重复组件 |
| |
搜索同一对象名称和类型的组件 |
| |
定位 |
| |
使用此功能定位一个对象、方法或变量(如,被新建或声明的项目在哪地方?) 。 |
| |
下拉式Datawindow |
| |
列出所有被用作下拉式Datawindows的Datawindows |
| |
动态 Datawindow |
| |
列出在PB代码中被动态引用的所有Datawindows (如 Control.DataObject = "")
|
| |
PBL 数据统计 |
| |
PBL的大小和内容的数据统计 |
| |
超大 PBL |
| |
包含许多组件的PBL |
| |
|
|
| |
|
置顶 |