您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
EA中的模型搜索
 
作者:俎涛(火龙果软件工程)
 
  1286  次浏览      17 次
2021-12-9
 

1、EA中的搜索功能简介

EA具有功能强大且易于使用的搜索工具,可根据名称、创建或修改日期、类型、文本注释等条件查找模型中的元素。有许多内置搜索,用户也可以通过定义可以存储和重新运行的强大且参数化的搜索来轻松扩展功能。运行时,搜索将返回一组元素,这些元素可以位于存储库的层次结构中或出现在它们的任何图表中;它们甚至可以包含在报告中。这一强大的功能可确保,无论模型的结构或存储库有多大,始终能够找到所需的信息。用户可以导出和共享喜欢的搜索。获得模型搜索的结果后,可以对它们执行一系列操作,以修改其表示形式或提取和/或报告更多细节级别。

模型搜索的操作入口:

菜单:
•  Explore > Search > Model
•  Start > Desktop > Design > Search
•  Design > Element > Manage > Search Model

使用 EA 预定义的搜索条件,也可以自己定义搜索。

2、EA预定义的搜索

2.1 常用的搜索

搜索 描述
简单 在所有元素的 " 名称 " 、 " 别名 " 和 " 注释 " 字段中搜索给定的搜索词。
扩展 搜索与元素相关的许多其他字段,包括属性、操作、标记和测试用例。
元素名称 搜索与元素名称、别名、方法或操作完全匹配的元素 ; 代码编辑器中 " 在模型中搜索 " 菜单中选项中的默认搜索。
属性详细信息 搜索具有与搜索词相关的属性的元素,包括标记值、约束和公共属性数据字段。
方法详细信息 搜索具有与搜索词相关的操作和方法的元素,包括标记值、约束以及常见操作和方法数据字段。
最近修改的元素 在项目中的任意位置搜索最近修改过的元素。
搜索词与任何公共元素字段相关。
默认设置是显示过去三天内修改的元素,但可以通过在"搜索词"字段中键入适当的天数来设置备用间隔。
按名称查找操作 在模型中的任何位置搜索命名操作的用法。
查找套餐 在模型中搜索命名的包。
查找方案 列出项目中包含已定义方案的所有元素。
架构配置文件 列出包含项目中保存的架构配置文件的所有元素。可以在"搜索字符串"字段中按元素名称筛选列表。
最近修改的架构配置文件 查找包含前 n 天内修改的架构配置文件的项目中的所有元素;在"搜索字符串"字段中指定 n。
最近修改的链接文档 查找包含前n天内修改的链接文档的项目中的所有元素;在搜索字符串字段中指定 n。
最近修改的决策表 查找包含前 n 天内修改的决策表的项目中的所有元素;在搜索字符串字段中指定 n。
链接的文档 列出项目中具有链接文档并在元素名称中具有搜索词的所有元素。
决策表 在项目中查找包含决策表的所有元素。
查找基线 列出项目中具有比较基准的所有包。

2.2 测试和验证搜索

搜索 描述
内部测试失败

在项目中搜索包含一个或多个内部测试用例的元素,其中 " 状态 " 值为 " 失败 " ,并且搜索词位于任何常见测试用例字段中。
输出列出元素并显示其属性 ; 使用 " 构造 > 测试 > 测试 > 全部 " 功能区选项检查所选元素的测试记录。
对最近修改的元素进行测试 在项目中搜索具有测试记录的最近修改的元素。在 " 搜索字词 " 字段中,可以指定要返回的天数。如果未指定天数,则搜索将使用值 1 天。
输出将列出具有测试记录且在指定时间段内已修改的元素,并显示每个元素上每个测试记录的详细信息。双击某个项目以显示该测试的 " 测试详细信息 " 对话框。
测试未运行 在项目中搜索具有测试记录的元素,其中 " 状态值 " 为以下任一元素: " 未运行 " 、 " 已取消 " 或 " 已延迟 " 。在 " 搜索字词 " 字段中,可以指定要返回的天数。如果未指定天数,则搜索将使用值 1 天。
输出将列出具有以下各项的测试记录的元素:
•  在指定时间段内更新
•  状态不是 " 通过 " 或 " 失败 "
输出显示每个元素上每个测试记录的详细信息。双击该项目以显示测试的 " 测试详细信息 " 对话框。
未检查测试 在项目中搜索具有没有 " 检查依据 " 值的测试记录的元素。在 " 搜索字词 " 字段中,可以指定要返回的天数。如果未指定天数,则搜索将使用值 1 天。
输出将列出具有以下各项的测试记录的元素:
•  在指定时间段内更新
•  有一个空的 " 选中者 " 字段
输出显示每个元素上每个测试记录的详细信息。双击该项目以显示测试的 " 测试详细信息 " 对话框。
通过测试 在项目中搜索具有测试记录且 " 状态 " 值为 " 通过 " 的元素。在 " 搜索字词 " 字段中,可以指定要返回的天数。如果未指定天数,则搜索将使用值 1 天。
输出将列出具有以下各项的测试记录的元素:
•  在指定时间段内更新
•  状态为 " 通过 "
输出显示每个元素上每个测试记录的详细信息。双击该项目以显示测试的 " 测试详细信息 " 对话框。
失败的测试 在项目中搜索具有测试记录且 " 状态 " 值为 " 失败 " 的元素。在 " 搜索字词 " 字段中,可以指定要返回的天数。如果未指定天数,则搜索将使用值 1 天。
输出将列出具有以下各项的测试记录的元素:
•  在指定时间段内更新
•  状态为 " 失败 "
输出显示每个元素上每个测试记录的详细信息。双击该项目以显示测试的 " 测试详细信息 " 对话框。
延期测试

