1.EA中的 MDA 转换 是什么
MDA 转换是 EA 提供的一种便捷的转换工具,可以用于自动化建模和转换模型,避免了手动创建转换模型出现错误的可能,提高了工作效率。 EA 使用灵活且完全可配置的模板系统来实现模型驱动的体系结构( MDA )转换。模板充当对机器的指令,该机器将模型作为输入并将其转换为更解析的模型作为输出。输入可以是大型而复杂的模型,也可以是单个元素,并且一个输入模型可以转换为多种输出模型。转换通常是单向的,通常是由一个特定类型的模型转换成另外特定类型的模型。
2.EA 中的 MDA 转换有什么用
转换模型功能可以将 一个类型的模型转换成一个或几个特定类型的模型, 例如由许多不同的关系数据库实现一个系统,可以建立一个概念模型,然后使用此功能转换模型,可以将模型转换成 Oracle , MySQL 和 SQLite 。为了进一步提高效率,一旦生成输出模型,也可以转换为编程代码或数据库定义语言代码。
EA 提供了一些常用的转换类型:
数据定义语言
EJB 实体
EJB 会议
Java 语言
XSD
C#
……
除了 EA 的 MDA 转换类型,还可以自定义转换模板来转换模型,在转换模板可以编辑以下操作:
转换连接器:在转换中创建元素的关联关系。
转换重复信息:在许多转换中,会有大量的信息被复制。
中介语言:在中介语言中可以设置将要转换模型的设置信息,如命名空间、属性等信息。
转换类型:将要转换的语言类型。
转换名称:不同类型的模型命名方式可能不同,需要进行设置。
交叉引用:主要用于转换后类之间创建关系。
通过仔细研究 EA 提供的转换模板,可以收集到更多的提示和技巧。还要注意,编写转换模板和编写代码生成模板非常类似,因此理解代码模板框架将大大有助于理解转换。
3.EA 中的 MDA 转换有什么
3.1 转换元素
模型转换客户端的功能,可以将一类模型转换成另一类模型。可以通过在“浏览器”窗口中选择“包”或在图中的元素来进行操作。
3.2 内置转换
EA 提供了一组常用的内置转换模板,这些模板涉及多个方面从领域建模到代码工程的各种学科都是有用的。
名称 |
描述 |
C # |
将模型转换成 C #类元素。 |
C ++ |
将模型转换成 C ++ 类元素。 |
数据定义语言 |
将模型转换成默认数据库类型的数据模型的逻辑模型,可以直接生成 DDL 。 |
实体关系图到数据模型 |
将模型转换成默认数据库类型的数据模型的 ERD 逻辑模型,可以直接生成 DDL 。 |
数据模型到实体的关系图 |
将模型转换成 ERD 逻辑模型的数据模型。 |
EJB 会话 |
将模型转换成 EJB 会话的 类元素。 |
EJB 实体 |
将模型转换成 EJB 实体的 类元素。 |
Java |
将模型转换成 Java 类元素。 |
JUnit |
将现有的具有公共方法的 Java 类元素到具有每个公共方法的测试方法的类以及适当设置测试所需的方法。 |
NUnit |
将现有的 .NET 兼容类(具有公共方法)到具有每个公共方法的测试方法的类,以及适当设置测试所需的方法。 |
PHP |
将模型转换成 PHP 类元素。 |
顺序 / 通讯图 |
可以将序列图转换成通信图,也可以将通信图转换成序列图。 |
VB.Net |
将模型转换成 VB.Net 类元素。 |
WSDL |
将简单模型转换成适合生成的 WSDL 界面的扩展模型。 |
XSD |
这 XSD 转换将独立于平台的模型 (PIM) 元素转换为 XML 元素的 UML Profile ,作为创建 XML 模式的中间步骤。每个选定的 PIM 类元素都被转换为 XSDcomplexType 元素。 |
DDL 转换
Java 转换
XSD 转换
C# 转换
3.3 编辑转换
EA 工具内部可以修改或自定义转换模板,用于转换模型。 EA 中现有模板提供了有用的指南和参考,可以帮助我们创建新模板。转换模板基于代码生成模板框架,并且对这些模板的工作方式的理解对于能够调整现有转换模板或创建新转换模板至关重要。
名称 | 详情 |
默认转换模板 | EA 提供了一组默认转换模板,您可以按原样使用或根据需要进行自定义。 |
中介语言的通用语法 | EA 转换生成转换中创建的模型的中间代码形式。可以查看和编辑代码。 |
中介语言调试 | 还可以通过检查从 Transform 脚本生成的中间代码来调试转换脚本。 |
编辑转换模板和代码 | 编写转换时,可以使用通用代码编辑器的功能。 |
代码模板框架 | 可以使用代码模板框架执行 UML 模型的正向工程。转换模板框架是从此派生的。 |
创建对象的语法 | 要在转换中生成对象或元素,请在模板脚本中应用特定的语法。 |
创建连接器的语法 | 要在转换中生成连接器(关系),还可以在模板脚本中应用特定的语法。 |
转换重复信息 | 在许多转换中,有大量信息要复制。可以使用宏从其源中读取信息,而不是将这些信息放在模板中。 |
转换模板参数替代 | 在转换模板中,如果要转换 “ 模板绑定 ” 连接器绑定参数替换,则可以使用 “ 模板参数 ” 替换宏。 |
转换类型 | 可以应用各种方法将数据类型转换为不同的目标平台类型。 |
转换名称 | 可以应用各种方法将元素名称转换为不同的目标平台命名约定。 |
交叉参考 | 在转换期间,可以对转换后的元素执行交叉验证。 |
4.操作指南
4.1 转换模型
以聊天室的 DDL 转换为例
首先创建模型(聊天室服务器端逻辑模型)
选择浏览器上的包元素,点击转换模型功能
选中包含子包,将显示子包内全部元素,选择要转换的元素、要转换的类型、转换模型生成的位置,点击“ Do Transform ”开始转换。
转换后模型
4.2 编辑转换模板
4.2.1修改 DDL 类型转换模板中 file 文件
DDL 类型转换模板中 file 文件原始代码:
上边代码主要内容:设置转换后模型生成的包和图名称,调用了 Namespace 文件。
执行转换功能后生成的包和图名为“ DDL ”。
File 文件修改后:
执行转换功能后:
4.2.2 修改 DDL 类型转换模板中 Class 文件
DDL 类型转换模板中 Class 文件原始代码:
上边代码主要内容:设置转换模型类型为“ Table ”,调用了 Attribute 文件,然后设置主键信息。
执行转换后生成的模型为:
Class 文件修改后:(删除了设置主键代码)
执行转换功能后:
6. 后记
希望您读了此文后有所收益。 如果您有经验乐于分享,欢迎投稿给我们,如果您对我们的培训、咨询、和工具感兴趣,欢迎了解。 火龙果软件提供团队协同建模环境的咨询服务,可以帮助用户搭建完整的团队建模和 MBSE 解决方案,详细信息请见 http://tool.uml.com.cn/ToolsEA/introduce.asp 希望本文对您的建模工作有帮助。更多的有关 EA 建模资料如下: 视频: http://tool.uml.com.cn/ToolsEA/jswd-ysm.asp?partname=sp 文章: http://tool.uml.com.cn/ToolsEA/docea.asp?partname=wk
如果您希望了解更多信息: 欢迎访问建模者频道 http://tool.uml.com.cn/ToolsEA/introduce.asp 也欢迎直接联系我们 zhgx@uml.net.cn , 010-62670969
|