- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
企业建模软件系统架构
作者:毛力锐
版本:1.0
概述
本软件基于Eclipse插件平台进行开发,Eclipse平台是一个提供了完善插机制的RCP平台,它以SWT/JFace作为界面元素组件,提供给用户一个名为Workbench的UI平台,加上它本身优秀的插件机制,能够构造出扩展能力强,性能优秀,并能提供给用户良好UI体验的Rich Client Platform. 具体请参考框架选型部分。
本软件包含四大功能模块,分别是:业务对象视图建模,组织视图建模,静态功能视图建模和业务流程视图建模。其中每一个模块包含前台人机交互可视化建模和后台模型转换处理,导出成标准规约文件两大部分。具体请参考模块划分部分。
本软件为桌面应用(Desktop application),前台可视化建模部分提供拖拽,缩放,撤销重做,排版,缩略图,快捷键等交互元素,各个视图之间提供统一的用户观感,具体请参考用户界面部分。
本软件以Eclipse的EMF框架和GEF框架为基础,在此基础上做一些整合工作构成一套完整的MVC框架,具体的设计方案参考架构模式部分。项目环境,开发工具以及相关配置请参考开发环境部分。
框架选型
Eclipse RCP(Rich Client Platform)
Eclipse RCP是一项位于Eclipse平台核心的功能。如果将Eclipse中关于IDE的内容剥去,剩下的就是一个提供基本工作台功能的核心,包括对可移动以及可叠加的窗口组件(编辑器和视图)、菜单、工具栏、按钮、表格、树形结构等等的支持,而这个核心就是Eclipse RCP。
Eclipse RCP为应用程序开发人员提供了:
◆应用程序和特性的一致且本地的外观;
◆公共应用程序服务,例如窗口管理、更新管理、帮助和选择管理;
◆本地的外观,利用Windows、Mac OS X、Linux、Solaris、HP-UX、AIX和嵌入式设备上的实际平台窗口部件;
◆标准化的组件模型;
◆普及的可扩展性;
◆整合的更新机制;
◆顶级开发工具(Eclipse 软件开发包(SDK)是世界级的软件开发环境)。
参考资料:
RCP程序设计[1]
Eclipse Rich Client [2]
Contributing To Eclipse Principles Patterns And Plug-Ins[3]
Eclipse, A Java Developers Guide[4]
org.eclipse.platform.doc.isv.3.1[5]
org.eclipse.pde.doc.user.1435[6]
SWT/JFace
SWT 是一个库,它创建了Java 版的本地主机操作系统 GUI 控件。它依赖于本机实现。这意味着基于 SWT 的应用程序具有以下几个关键特性:
◆它们的外观、行为和执行类似于“本机”应用程序。
◆所提供的窗口小部件(widget)反映了主机操作系统上提供的窗口小部件(组件和控件)。
◆主机 GUI 库的任何特殊行为都在 SWT GUI 中得到反映。
这些目标使得 SWT 不同于 Java 技术的 Swing,Swing 的设计目标是消除操作系统的差异。
SWT 库反映了主机操作系统的基本窗口小部件。在许多环境下,这种方法太低级。JFace 库有助于向 SWT 应用程序中添加大量服务。JFace 并没有隐藏 SWT,它只是扩展了 SWT。SWT 最重要的扩展之一是,将应用程序的数据模型与显示及更改它的 GUI 隔离开来。
参考资料:
Eclipse, A Java Developers Guide[7]
SWT/JFace In Action[8]
EMF
我们在开发系统时往往存在大量的模型,EMF这个框架的作用就是以统一的方式帮助我们管理这些模型。我们可以导入Java Interface,UML Model,XMI等模型元数据来自动生成模型的代码。这些生成的模型可以通过反射的方法来对属性进行赋值和读取,同时还具备事件通知,序列化和反序列化的能力。
这些模型将作为MVC架构中的Model层。具体详见架构模式部分。
参考资料:
Eclipse Modeling Framework A Developers Guide[9]
GEF
经过总结我们可以发现图形化编辑方面具有以下共同之处:
提供一个编辑区域和一个工具条,用户在工具条里选择需要的工具,以拖动或单击的方式将节点或连接放置在编辑区域;
节点可以包含子节点;
用户能够查看和修改某个节点或连接的大部分属性;
连接端点锚定在节点上;
提供上下文菜单和键盘命令;
提供图形的缩放功能;
提供一个大纲视图,显示编辑区域的缩略图,或是树状模型结构;
支持撤消/重做功能;
文档评论(0)