在项目中搜索具有测试记录且 " 状态 " 值为 " 延迟 " 的元素。在 " 搜索字词 " 字段中,可以指定要返回的天数。如果未指定天数,则搜索将使用值 1 天。

输出将列出具有以下各项的测试记录的元素: •  在指定时间段内更新 •  状态为 " 已延期 " 输出显示每个元素上每个测试记录的详细信息。双击该项目以显示测试的 " 测试详细信息 " 对话框。
最近运行的测试 在项目中搜索具有测试记录的元素,其中 " 运行日期 " 字段具有值。在 " 搜索字词 " 字段中,可以指定要返回的天数。如果未指定天数,则搜索将使用值 1 天。

输出将列出具有在指定时间段内具有 " 运行日期 " 值的测试记录的元素,并显示每个元素上每个测试记录的详细信息。双击该项目以显示测试的 " 测试详细信息 " 对话框。

2.3 Requirements

搜索 描述
内部要求 在项目中搜索具有内部要求的元素,其中搜索词与任何常见要求字段相关。
输出将列出具有包含搜索词值的要求的元素,并显示元素属性。要查看要求,请双击某个项目以显示元素 " 属性 " 对话框,然后选择 " 要求 " 页面。
要求 在项目中搜索条件元素类型,其中搜索词出现在任何公共元素字段中。
输出将列出包含搜索词的 " 要求 " 元素。双击某个项目以显示该元素的 " 属性 " 对话框。
最近讨论的元素 在项目中搜索在 " 协作 " 窗口中具有最近条目的任何元素。在 " 搜索字词 " 字段中,可以指定要返回的天数。如果未指定天数,则搜索将使用值 3 天。
输出将列出最近讨论过的元素及其属性。可以通过按 Ctrl+9 或选择 " 开始 > 协作 > 讨论 > 讨论 " 功能区选项,然后单击搜索输出中的各个条目来显示讨论本身。
最近的元素帖子 在项目中搜索在 " 协作 " 窗口中具有最近条目的任何元素。在 " 搜索字词 " 字段中,可以指定要返回的天数。如果未指定天数,则搜索将使用值 3 天。
输出将列出最近讨论过的元素,以及每个元素的最新帖子的日期。可以通过按 Ctrl+9 或选择 " 开始 > 协作 > 讨论 > 讨论 " 功能区选项,然后单击搜索输出中的各个条目来显示讨论本身。

2.4 资源跟踪

搜索 描述
资源 在项目中搜索具有已分配资源的元素,其中搜索词是任何公共资源域的值。
输出将列出分配资源的所有元素,其中包含指定为搜索词的文本字符串,并显示每个元素的属性。要查看为元素分配的资源,请单击该项,然后选择 " 构造 > 资源管理 > 资源 " 功能区选项。
任务逾期
在项目中搜索具有已分配资源的元素,其中结束日期为过去且完成百分比小于 100 。
输出将列出具有过期任务的所有元素,并显示分配给每个任务的资源的详细信息。
活动任务 在项目中搜索具有已分配资源的元素,其中结束日期为将来,完成百分比小于 100 。
输出将列出具有当前活动任务的所有元素,并显示分配给每个任务的资源的详细信息。
已完成的任务 在项目中搜索具有已分配资源的图元,其中完成百分比为 100。
输出将列出具有已完成任务的所有元素,并显示分配给每个任务的资源的详细信息。
最近完成的任务 在项目中搜索具有已分配资源的元素,其中结束日期为最近日期,完成百分比为 100 。在 " 搜索字词 " 字段中,指定要返回检查的天数。
输出将列出在指定时间段内完成任务的所有元素,并显示分配给该任务的资源的详细信息。输出不包括在将来完成日期之前已完成的任务。
今天结束的任务 在项目中搜索具有已分配资源的元素,其中任务结束日期为当前日期。 无论任务是否完成,输出都会列出今天结束的任务的所有元素,并显示分配给每个任务的资源的详细信息。
从今天开始的任务 在项目中搜索具有已分配资源的元素,其中任务开始日期为当前。
输出将列出从今天开始执行任务的所有元素,并显示每个任务的资源分配的详细信息。
没有活动任务的作者 在项目中搜索尚未作为资源分配给当前处于活动状态的任何任务的作者 输出将列出所有已定义的作者,这些作者尚未被分配到以下任何任务:
•  当前完成率低于 100% ,或者
•  具有将来不会出现的开始日期
30 天任务摘要(简化) 提供过去 30 天内分配给每个资源的工作的简要摘要 - 任务数、任务所用时间以及预期需要花费的时间。任务可以分组到系列中,因此资源在报表中可能有多个条目,汇总每个系列的工作。
30 天任务摘要(完整) 按任务组名称的顺序,提供过去 30 天内分配给资源的工作的简短摘要。每个资源可以有许多条目,具体取决于它们已分配到的任务和任务组。
30 天资源 提供在过去 30 天内创建或更新的每个资源分配记录的明细。如果指定搜索文本,报表将显示资源名称中包含文本的记录。
30 天角色 提供在过去 30 天内创建或更新的每个资源分配记录的明细。如果指定搜索文本,报表将显示角色名称中包含文本的记录。

