




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UML建模工具开发实践,Trufun software,议题,你准备好了吗? UML建模工具开发三步曲 UML建模工具开发高阶探讨 我们的实践:Trufun Plato 提问,你准备好了吗?必备条件,个人 你真的了解UML吗? 从OMG下载所有相关的UML白皮书和参考手册,能读多少遍,就读多少遍. 将相关UML & MDA普及网站的所有UML技术文章通读一遍,如UMLChina.MDAChina,。 你知道你未来的产品是什么样子吗? 熟练操作IBM Rational Rose、Borland Together,或Trufun Plato。知己知彼。,你准备好了吗?必备条件,个人 你有足够的软件开发经验吗? 精通架构设计、对常用设计模式烂熟于心。 最起码精通一门语言。具体什么语言都无所谓。推荐Java,C#. 你有足够的时间吗? 如果是全职开发,有一个成型的DEMO要12年。 如果是兼职,要35年。每天要坚持2个小时。 你有足够的资金养家糊了口吗? 因为你的这项投入5年之内赚钱的可能几乎为零,甚至永远为零。,你准备好了吗?必备条件,公司 你有足够的资金吗? 想一想IBM收购Rational的出价, Borland收购Together的价码,掂量一下你的钱袋! 你有胆量和软件巨人直面较量吗? 如果你的对手是Microsoft, IBM, Borland,你还能睡着觉吗? 你有顶尖的人才吗? 精通UML的人才:类似Rational的三剑客。 顶尖的系统架构师:没有的话,还是不要做了。 丰富经验的高级软件工程师。,建模工具开发三步曲,构建完备的图形系统 构建UML对象类库 基于二者,构建UML IDE,第一步:构建图形系统,什么是图形系统?即矢量绘图系统。这是UML建模的基础的基础。 成功范例:Visio.这是目前公认做的最好的图形系统。 参考开源代码:JGraph(Java)。JGraph是一个强力的,轻量级的,具有丰富特色的,而且彻底开放源码的图形构件。 建议:如果要使用开源代码,建议使用BSD协议、LGPL协议或Apache相关协议代码。,第一步:构建图形系统,要实现的功能: 图形绘制: 基本图形: Text, Rect, Circle, Line 可连接的图形:Node, Edge. 外部图像:如bmp,wmf, emf. 图形交互 Undo/Redo Cut,Copy,Paste Move,Resize, Rotate Text, Font, BgColor,ForeColor Format: Nudge, Ordering, Align, Distribute Group, UnGroup,第一步:构建图形系统,要实现的功能: 视图: Zoom out, Zoom In. OverView. 图形输入输出 复制图像到Clipboard 保存到文件:最好是XML文件,或SVG。 读取文件 打印 其他UI支持: ToolBox Property Editor,第二步:构建UML对象类库,如果使用面向对象语言就要采用OOA和OOD。 UML对象很多,关系也很复杂。 建议使用JMI接口。并使用已经有的JMI实现(如NetBeans的实现)。例如poseidon就将原来ArgoUML采用的nsuml类库改为NetBeans的实现。,第二步:构建UML对象类库,特别提出的功能 要具备高度的扩展性:因为UML从1.3,1.4一直到2.0,对象及对象关系变化非常大。 要充分支持UML Profile :Tag, Stereotype。 和其他建模工具的模型共享:要支持XMI的导入导出。 支持UML对象操作的还原:undo/redo,第三步:构建UML IDE,将图形系统和UML对象类库完美的融合,构建一个完整的UML应用环境。 二者的结合架构:MVC 将图形看作是UML对象的视图(View)。 将UML对象看作是图形的Model(模型)。 一个UML对象可以有多个视图表示。,第三步:构建UML IDE,针对UML定制图形环境 实现所有框图类型:Class Diagram, UseCase Diagram, StateChart Diagram 实现所有可见的UML对象视图:类、接口、依赖、关联、用例、角色、状态、对象 定制工具箱和工具生成规则:如类和类之间不可以用实现关系连接、状态图不可以绘制类,第三步:构建UML IDE,创建UI 作个漂亮的Splash 创建主菜单:最好是可以merge的菜单。 创建快捷菜单(Context Menu):不同的元素显示不同的快捷菜单。 创建工具栏 创建工具箱 创建属性编辑器 创建其他窗口:如Output Window, Model Browser,建模工具开发三步曲,好了,现在已经有了功能基本完备的UML建模工具了。 下面要做的是: 进行严格的单元测试和系统测试。 制作安装程序 如果是个人,可以提交到各下载网站。同时也可以创建自己的网站,来宣传。 如果是公司,可以做测试版,进行公测。之后,就可以进行媒体宣传了。,UML建模工具开发高阶探讨,如果只是开发一个UML工具来玩一玩的话,前面做的已经足够! 如果,你要做的是一个商业的,可以拿来和Rose、together相提并论,最重要的是,可以让用户心甘情愿的购买的话,那么,你要做的还有很多!,UML建模工具开发高阶探讨,高阶话题1:开放性。 必须有高度的开放性的原因:为什么现在eclipse现在成为最有人气,最有前景的IDE工具?就是因为它的开放性,全世界有那么多人来为它写插件,来丰富它的应用!更有Mozilla的firefox,更是眼前的成功范例!,UML建模工具开发高阶探讨,高阶话题1:开放性。 开放什么? 你的UI是否可以由用户随心所欲定制?UI包括主菜单、工具栏、工具箱、窗口、快捷菜单 是否支持脚本:如果对你的应用进行扩展,都要进行编译,会吓退很多人。为什么BASIC语言那么受初学者欢迎,就是因为它不用编译。 是否公开API:是否你系统的所有必须公开的对象都已经公开?如用户通过脚本来修改一个类的名字,或者用户可以通过脚本来打开一个外部文件。,UML建模工具开发高阶探讨,高阶话题1:开放性。 如何开放? 将所有UI的定义都放在外部文件中,文件最好是易读的XML格式。 整理你的系统类库,公开所有必须公开的类、类的属性、方法以及详细的说明。 支持适合的脚本:如JavaScript,VBScript等。 定义插件结构。,UML建模工具开发高阶探讨,高阶话题2:强大的插件 现在或者将来必须具备的插件 Web Publish:并非所有的相关人员都安装建模工具,当你向其他人来介绍你的设计时,最好的办法将模型转换为网页。这样,每个人都可以看到你的成果。 Document Builder:如果在建模的同时,就能同时构造好相关文档(如需求分析、系统设计)该多好! 其他建模工具模型文件导入导出:如可以导入Rose的MDL文件格式。,UML建模工具开发高阶探讨,高阶话题2:强大的插件 现在或者将来必须具备的插件 编程语言插件:现在的编程语言很多,但是起码可以支持常用的如Java、C#等。 反向工程 模型验证 正向工程 其他:如J2EE的单元测试、部署等。 内嵌IDE:如Together(TCC,可以直接编辑、编译、调试)。 和其他IDE的集成:如和JBuilder的代码同步。,UML建模工具开发高阶探讨,高阶话题2:强大的插件 现在或者将来必须具备的插件 数据库插件:如Rose的DataModeler。当然,还是PowerDesigner的数据建模功能最强。 XML插件:如DTD和Schema的建模支持。 CVS ,UML建模工具开发高阶探讨,高阶话题3:未来的UML工具 支持UML 2.0 MDA 可执行的模型 MDA距离我们还有多远? 是期盼?还是恐惧?,我们的实践:Trufun Plato,Trufun Plato就是我们实践的产物。 历时3年,才有了初步为大家认可的Trufun Plato 2005. Trufun Plato的路还很长。,Trufun 的历史,04/1/30:注册国际域名。 04/2/2: 开通网站。 04/3/15:在网站发布Trufun Plato 1.0试用版。 04/4/17:开通网站论坛。 04/6/14:发布Trufun Plato 2.0。 04/7/14:开始建构MDA软件Trufun Kant。 04/11/7:发布Trufun Plato 2.8.5 05/2/27:发布基于全开放式架构的Trufun Plato 2005(V3.0)及Trufun Kant 2005(V0.0.1, MDA for Java)。网站全新改版。 05/3/24:发布升级版Trufun Plato 2005(V3.1)及Trufun Kant 2005(V0.1)。,Trufun的产品,楚凡科技目前拥有两大品牌CASE产品: UML建模产品:Trufun Plato。Trufun Plato 是专业的UML建模工具,全面支持OMG标准UML V1.4,是全球第一款中文UML建模工具,是微软推出.Net Framework以来全球第一款基于.Net的大型桌面应用程序,是为中国UML用户量身定做的全中文用户界面的优秀产品。 MDA产品:Trufun Kant。Trufun Kant 是基于Trufun Plato的MDA工具,即中国第一个基于UML的模型驱动架构开发工具,也是是全球第一款中文MDA开发工具。Trufun Kant覆盖了软件开发的各个环节,使用Trufun Kant,不仅可以通过UML进行需求捕获、系统分析、系统设计,同时可以进行代码生成、编译、调试、运行、打包、部署, 以模型驱动整个软件开发,真正实现了以模型为中心的软件开发新模式,从软件工具层面支持开发者创建“可执行的模型”。,Trufun Plato 功能介绍,优秀的UML建模支持 方便高效的集成环境和易用使用的用户界面 功能强大的插件 设计模式支持 基于OpenIDE和OpenAPI的全开放式环境 其他:主题、随机附带的大量建模例程、全中文联机帮助和建模指南,UML建模支持框图,Plato支持UML1.4所有框图类型: Class Diagram UseCase Diagram StateChart Diagram Activity Diagram Sequence Diagram Collaboration Diagram Component Diagram Deployment Diagram,UML建模支持:类图,UML建模支持:用例图,UML建模支持:状态图,UML建模支持:活动图,UML建模支持:协作图,UML建模支持:序列图,UML建模支持:部署图,强大的元素规格定义对话框,UML建模支持UML Profile支持,Tag扩展:用户可针对每个模型元素定义自己的Tag及Tag值 构造型(Stereotype)扩展: 可针对元素类型定制元素构造型 可以指定构造型的显示图标 可以指定构造型在框图上的显示样式,可以是外部的wmf或emf文件,UML建模支持构造型扩展,UML建模支持XMI支持,支持XMI格式的模型文件交互 Trufun模型可以导出为XMI Trufun可以导入XMI格式的模型文件,优秀的建模环境和用户界面,全中文的使用界面 美观的用户界面,类Visual S 的Dockable界面组件,强大的属性编辑器,灵活的工具箱. 支持Cut, Copy, Paste; 模型元素查找、定位功能。 视图的缩放、鸟瞰。 脚本和代码区支持语法高亮显示。,优秀的建模环境和用户界面,高效的拖放支持:可以通过拖放改变命名空间,也可以将模型从模型导航器拖放到框图上。 灵活全面的图形编辑功能:各种对齐方式、各种自动图形分布、图形叠放次序、图形微移。另外也包括深受用户欢迎的类图自动布局功能。 支持打印,图像复制及图像文件导出功能; 支持用户工作空间(Workspace)的保存和打开。 支持模型文件的自动备份。使得Trufun Plato更加健壮、更加安全 支持主题,预定义众多配色方案的主题,建模更加色彩缤纷!,优秀的建模环境和用户界面启动页,功能强大的插件Rose模型导入,可以将Rose模型转换为XMI格式 可以读入XMI格式的模型,功能强大的插件数据库反向工程,通过ODBC支持所有数据库类型 可以选择要进行反向工程的表和视图。,功能强大的插件文档构造,通过“文档构造”功能生成各种文档(如需求分析、系统分析或设计)等。 可以直接生成rtf格式。 提供各种文档模板和报表模板。,功能强大的插件文档构造,功能强大的插件Web Publish,将模型发布为网页。,功能强大的插件实时代码生成,在修改模型的同时,生成选中的编程语言代码。 支持14种常用的编程语言。C#, VB.Net, J#, JScript.Net,C+.Net,C, Ansi C+, Delphi, Perl, Php, Python, Eiffel, Java, Caml等14种语言 。 可以直观的帮助初学者理解模型和语言的映射关系。,功能强大的插件实时代码生成,设计模式支持,支持24种设计模式。包括所有GoF的设计模式。 每个模式作为工具箱的一个工具,选中工具,在框图选择插入位置,会弹出对话框,此时可对模式进行参数设置,“确定”后即可在类图上生成该模式。 模式支持全部采用脚本生成,用户可方便根据自己需求进行定制或添加自己的设计模式。,设计模式支持,全开放式的建模和二次开发环境,Trufun核心由OpenIDE和OpenAPI组成。 OpenIDE构成界面和用户环境的基础。所有用户界面和用户环境都通过OpenIDE来配置完成。比如主菜单、快捷菜单、窗口、工具箱、工具栏、属性编辑器、资源、程序集。 OpenAPI构成建模的核心组件。用户可以通过OpenAPI来操作系统对象、模型元素对象、并可以对系统行为进行扩展。 OpenIDE和OpenAPI由插件统一起来。在Trufun看来,一切皆是插件。,全开放式的系统OpenIDE,插件定义: 插件的常规信息:包括插件的显示名,开发者,版本等信息,显示在插件管理器列表中。 是否是语言插件:语言插件如Java,非语言插件如Rose模型导入。 插件的接口类:Trufun定义了许多系统事件,如果插件希望可以侦听这些事件,则必须实现插件接口。如果不需要理会这些事件,则无需实现插件接口。 主菜单:插件可以自行定义要显示在主菜单的菜单项。菜单项可以显示在已有的菜单下,也可以自行创建新菜单。 快捷菜单:菜单可以自行定义自己的快捷菜单。快捷菜单是按照当前选中元素类型区分的,用户可以针对不同的元素类型来定义自己的快捷菜单。比如,在Java插件中,针对类元素可以添加“新建入口操作”的快捷菜单。 工具栏:插件可以定义的工具栏,也可以在已有工具栏上添加自己的工具。 工具箱:在Trufun中,工具箱是根据框图类型划分的,当前框图类型不同,则工具箱也不同。工具箱也可以根据用途的不同,区分为不同的工具类型,比如类图工具箱,就有常规类(画一些简单图形)和类图(绘制类、接口等类图元素)。而插件可以选择在需要的框图工具箱添加自己的工具甚至自己的工具类型。,全开放式的系统OpenIDE,插件定义: 属性编辑器扩展:插件可以自定义在属性编辑器上显示的属性和属性的编辑。 资源:每个插件都可以定义自己的文本资源和图形资源,而且也可以进行国际化。在Trufun中,所有资源都是.resource格式,可以方便的使用一些工具编辑、修改。 程序集:如果你实现了插件接口,则需要将实现程序集(即dll)在此指定,以便系统引入此动态库。 UML属性定义:所谓UML属性,实际上就是Tag标记。你可以在这里定义各种各样的Tag。如果你的插件是语言插件,则模型语言设置为此语言时,所有Tag都会读进来。其实,可以认为是插件自己的某些特定配置。 构造型定义:如果是语言插件,你可以定义自己的构造型。比如Java插件,你可以定义一个”Http Servlet”的构造型,以及该构造型在模型导航器中显示的图标,也可以指定在视图中显示的元图像文件(*.wmf或*.emf)。 数据类型定义:语言插件在这里定义自己的数据类型。除了数据类型之外,还可以定义自己的类库。,全开放式的系统OpenAPI,用户可以直接在脚本窗口通过OpenAPI来操作系统对象和系统行为。比如:在脚本窗口输入” Application.About();”,然后运行脚本,即可看到打开了“关于”对话框。 最典型的使用OpenAPI开发的例子就是设计模式。所有设计模式都是通过脚本来调用OpenAPI实现。脚本在optiondefaultscripts目录下。 OpenAPI参考包含在Trufun Plato联机帮助中。 另外,OpenIDE的开发指南也已经发布,可以在网站下载。,Trufun Kant 功能介绍,需求分析:用例图。继承自Trufun Plato。 系统分析:业务流程图、类图、协作图、序列图等。继承自Trufun Plato。 系统设计:类图、对象图、组件图、部署图。继承自Trufun Plato。 生成源码和用户自定义源码 编译 单元测试 运行,用Kant进行MDA(for Java)设计,用户可以通过反向工程将已有项目和源码导入到模型中。 Kant支持如下类型的Java反向工程: Java源文件 Java字节码文件 Jar(Zip) 反向工程可保留方法体,用Kant进行MDA(for Java)设计,Kant &Plato针对Java实现了Java专用的规格定义对话框。下面是Java类的规格对话框:,用Kant进行MDA(for Java)设计,下面是Java类属性的规格对话框,用Kant进行MDA(for Java)设计,下面是Java类方法的规格对话框,用Kant进行MDA(for Java)设计,下面是Java接口的规格对话框,用Kant进行MDA(for Java)生成源码,使用MDA生成源码和用实时代码插件生成源码有太多的不同: 前者完全针对语言定制,考虑
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业互联网平台雾计算协同机制在智能工厂生产效率评估中的应用报告001
- 2025年新能源商用车辆在快递分拣中心的运用与市场需求报告
- 绿色供应链管理在轨道交通制造业的应用与绿色生产2025年行业洞察报告
- 市场代理分销协议及补充协议说明
- 我的语文老师:一位影响深远的人像作文13篇范文
- 森林童话故事创作6篇
- 宠物医疗健康合作协议
- 软件企业软件产品创新开发流程设计
- 化工工艺流程及操作原理试题集
- 论生活态度的议论文11篇范文
- GB/T 31125-2014胶粘带初粘性试验方法环形法
- 班主任班级管理(课堂)课件
- 学院辅导答疑情况记录表
- 31个级地区国家重点监控企业自行监测信息公开平台及污染源监督性监测信息公开网址
- 2021年中国美术学院辅导员招聘考试题库及答案解析
- 2022年江西省投资集团有限公司校园招聘笔试模拟试题及答案解析
- 发证机关所在地区代码表
- 征地补偿数据库建设技术方案
- 高级财务管理教案第八章 财务危机管理
- 磷酸设备操作、维护与检修手册V1.0(1)
- 北京市中小学教师岗位考核登记表(表样)
评论
0/150
提交评论