通过Addin实现EA功能扩展
摘 要: EA(Enterprise Architecture)是由Sparx Systems公司开发的一款功能强大的UML分析与设计工具,该工具提供了对软件开发生命周期中各个阶段的支持。由于它功能强大且轻巧好用,价格便宜,现在受到越来越多的软件开发人员的青睐。EA在提供强大的功能的同时,提供了较强的扩展功能。本文就EA如何通过Addin来进行功能扩展做了介绍。
关键词:EA;功能扩展;Addin
问题的提出
EA是一款功能强大的UML分析与设计工具,它的开发是在遵守行业标准的前提下进行的。在这个工具下建立的UML模型是基于UML2.1这一标准的。我们知道,UML在定义了一些可视化的图形符号的同时,UML还提供了可扩展的机制,这些扩展机制包括:stereotype ,OCL ,Tag Value。通过这些扩展,可以对UML的图形符号作进一步描述和约束。既然UML提供了可扩展的机制,那么就要求对UML提供支持的建模工具具有可以扩展的机制,不然的话,我们虽然对UML进行的扩展,但是没有工具的支持,就不可能方便快捷的建模。现在的可视化建模工具都提供了功能扩展的机制,而EA在这方面做的是比较优秀的。因此,本文就EA的功能扩展作一个介绍。
EA模型组织结构
EA中为实现功能扩展而提供的编程接口元素有:
Repository元素:通过这一元素可以访问模型中的包以及包里面的元素集
Elements元素:这是EA中的基础模型单元,这些元素包括:类,用例
Element Features:这些特征包括定义在元素上的属性和操作
Diagram:模型的可视化表示
Connectors:元素之间关系的表示
EA Addin 编程的步骤
1、Addin的开发
进行EA Addin的开发之前,需要安装EA7.5的专业版以及Visual Studio开发环境
开发步骤:
(1)打开VS2008,新建一个类库工程
(2)添加引用(这个文件在EA的安装目录下可以找到)
(3)添加一个Main类,并在这个类中,添加这样一些函数,这是EA扩展编程的框架代码
public String EA_Connect(tory Repository)
public void EA_ShowHelp(tory Repository, string Location, string MenuName, string ItemName)
public void EA_GetMenuState(tory Repository, string Location, string MenuName, string ItemName, ref bool IsEnabled, ref bool IsChecked)
public void EA_MenuClick(tory Repository, string Location, string MenuName, string ItemName)
public void EA_Disconnect()
(4)修改项目的属性
右键单击我们建立的类库项目,选择“属性”。
在项目“属性”下的“调试”标签页中,对于“启动操作”这个栏目选择“启动外部程序(X)”这一项,同时修改启动程序为EA的启动程序,即。
在项目“属性”下的“应用程序”标签页中,点击“程序集信息”按钮,在弹出的对话框中把“使程序集COM可见”这一项前的单选按钮勾选,这样做的目的是为了让把项目生成的DLL文件看成一个COM组件来用。
在项目“属性”下的“生成”标签页中,对于“输出”栏目把“为COM操作注册(P)” 这一项前的单选按钮勾选。
2、Addin的部署
部署一个EA Addin扩展的步骤如下:
通过开始->运行->regedit打开注册表编辑器。
在打开的“注册表编辑器”中找到目录:HKEY_CURRENT_USERSoftwareSparx SystemsEAAddins,右键单击这个文件夹,新建一个项,并修改这个项的默认值。把这个默认值改为:[DLL工程的名字].[类的名字] 。
总结
本文首先对EA这一建模工具进行的简单的介绍。然后介绍了如何基于Visual Studio开发环境,通过Addin来扩展EA的功能的步骤。有了这一个框架,我们就可以利用EA提供了编程接口来EA做一些扩展,从而使这个建模工具更加适合我们的软件开发过程。
参考文献:
[1]UML2.1的手册. OMG, 2007
[2]EA帮助文档. Sparx Systems ,2009
上一篇:ERP系统的框架组装关键技术分析