2.5 逻辑示意图搜索

搜索 描述
图表名称 列出名称中包含 " 搜索词 " 字段中指定的术语的图表。
图表详细信息 列出具有在一个或多个逻辑示意图详细信息字段的 " 搜索词 " 字段中指定的值的逻辑示意图。
最近修改的图表 在工程中的任何位置搜索最近修改过的逻辑示意图。
搜索词与任何常见的逻辑示意图属性字段相关。
默认设置是显示过去三天内修改的逻辑示意图,但可以通过在 " 搜索词 " 字段中键入适当的天数来设置备用间隔。
查找已添加书签的元素 在项目中的任何位置搜索已添加书签的元素。
查找看板图 列出模型中的所有看板图,并确定创建者、创建时间以及上次修改时间。
查找孤儿 在整个模型中搜索孤立元素,并能够使用搜索词筛选公共元素字段。
" 孤立 " 元素是未出现在模型中的任何关系图上的元素。

2.6 项目状态

搜索 描述
我的签出包 在项目中搜索 " 版本控制 " 下标记为在的用户 ID 下签出的包。

2.7 模拟

搜索 描述
状态计算机图 列出当前模型中存在的所有 StateMachine 关系图及其属性。
活动图 列出当前模型中存在的所有活动图及其属性。
最近的状态计算机图 列出最近打开的所有 StateMachine 图。
默认设置是显示过去七天内打开的图表,但可以通过在 " 搜索词 " 字段中键入适当的天数来设置备用间隔。
最近的活动图 列出最近打开的所有活动图。
默认设置是显示过去七天内修改的图表,但可以通过在 " 搜索词 " 字段中键入适当的天数来设置备用间隔。
可执行状态计算机 列出项目中所有可执行状态计算机元素(具有 << 可执行状态计算机 >> 构造型)及其元素属性。
SysMLSim Configuration 列出项目中的所有 SysMLSim 配置元素(具有 <<SysMLSimConfiguration>> 构造型的项目)及其元素属性。
BPSim 报告 列出项目中的所有模拟报告结果(作为 BPSim 结果工件)及其元素属性。
BPSim 图表 列出项目中的所有 BPSim 图表元素(标准和自定义)及其元素属性。
BPSim 列出项目中的所有 BPSim 元素(具有 <<BPSim>> 构造型的项目)及其元素属性。

2.8 变更

搜索 描述
已验证的更改 列出项目中具有内部更改记录且状态为 " 已验证 " 且未完成的元素。
最近请求的更改 列出具有最近请求的更改记录的元素,这些请求可能已对其执行操作,也可能未对其执行操作。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
最近完成的更改 列出具有最近状态为 " 完成 " 的更改记录的元素。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
新变化 列出具有状态为 " 新建 " 的更改记录的元素(即,尚未对它们执行任何操作)。
不完整的更改 列出具有状态不具有 " 完成 " 状态的更改记录的元素。

2.9 缺陷

搜索 描述
已验证的缺陷 列出项目中具有内部缺陷记录且状态为 " 已验证 " 且未完成的元素。
最近报告的缺陷 列出最近报告缺陷记录的元素,这些元素可能已对其执行操作,也可能未对其执行操作。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
最近解决的缺陷 列出最近已解决状态为 " 完成 " 的缺陷记录的元素。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
新缺陷 列出具有状态为 " 新建 " 的缺陷记录的元素(即,尚未对它们执行任何操作)。
未解决的缺陷 列出具有状态为 " 完成 " 的缺陷记录的元素。

2.10 问题

