对企业架构数据共享的需求在过去几年催生了各种数据交换方法,一些方法基于行业标准,但是大部分都依赖于特定的方法。这些方法都需要一定的工作量才能跨各种建模工具、其他工具和数据库来进行实现。不管何种原因,这些方法都无法跨工具和数据库均衡进行实现,也不能兼容基于电子表格的企业架构,而这种架构在许多从业者中都得到了广泛应用。
本教程介绍了一个比较简单的方法,该方法基于建模工具和电子表格架构已经创建的视图:OV-03 Operational Resource Flow 矩阵和 SV-06 System Resource Flow 矩阵。该方法需要使用电子表格功能,但是不需要进行编码。这个技巧支持导入 OV-03、SV-06 以及其他包含不同内容和格式的电子表格。
IBM® Rational® System Architect 可以通过定义的方式导入数据。以这种方式导入的定义随后可用于生成图表、矩阵和报表。本教程将着重介绍如何从 SV-06 System Resource Flow 矩阵电子表格(SV-06)导入 DoDAF2 数据,并用数据填充 Rational System Architect 百科全书(encyclopedia),从而生成完整的图表、矩阵和报表。虽然本教程使用了 SV-06 电子表格来填充系统定义,您也可以通过这种方法使用 OV-03 Operational Resource Flow 矩阵电子表格(OV-03)或其他基于电子表格的数据来填充操作定义。
您可以使用这种方法将数据从其他工具、数据库和手动创建的电子表格中转移到 Rational System Architect。虽然并非所有的 OV-03 和 SV-06 电子表格都是相似的,但是您可以使用标准的 Microsoft Excel 功能来处理数据内容,转换数据并将这些文件直接导入到 Rational System Architect 中。生成的定义将用于创建图表、矩阵和报表。本教程中的例子使用了一个样例 SV-06,它可能与您希望导入到 Rational System Architect 的 SV-06 不同。您可以将这个例子作为模板或向导,构建您自己的电子表格,将数据导入到 Rational System Architect。您还可以通过cfaris@us.ibm.com 联系我,向我提出问题或意见。
对 Rational System Architect 中的 DoDAF2 实现所做的新的更改使数据交换成为可能。这些更改为该工具的核心建模功能交付了重要的改进。目前,Rational System Architect DoDAF2 观点(图表和矩阵)代表了包括关系在内的底层数据(定义)。数据定义中所含的关系就是图表和矩阵中显示的关系。更改数据定义的操作将同步到在其中显示数据定义的观点中。相反地,更改图表或矩阵的操作也将同步到底层数据定义。使用数据子类型(subtype)是另一个 Rational System Architect DoDAF2 特性。它使得模型能够更具体地反映所建模的操作和系统,但是在导入关系数据时需要提供额外的信息。本教程中的例子侧重于定义数据和相关联的观点之间的一致性,并介绍一种使用子类型构建关系的方法。
回页首
如图 1 所示,样例 SV-06 System Resource Flow 矩阵是本教程使用的惟一数据源。Rational System Architect 生成了这个矩阵。它不包含子类型引用,但是包含用于构建这些引用的数据。在图 1 的样例 SV-06 in 中,使用了两个 performer 子类型(Organization 和 System)。您也可以使用其他 performer 子类型,因为本教程的电子表格也支持处理它们。您希望导入的 SV-06 可能只包含系统,不包含其他 performer 子类型。本教程中使用的电子表格显示了如何从多子类型及单子类型电子表格列中导入数据。
图 1. SV-06 System Resource Flow 矩阵
回页首
图 1 所示为每个电子表格的基础。它侧重于一个单一的导入定义类型。在进行导入时,该定义类型的属性将从电子表格的列中填充。Rational System Architect 将导入与定义中的属性名匹配的列名。请注意,System Data Flow 和 System Function 实例都是由 System Data Flow 导入创建的。您可以在后续导入中对导入的定义应用更多数据或更新的数据。
在本教程的例子中,将要导入的数据从初始数据(列 J)之后的列开始。电子表格包含初始的 SV-06 数据和要导入的数据(在本电子表格中为 J 到 L 列)。列标题并不匹配列 A 到列 I 中的定义属性名,因此这些列中的单元格内容将不会被导入。图 2 展示了图 1 所示的电子表格的延续部分。这个电子表格视图包含系统数据流和系统函数。它们将显示在 SV-04 System Functionality Description 图表中。
图 2. 系统数据流电子表格
回页首
每个电子表格都有一个 Lookup 选项卡,其中包含一个 Lookup 表(理论上讲,这个选项卡是同一个 Excel workbook 中的另一个工作表的名称)。这个 Lookup 表在本教程中的所有电子表格中使用,它有两个列:
Excel VLOOKUP 函数将使用这个表。这个表必须按照搜索参数的升序排列。来自其他位置的电子表格的 Identifiers 可能不同于图 3 所示(本教程使用的 lookup 表)。您需要修改 Identifiers 来匹配正在导入的 SV-06/OV-03 中的源标识符。如果添加或修改了某个 Identifier,则需要修改表序列来保持升序排列。
VLOOKUP 函数将搜索 “Identifier” 列来查找匹配内容,并将来自对应的 “Subtype” 列的值插入到结果中。这是 System Architect 中的异构引用的必要组成之一。
System Architect 中一个完整异构引用将采用如下形式:"Definition": "type name":"name"。“Definition” 和 “type name” 由 VLOOKUP 函数通过 Lookup 表提供。“Name” 通常来自电子表格的一个或多个列。“Definition” 指定了被引用的对象类,它是一个常量,因为只有定义是通过这种方式引用的。
图 3. Lookup 表
回页首
在 System Data Flow 电子表格中,只有 System Functions 显示为 Source 和 Destination。这将支持固定的搜索参数。如图 4 所示,搜索参数为 System Function (DM2x) 。VLOOKUP 将在 Lookup 表中搜索列 A,找到一个匹配,然后返回 "Definition:"System Function (DM2x)":" 字符串,后者将列 D 的内容串联起来。处理 performer 的电子表格将最大程度利用 VLOOKUP 函数,因为存在几个可能的 performer 子类型。
备注:
列 D 的内容包含一个开始和结束引号,允许在引入属性中嵌入空格和特殊字符。
图 4. Fixed Search Argument 示例
图 5 显示了 ActivityPerformedByPerformer 电子表格。它使用 Excel VLOOKUP 和 CONCATENATE 函数构建要导入的列数据。
图 5. ActivityPerformedByPerformer 电子表格
回页首
SV-06 中的 Activity 列始终为一个 System Function,但是 Performer 可以是任意 performer 子类型。VLOOKUP 函数使用列 B 作为搜索参数并返回对应子类型引用的字符串,如图 6 所示。
图 6. 可变搜索参数
回页首
在 Excel 中,必须通过 File > Save As 将每个电子表格保存为一个 .CSV 文件。要导入 .CSV 文件,可以使用 Dictionary > Import Definitions 下的 Rational System Architect Import 函数。这将打开如图 7 所示的 Import 对话框页面。
图 7. Import 对话框
图 8 所示的 Import 对话框被设置为导入 System Data Flow 电子表格。找到并选择您刚才保存的 .CSV 文件,然后选中匹配的定义类型。选择 collision 选项 Update single field when data supplied。 这个 collision 选项将更新现有的定义实例的属性,它在电子表格中包含对应的数据。对其他属性采用默认设置。如果不存在相同类型或相同名称的定义,那么将创建一个新的定义实例。
图 8. 导入系统数据流电子表格的对话框
回页首
提示:将图表设置为 auto-route 行并指定连接( Format > Diagram Auto Routing > Assign Connections ),快速对图表进行调整。
导入 System Data Flow and Activity Performed by Performer .CSV 文件后,您可以生成一个 SV-04 System Functionality Description 图表。您还可以在矩阵和报表中看到 SV-04 System Functionality Description 图中显示的关系。要创建图 9 中的图表,可以从 Explorer 或 Choices 对话框中拖拽 System Function and Performer and Performer subtype definitions (System, Service, Service Interface, Person, Organization and Interface (Port)) (在 SV-04 System Functionality Description 图表中,右键单击并选择 Choices )。将自动根据导入数据绘制关系图。
图 9. SV-04 System Functionality Description 图
回页首
使用图 10 所示的电子表格导入 system exchang。System Exchange 引入了它参与的 System Resource Flows 以及它所在的 System Data Flow。
图 10. System Exchange 电子表格
回页首
使用图 11 所示的电子表格导入 System Resource Flows。请注意,System Resource Flow 定义中的一个引用属性引用了 System Exchanges。该属性通过导入 System Resource Flow 引用属性中映射的 System Exchanges 填充。
图 11. System Resource Flow 电子表格
回页首
导入上述内容后,除了 SV-04 System Functionality Description 图表之外,您还可以创建 SV-01z System Exchange 图和 SV-01 System Interface Description 图以及其他观点,比如 SV-02 System Resource Flow 图。图 12 显示了生成的 SV-01 System Interface Description 图。
图 12. SV-01 System Interface Description 图
回页首
和创建图表一样,顶层定义的内容也可以用于创建矩阵。图 13 显示了一个 System Resource Flow 矩阵,它是由导入的数据生成的。该矩阵包含 from performer 和 to performer,分别被用作 X 和 Y 轴,其中 System Resource Flow 名称位于两轴相交的位置。
备注:
矩阵单元格包含可以从矩阵访问的 System Resource Flows。
图 13. System Resource Flow 矩阵
回页首
描述 | 名字 | 大小 |
---|---|---|
样例文件 | Import_SV-06 XLSX.zip | 32KB |