欢迎来到学术参考网

通过Addin实现EA功能扩展

发布时间:2015-12-14 13:54

摘 要: 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系统的框架组装关键技术分析

下一篇:成都地区部分高校大学生信息素养现状调查研究