搜索 描述
已验证的问题 列出项目中具有状态为 " 已验证 " 且未完成的内部问题记录的元素。
最近报告的问题 列出最近报告的问题记录的元素,这些元素可能已对其执行操作,也可能未对其执行操作。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
最近解决的问题 列出最近已完成且状态为 " 已完成 " 的问题记录的元素。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
新发行 列出具有状态为 " 新建 " 的发货记录的元素(即,尚未对它们执行任何操作)。
未解决的问题 列出具有状态不具有 " 完成 " 状态的发货记录的元素。

2.11 任务

搜索 描述
已验证的任务 列出项目中具有状态为 " 已验证 " 且未完成的内部任务记录的元素。
最近请求的任务 列出最近请求了任务记录、可能已对其执行操作或可能未对其执行操作的元素。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
最近完成的任务 列出具有最近完成且状态为 " 完成 " 的任务记录的元素。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
新任务 列出具有状态为 " 新建 " 的任务记录的元素(即,尚未对它们执行任何操作)。
未完成的任务 列出具有不具有状态为 " 完成 " 的任务记录的元素。

2.12 事件

搜索 描述
最近报告的事件 列出最近创建的事件记录的元素,这些事件记录可能已对其执行操作,也可能未对其执行操作。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
最近完成的活动 列出最近已解析事件记录的元素(选中 " 已解决 " 复选框)。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
高优先级事件 列出事件记录中 " 优先级 " 设置为 " 高 " 但尚未解析的元素。
公开活动 列出具有尚未解析或完成的事件记录的元素。

2.13 决策

搜索 描述
经过验证的决策 列出项目中具有状态为 " 已验证 " 且未完成的内部决策记录的元素。
最近创建的决策 列出最近为可能已执行或可能未执行操作的决策创建的记录的元素。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
最近有效的决策 列出具有最近生效的决策的记录的元素。在 " 搜索字词 " 字段中,键入要检查的天数(报告默认为 7 )。
新决策 列出具有状态为 " 新建 " 的决策记录的元素(即,尚未对它们执行任何操作)。
未解决的决策 列出具有不具有状态 " 完成 " 的决策记录的元素。

2.14 测试点

搜索 描述
测试套件 列出模型中存在的测试套件元素。在 " 搜索词 " 字段中键入文本字符串,以筛选元素名称中包含该字符串的 Test Suite 元素。
测试集 列出模型中存在的测试集元素。在 " 搜索词 " 字段中键入文本字符串,以筛选元素名称中包含该字符串的 Test Set 元素。
试切 列出模型中存在的 " 测试剪切 " 元素。在 " 搜索词 " 字段中键入文本字符串,以筛选元素名称中包含该字符串的 Test Cut 元素。

2.15 数据库工程

搜索 描述
数据模型 在项目中搜索数据模型包(在 " 构造型 " 字段中带有字符串 "DataModel" 的包)。
输出列出了 DataModel 包及其基本属性。
数据库对象 在项目中搜索数据库对象 ; 也就是说,具有任何数据库对象构造型的类元素。可以通过在 " 搜索字词 " 字段中指定一个构造型来过滤列表,或者通过文本字符串来匹配 " 别名 " 、 " 名称 " 或 " 注释 " 字段中的文本。
输出列出了数据库对象元素及其元素属性。
功能 在项目中搜索数据库函数 ; 也就是说,在 " 构造型 " 字段中具有字符串 "function" 的类元素。可以通过在 " 搜索词 " 字段中指定文本字符串来过滤列表,以匹配 " 别名 " 、 " 名称 " 或 " 注释 " 字段中的文本。
输出列出了数据库函数元素及其元素属性。
程序 在项目中搜索数据库过程 ; 也就是说,在 " 构造型 " 字段中具有字符串 " 过程 " 的类元素。可以通过在 " 搜索词 " 字段中指定文本字符串来过滤列表,以匹配 " 别名 " 、 " 名称 " 或 " 注释 " 字段中的文本。
输出列出了数据库过程元素及其元素属性。
序列 在项目中搜索数据库序列 ; 也就是说,在 "Stereotype" 字段中具有字符串 "sequence" 的类元素。可以通过在 " 搜索词 " 字段中指定文本字符串来过滤列表,以匹配 " 别名 " 、 " 名称 " 或 " 注释 " 字段中的文本。
输出列出了数据库序列元素及其元素属性。
表列数据类型 在项目中搜索数据类型包含在 " 搜索词 " 字段中指定的字符串的数据库表。此字段必须包含一个值。
输出将列出数据类型包含指定字符串的 Table 元素,并显示每个 Table 的元素属性。
要查看数据类型,请双击项目以显示其 " 属性 " 对话框,单击 " 表详细信息 " 选项卡和 " 列 " 按钮,然后在 " 列和约束 " 对话框中查看列的数据类型。
表列 在项目中搜索数据库 " 表 " 列,这些列包含在 " 搜索词 " 字段中指定的字符串。此字段必须包含一个值。
输出将列出具有包含指定字符串的列的 Table 元素,并显示每个 Table 的元素属性。
要查看列,请双击项目以显示其 " 属性 " 对话框,单击 " 表详细信息 " 选项卡和 " 列 " 按钮,然后在 " 列和约束 " 对话框中查看列。
表外键 在项目中搜索具有外键(约束)的数据库表。可以通过在 " 搜索词 " 字段中指定文本字符串来过滤搜索。
输出将列出具有外键的 Table 元素,并显示每个 Table 的元素属性。
要查看外键,请双击项目以显示其 " 属性 " 对话框,单击 " 表详细信息 " 选项卡和 " 约束 " 按钮,然后在 " 列和约束 " 对话框中查看 FK 类型的约束。
表索引 在项目中搜索具有索引(约束)的数据库表。可以通过在 " 搜索词 " 字段中指定文本字符串来过滤搜索。
输出将列出具有索引的 Table 元素,并显示每个 Table 的元素属性。
若要查看索引,请双击项目以显示其 " 属性 " 对话框,单击 " 表详细信息 " 选项卡和 " 约束 " 按钮,然后在 " 列和约束 " 对话框中查看 " 索引 " 类型的约束。
表主键 在项目中搜索具有主键(约束)的数据库表。可以通过在 " 搜索词 " 字段中指定文本字符串来过滤搜索。
输出将列出具有主键的 Table 元素,并显示每个 Table 的元素属性。
要查看主键,请双击项目以显示其 " 属性 " 对话框,单击 " 表详细信息 " 选项卡和 " 约束 " 按钮,然后在 " 列和约束 " 对话框中查看 PK 类型的约束。
在项目中搜索数据库表 ; 也就是说,在 " 构造型 " 字段中具有字符串 "table" 的类元素。可以通过在 " 搜索词 " 字段中指定文本字符串来过滤列表,以匹配 " 别名 " 、 " 名称 " 或 " 注释 " 字段中的文本。 输出列出了数据库 Table 元素及其元素属性。
触发器 在项目中搜索 " 表触发器 " 元素。可以通过在 " 搜索词 " 字段中指定文本字符串来过滤列表,以匹配 " 别名 " 、 " 名称 " 或 " 注释 " 字段中的文本。
输出列出了表触发器元素及其元素属性。
视图 在项目中搜索数据库视图 ; 也就是说,在 " 构造型 " 字段中具有字符串 " 视图 " 的类元素。可以通过在 " 搜索词 " 字段中指定文本字符串来过滤列表,以匹配 " 别名 " 、 " 名称 " 或 " 注释 " 字段中的文本。
输出将列出数据库 View 元素及其元素属性。

3.用户自定义搜索

用户可以自己定义搜索, EA 支持 3 种自定义搜索:

  • 查询构造器
  • SQL 搜索脚本
  • 搜索插件

如下是用户选择创建自定义搜索后的搜索类型选择界面:

3.1 自定义查询构造器( Query Builder )

3.2 编写搜索 SQL 脚本( SQL Editor )

3.2.1 创建 SQL 搜索

可以使用 SQL 编辑器通过 " 查询生成器 " 选项卡创建 SQL 语句。 SQL 编辑器基于通用代码编辑器,并提供 EA 存储库结构填充的 智能感知自动完成列表。

要显示自动完成列表,请将光标放在命令之后,然后按 Ctrl+ 空格键 。

简单的搜索可能是从表中查找对象,给定用户在 " 搜索词 " 字段中输入的搜索词 ; 例如:

SELECT * FROM t_object WHERE Name='<Search Term>' 

在 WHERE 语句中,可以使用 #xxx# 宏作为字符串替换符,以便不同的环境中的不同人员可以使用相同的搜索。这些宏都区分大小写。它们包括:

宏观 描述
#Author# 从 " 首选项 " 对话框 " 常规 " 页面中的 " 作者 " 字段中获取用户名,以便可以对该用户创建的对象执行定义的搜索(可以在 " 首选项 " 对话框中手动重新设置此值)。这必须在字符串中使用。
#Branch# 获取一个或多个父包下每个子包的 ID ,以递归方式向下工作到子包的最低级别。例如:
t_object.Package_ID in (#Branch#)
此宏有三种排列方式:
  • in #Branch# - 获取用户选择的父包的每个子包的 ID
  • in #Branch=<GUID># or #Branch=<ID>#  - 获取由 GUID 或 ID 指定的父包的每个子包的 ID
  • in #Branch=<ID>,<ID>,<ID># -  获取由其 ID 指定的每个父包下每个子包的 ID
#Concat <value1>, <value2>, ...# 提供一种将两个或多个 SQL 术语连接到一个字符串中的方法,这与数据库类型无关。
#Datepart <field>, <column># 提供一种独立于数据库类型查询 Date 的一部分的方法。 < 字段 > 的值可以是以下值之一:
  • year
  • month
  • day
  • dayofyear
  • weekday
  • week
  • dayname
#CurrentElementGUID# 获取当前所选元素的 ea_guid 。例如: t_object.ea_guid = #CurrentElementGUID#
#CurrentElementID# 获取当前所选元素的 Object_ID 。例如: t _ object.Object_ID = #CurrentElementID#
#DB=<DBNAME># DBNAME 可以是以下之一:
  • MYSQL
  • JET
  • ACCESS2007
  • ORACLE
  • SQLSVR
  • ASA
  • POSTGRES
  • FIREBIRD
如果当前数据库类型与指定的 DBNAME 匹配,则仅使用两个匹配的 #DB=<DBNAME># 个宏之间的代码段。它可以在 SQL 的某个部分可能需要特殊处理时使用,具体取决于当前数据库类型。例如: #DB=ORACLE# t_ object.ModifiedDate >= ( SYSDATE - INTERVAL ' Search Term ' DAY) #DB=ORACLE#
#Left <field>, <count># 返回从字符串开头开始的字段中的 " count " 字符数。
#Now# 插入当前日期加上或减去指定的小时数或天数 ; 默认值为天(日期格式已调整以适应正在使用的数据库),如:
  • t_object.ModifiedDate >=#Now <Search Term> #

例如 :

  • t_object.ModifiedDate >= #Now -4d #    d is days
  • t_object.ModifiedDate >= #Now -5h #    h is hours
  • t_object.ModifiedDate >= #Now +3 #     defaults to days
  • t_object.ModifiedDate >= #Now #
#Package# 获取当前所选包的 Package_ID 。例如:      t_object.Package_ID = #Package#
#Right <field>, <count># 返回字段中最后一个 " count " 字符数。
<Search Term> 从 " 在 项目中查找 " 视图(左起第三个字段)的 <Search Term> " 字段中输入的文本中获取要搜索的值。因此,当正在运行活动搜索并将值放置在该字段中时,它会起作用。它必须出现在字符串内,并且字符串要求在表上用引号括起来。要与之进行比较的字段是字符串类型。
#Substring <field>, <start># 返回从 " start " 字符开始的字段的其余部分(从 1 开始)
#Substring <field>, <start>, <count># 返回从字符 "start" (从 1 开始)开始的字段的 " count " 个字符。
#UserName# 获取登录到版本控制的人员的姓名。它必须在字符串中使用。此示例来自内置搜索 "  'My Checked Out Packages' 。
  t_package .PackageFlags
LIKE '#WC#VCCFG=#WC # CheckedOutTo = # UserName##WC
#WC# 获取当前数据库的相应通配符,以便可以对不同数据库上的模型执行搜索。它必须在字符串内使用。例如: t_object.Name LIKE '#WC#Test#WC#'

3.2.2 GUID 和类型

对于使用自定义 SQL 语句的所有函数(包括 " 文档报告 " 和 "模型视图 " ),该语句必须返回找到的对象的 GUID 和类型,以便系统可以在" 浏览器 " 窗口中搜索所选项目。 SELECT 语句区分大小写,应按如下所示键入:

SELECT ea_guid AS CLASSGUID , Object_Type AS CLASSTYPE , Name FROM t_object

您可以使用别名 CLASSGUID 和 CLASSTYPE 扩展 SQL 搜索的可用性,以便可以显示元素、连接器、属性或操作的 " 属性 " 对话框、标记值和图标,以及在 " 浏览器 " 窗口中选择它们。使用这些别名字段的一些简单示例如下:

  • SELECT ea_guid AS CLASSGUID , Object_Type AS CLASSTYPE , Name FROM t_object
  • SELECT ea_guid AS CLASSGUID , 'Operation' AS CLASSTYPE , Name FROM t_operation
  • SELECT ea_guid AS CLASSGUID , ' Attribute' AS CLASSTYPE , Name FROM t_attribute
  • 对连接器和关系图的查询都可以返回与对象类型的默认关联匹配的类型。对于这些表,还应返回一个 CLASSTABLE 字段,以允许将它们与类似的对象类型区分开来。

  • SELECT ea_guid AS CLASSGUID, Connector_Type AS CLASSTYPE , ' t_connector' as CLASSTABLE, Name FROM t_connector
  • SELECT ea_guid AS CLASSGUID, Diagram_Type AS CLASSTYPE , ' t_diagram' as CLASSTABLE, Name FROM t_diagram
  • 通过在 search SELECT 语句中包含以下元素之一,您可以使搜索用户能够将元素从搜索结果拖放到关系图上:

  • (t_object.Object_ID and t_object.Object_Type) or
  • t_object. ea_guid AS CLASSGUID
  • 定义 SELECT 语句后,单击 " 查询生成器 " 工具栏中的 " 保存 " 按钮 以保存此搜索 ; 然后,可以从 " 搜索 " 下拉列表中进行搜索。

    3.3 SQL 暂存器工具栏按钮

    "SQL 暂存器" 选项卡通过其工具栏提供了如下功能。

    图标 描述
    单击此图标以测试已定义的搜索。结果将显示在 " 在项目中查找 " 视图的主面板中。

    单击此图标可将当前 SQL 搜索另存为新搜索。将显示新搜索名称的提示。

    单击 " 确定 " 按钮时,系统将切换到 " 查询生成器 " 选项卡,将 SQL 语句复制到该选项卡,并将搜索名称放入 " 搜索 " 字段中。

    单击此图标可清除当前搜索定义的"SQL 暂存器 " 。

    4. 搜索结果的上下文菜单

    您可以在模型搜索的结果中选择元素或关系图,并对其执行各种操作,以及只需将项目拖到库文档或链接文档中即可。您可以:

    •  从搜索结果生成报告

    •  打印搜索结果

    •  复制和使用搜索结果

    •  管理搜索返回的元素

    对于搜索结果中显示的包,还可以选择一个选项以在 " 规范管理器 " 中打开包。

    4.1 操作方法

    执行搜索后,右键单击搜索结果中的项目,然后从上下文菜单中选择

    4.2 菜单选项

    选择 行动
    脚本 单击此选项可显示已创建的任何模型搜索脚本的列表,这些脚本可以对所选项目执行。
    仅当以下情况时,才会显示此选项:
    • 您已在模型搜索脚本组文件夹中创建了模型搜索脚本,并且
    • 项目是成功查询搜索的结果,或者
    • 项目是成功进行 SQL 搜索的结果,其中包括 CLASSGUID 和 CLASSTYPE
    属性

    单击此选项可显示元素的 " 属性 " 对话框。

    将所选内容复制到剪贴板

    单击此选项可将所选项目复制到 MS Windows 剪贴板,以便可以将其作为链接粘贴到图表、文档、电子表格或电子邮件中。

    快捷方式: Ctrl+C

    文档

    单击此选项可生成有关所选项目的文档报告 ; 您有两种选择:

    • ' 在 模型搜索 中为每个选定对象生成单独的报告 '
    • " 针对所有选定对象生成一份报告 "
    在任一情况下,都会显示 " 生成文档 " 对话框。

    如果使用自定义 SQL 搜索生成报告,则 SQL 必须包括 "ea_guid AS CLASSGUID" 和对象类型。

    创建链接文档
    (编辑链接文档)

    单击此选项可在所选元素上创建(或编辑)链接文档。

    (在企业版、统一版和旗舰版中提供)。

    快捷方式: Ctrl+Alt+D

    删除链接的文档

    单击此选项可删除现有链接文档。

    (仅当元素具有链接文档时,才会显示此选项。

    将显示一个提示以确认删除。单击 " 是 " 按钮。

    打印

    单击此选项可打印出当前显示的结果。

    将显示 " 打印 " 对话框,您可以在其中选择打印机并定义打印运行。

    清晰的结果

    单击此选项可从显示中清除搜索结果。

    在图表中查找

    单击此选项可显示描述该元素的图,或者,如果该元素在多个关系图中使用,则显示可供选择的图列表。

    在项目浏览器中查找

    单击此选项可突出显示" 浏览器 " 窗口中 的元素。

    (某些可报告对象不会显示在 " 浏览器 " 窗口中 ; 如果选择其中之一,则此选项不可用。

    规格管理器

    (对于搜索结果中的选定包。单击此选项可打开 " 规范管理器 " 并显示其中的 " 包 " 内容。

    如果使用自定义 SQL 搜索生成报告,则 SQL 必须包含 'ea_guid AS CLASSGUID and Object_Type AS CLASSTYPE'  ,以便规范管理器显示包。

    为项目添加书签

    单击此选项可在元素上添加或清除书签。

    将显示一个小对话框,您可以在其中选择相应的单选按钮以打开或关闭书签。如果将书签设置为打开,则结果中的元素图标上将显示一个红色三角形(或红色 Delta 符号)。如果清除书签,则会删除红色三角形。

    删除所选内容

    单击此选项可从模型搜索结果中删除所选元素。

    将显示一个提示以确认删除 ; 单击 "是 " 按钮。

    4.3 向链接文档添加项目

    模型搜索工具的一个非常有用的功能是能够将搜索结果中的单独项目拖到现有的链接文档中。为此,请创建链接文档,运行模型搜索,然后将文档和模型搜索视图作为停靠窗口打开。然后,将项目(单独或作为多项选择)从搜索结果拖动到文档中。系统将提示您选择以下两个选项之一:

  • 'Insert as Hyperlink(s)' ( 作为超链接插入 )
  • 'Render as RTF' ( 生成为 RTF )
  • 如果选择 " 作为超链接插入 " ,则文档中为每个拖动的对象嵌入一个超链接,链接到 " 浏览器 " 窗口中 的对象。

    如果选择 " 生成为 RTF" ,则会显示一个提示,要求您选择要从中生成有关拖动对象的小报告的 RTF 模板(如果有)。您可以为不同的对象选择不同的模板。但是,所选对象类型(如图示)与所使用的 RTF 模板(如图报告)之间必须兼容,否则文档中不会显示任何内容。

    可以在同一文档中具有超链接对象和 RTF 呈现的对象。

    5、后记

    希望您读了此文后有所受益。

    如果您有经验乐于分享,欢迎投稿给我们,如果您对我们的培训、咨询和工具感兴趣,欢迎了解:

    •  建模工具: EA

    •  MBSE 平台: iSpace

    •  模型 web 浏览工具: WebEA

    •  课程: MBSE (基于模型的系统工程)

    •  课程:基于模型的需求分析、建模于管理

    •  咨询方案: MBSE( 基于模型的系统工程 )

    •  咨询方案: 基于 UML 的模型驱动的开发

    •  所有建模有关的课程: http://www.modeler.org.cn/course/index.asp

    •  咨询方案: 基于模型的工程管理

    如果您希望了解更多信息:

    • 欢迎访问建模者频道 http://modeler.org.cn/
    • 也欢迎直接联系我们 zhgx@uml.net.cn ,010-62670969

    作者简介:

    俎涛,火龙果软件工程创始人, 2001 年创立了火龙果软件工程, 2004 年创立了 IBM Rational 用户组。 1998 年,曾作为骨干参与国家重点研究课题《面向特定领域基于组件的软件复用》,有幸比较深入的学习和使用的 UML 进行领域建模、提炼可复用组件和架构。在后来的研发项目中,一直采用模型进行分析设计,积累了一些心得和经验。在以往的经历中,最大的感触是汇聚了很多精英人才的软件工程和系统工程领域居然几十年都是一种凌乱迷蒙的状态,从自己的经历所得,觉得清晰的模型,才是拨开工程迷雾的关键所在,所以不断研究和应用各种建模技术,并从自己的工程实践中提炼经验,形成对于自己可持续的方法论,例如《 Nature Model Language- 自然建模语言》《基于模型的三维研发管理》《 iProcess 过程改进方法》《基于模型的需求管理》《模型驱动的架构设计》《基于模型的质量管理》《基于模型的人员能力管理》,目前正在作为产品经理和架构师,进行 MBSE (基于模型的系统工程)平台的研发,希望建立要给基于模型的工程解决方案,后续会不断写些文章,希望能给同行一些借鉴。

     

       
    1286 次浏览       17

    最新活动计划
    MBSE(基于模型的系统工程)4-18[北京]
    自然语言处理(NLP) 4-25[北京]
    基于 UML 和EA进行分析设计 4-29[北京]
    以用户为中心的软件界面设计 5-16[北京]
    DoDAF规范、模型与实例 5-23[北京]
    信息架构建模(基于UML+EA)5-29[北京]
     
     
    最新文章
    在EA中内嵌文档- Artifact
    EA中模型视图
    EA中的实体关系图
    使用EA进行风险建模
    EA中的项目词汇表
    EA的模型导出或导入csv文件
    自定义表格(Custom Table)在EA中的使用
    Gap Analysis Matrix(差距分析矩阵)
    更多...   
    MBSE工具
    MBSE平台
    建模工具 EA
    模型库-Model Center
    需求管理-ReqManager
    自动建模-Modeler
    多级仿真-Sys Simulator
    代码工程-Code Engineer
    文档生成器-DocGenerator
    更多...   
    成功案例
    广汽研究院 SysML+EA+软件分析设计
    高合汽车研发部门 建模工具EA、WebEA、学习视频
    国汽智联 建模工具EA、模型库、WebEA和iSpace
    亿咖通 MBSE工程体系与工具链咨询
    中航无人机 MBSE工具链
    吉利汽车 购买EA工具
    华科汽车零部件 购买EA工具
    东风岚图汽车 购买EA工具 以及EA定制开发
    更多...   
     
     
     
     
     
     
    相关文章

    用户手册:EA Helper
    自然语言自动化生成图
    使用iSpace进行多人协作建模
    基于模型的软件复用(MBSR)
     
    相关文档

    AUTOSAR_TR_BSW UML模型建模指南
    UML时间图建模(基于EA)
    UML 模型框架(基于EA)
    UML序列图编写规范
     
    相关课程

    UML+EA+面向对象分析设计
    UML + 嵌入式系统分析设计
    业务建模与业务分析
    基于UML和EA进行系统分析设计