UML建模工具开发实践

上传人:枫** 文档编号:584258097 上传时间:2024-08-30 格式:PPT 页数:69 大小:1.12MB
返回 下载 相关 举报
UML建模工具开发实践_第1页
第1页 / 共69页
UML建模工具开发实践_第2页
第2页 / 共69页
UML建模工具开发实践_第3页
第3页 / 共69页
UML建模工具开发实践_第4页
第4页 / 共69页
UML建模工具开发实践_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《UML建模工具开发实践》由会员分享,可在线阅读,更多相关《UML建模工具开发实践(69页珍藏版)》请在金锄头文库上搜索。

1、UML建模工具开发实践Trufun software议题v你准备好了吗?vUML建模工具开发三步曲vUML建模工具开发高阶探讨v我们的实践:Trufun Platov提问你准备好了吗?必备条件v个人你真的了解UML吗?v从OMG下载所有相关的UML白皮书和参考手册,能读多少遍,就读多少遍.v将相关UML & MDA普及网站的所有UML技术文章通读一遍,如UMLChina.MDAChina,。你知道你未来的产品是什么样子吗?v熟练操作IBM Rational Rose、Borland Together,或Trufun Plato。知己知彼。你准备好了吗?必备条件v个人你有足够的软件开发经验吗?v

2、精通架构设计、对常用设计模式烂熟于心。v最起码精通一门语言。具体什么语言都无所谓。推荐Java,C#.你有足够的时间吗?v如果是全职开发,有一个成型的DEMO要12年。v如果是兼职,要35年。每天要坚持2个小时。你有足够的资金养家糊了口吗?v因为你的这项投入5年之内赚钱的可能几乎为零,甚至永远为零。你准备好了吗?必备条件v公司你有足够的资金吗?v想一想IBM收购Rational的出价, Borland收购Together的价码,掂量一下你的钱袋!你有胆量和软件巨人直面较量吗?v如果你的对手是Microsoft, IBM, Borland,你还能睡着觉吗?你有顶尖的人才吗?v精通UML的人才:类

3、似Rational的三剑客。v顶尖的系统架构师:没有的话,还是不要做了。v丰富经验的高级软件工程师。建模工具开发三步曲v构建完备的图形系统v构建UML对象类库v基于二者,构建UML IDE第一步:构建图形系统v什么是图形系统?即矢量绘图系统。这是UML建模的基础的基础。v成功范例:Visio.这是目前公认做的最好的图形系统。v参考开源代码:JGraph(Java)。JGraph是一个强力的,轻量级的,具有丰富特色的,而且彻底开放源码的图形构件。 建议:如果要使用开源代码,建议使用BSD协议、LGPL协议或Apache相关协议代码。第一步:构建图形系统v要实现的功能:图形绘制:v基本图形: Te

4、xt, Rect, Circle, Linev可连接的图形:Node, Edge.v外部图像:如bmp,wmf, emf.图形交互vUndo/RedovCut,Copy,PastevMove,Resize, RotatevText, Font, BgColor,ForeColorvFormat: Nudge, Ordering, Align, DistributevGroup, UnGroup第一步:构建图形系统v要实现的功能:视图:vZoom out, Zoom In.vOverView.图形输入输出v复制图像到Clipboardv保存到文件:最好是XML文件,或SVG。v读取文件v打印其他

5、UI支持:vToolBoxvProperty Editor第二步:构建UML对象类库v如果使用面向对象语言就要采用OOA和OOD。vUML对象很多,关系也很复杂。v建议使用JMI接口。并使用已经有的JMI实现(如NetBeans的实现)。例如poseidon就将原来ArgoUML采用的nsuml类库改为NetBeans的实现。第二步:构建UML对象类库v特别提出的功能要具备高度的扩展性:因为UML从1.3,1.4一直到2.0,对象及对象关系变化非常大。要充分支持UML Profile :Tag, Stereotype。和其他建模工具的模型共享:要支持XMI的导入导出。支持UML对象操作的还原:

6、undo/redo第三步:构建UML IDEv将图形系统和UML对象类库完美的融合,构建一个完整的UML应用环境。v二者的结合架构:MVC将图形看作是UML对象的视图(View)。将UML对象看作是图形的Model(模型)。一个UML对象可以有多个视图表示。第三步:构建UML IDEv针对UML定制图形环境实现所有框图类型:Class Diagram, UseCase Diagram, StateChart Diagram实现所有可见的UML对象视图:类、接口、依赖、关联、用例、角色、状态、对象定制工具箱和工具生成规则:如类和类之间不可以用实现关系连接、状态图不可以绘制类第三步:构建UML I

7、DEv创建UI作个漂亮的Splash创建主菜单:最好是可以merge的菜单。创建快捷菜单(Context Menu):不同的元素显示不同的快捷菜单。创建工具栏创建工具箱创建属性编辑器创建其他窗口:如Output Window, Model Browser建模工具开发三步曲v好了,现在已经有了功能基本完备的UML建模工具了。v下面要做的是:进行严格的单元测试和系统测试。制作安装程序如果是个人,可以提交到各下载网站。同时也可以创建自己的网站,来宣传。如果是公司,可以做测试版,进行公测。之后,就可以进行媒体宣传了。UML建模工具开发高阶探讨v如果只是开发一个UML工具来玩一玩的话,前面做的已经足够!

8、v如果,你要做的是一个商业的,可以拿来和Rose、together相提并论,最重要的是,可以让用户心甘情愿的购买的话,那么,你要做的还有很多!UML建模工具开发高阶探讨v高阶话题1:开放性。必须有高度的开放性的原因:为什么现在eclipse现在成为最有人气,最有前景的IDE工具?就是因为它的开放性,全世界有那么多人来为它写插件,来丰富它的应用!更有Mozilla的firefox,更是眼前的成功范例!UML建模工具开发高阶探讨v高阶话题1:开放性。开放什么?v你的UI是否可以由用户随心所欲定制?UI包括主菜单、工具栏、工具箱、窗口、快捷菜单.v是否支持脚本:如果对你的应用进行扩展,都要进行编译,

9、会吓退很多人。为什么BASIC语言那么受初学者欢迎,就是因为它不用编译。v是否公开API:是否你系统的所有必须公开的对象都已经公开?如用户通过脚本来修改一个类的名字,或者用户可以通过脚本来打开一个外部文件。UML建模工具开发高阶探讨v高阶话题1:开放性。如何开放?v将所有UI的定义都放在外部文件中,文件最好是易读的XML格式。v整理你的系统类库,公开所有必须公开的类、类的属性、方法以及详细的说明。v支持适合的脚本:如JavaScript,VBScript等。v定义插件结构。UML建模工具开发高阶探讨v高阶话题2:强大的插件现在或者将来必须具备的插件vWeb Publish:并非所有的相关人员都

10、安装建模工具,当你向其他人来介绍你的设计时,最好的办法将模型转换为网页。这样,每个人都可以看到你的成果。vDocument Builder:如果在建模的同时,就能同时构造好相关文档(如需求分析、系统设计)该多好!v其他建模工具模型文件导入导出:如可以导入Rose的MDL文件格式。UML建模工具开发高阶探讨v高阶话题2:强大的插件现在或者将来必须具备的插件v编程语言插件:现在的编程语言很多,但是起码可以支持常用的如Java、C#等。反向工程模型验证正向工程其他:如J2EE的单元测试、部署等。内嵌IDE:如Together(TCC,可以直接编辑、编译、调试)。和其他IDE的集成:如和JBuilde

11、r的代码同步。UML建模工具开发高阶探讨v高阶话题2:强大的插件现在或者将来必须具备的插件v数据库插件:如Rose的DataModeler。当然,还是PowerDesigner的数据建模功能最强。vXML插件:如DTD和Schema的建模支持。vCVSvUML建模工具开发高阶探讨v高阶话题3:未来的UML工具支持UML 2.0MDA可执行的模型MDA距离我们还有多远?是期盼?还是恐惧?我们的实践:Trufun PlatovTrufun Plato就是我们实践的产物。v历时3年,才有了初步为大家认可的Trufun Plato 2005.vTrufun Plato的路还很长。Trufun 的历史v

12、04/1/30:注册国际域名。v04/2/2: 开通网站。v04/3/15:在网站发布Trufun Plato 1.0试用版。v04/4/17:开通网站论坛。v04/6/14:发布Trufun Plato 2.0。v04/7/14:开始建构MDA软件Trufun Kant。v04/11/7:发布Trufun Plato 2.8.5v05/2/27:发布基于全开放式架构的Trufun Plato 2005(V3.0)及Trufun Kant 2005(V0.0.1, MDA for Java)。网站全新改版。v05/3/24:发布升级版Trufun Plato 2005(V3.1)及Trufun

13、 Kant 2005(V0.1)。Trufun的产品楚凡科技目前拥有两大品牌CASE产品: vUML建模产品建模产品:Trufun Plato。Trufun Plato 是专业的UML建模工具,全面支持OMG标准UML V1.4,是全球第一款中文UML建模工具,是微软推出.Net Framework以来全球第一款基于.Net的大型桌面应用程序,是为中国UML用户量身定做的全中文用户界面的优秀产品。vMDA产品产品:Trufun Kant。Trufun Kant 是基于Trufun Plato的MDA工具,即中国第一个基于UML的模型驱动架构开发工具,也是是全球第一款中文MDA开发工具。Truf

14、un Kant覆盖了软件开发的各个环节,使用Trufun Kant,不仅可以通过UML进行需求捕获、系统分析、系统设计,同时可以进行代码生成、编译、调试、运行、打包、部署, 以模型驱动整个软件开发,真正实现了以模型为中心的软件开发新模式,从软件工具层面支持开发者创建“可执行的模型”。Trufun Plato 功能介绍v优秀的UML建模支持v方便高效的集成环境和易用使用的用户界面v功能强大的插件v设计模式支持v基于OpenIDE和OpenAPI的全开放式环境v其他:主题、随机附带的大量建模例程、全中文联机帮助和建模指南UML建模支持框图vPlato支持UML1.4所有框图类型:Class Dia

15、gramUseCase DiagramStateChart DiagramActivity DiagramSequence DiagramCollaboration DiagramComponent DiagramDeployment DiagramUML建模支持:类图UML建模支持:用例图UML建模支持:状态图UML建模支持:活动图UML建模支持:协作图UML建模支持:序列图UML建模支持:部署图强大的元素规格定义对话框UML建模支持UML Profile支持vTag扩展:用户可针对每个模型元素定义自己的Tag及Tag值v构造型(Stereotype)扩展:可针对元素类型定制元素构造型可以指

16、定构造型的显示图标可以指定构造型在框图上的显示样式,可以是外部的wmf或emf文件UML建模支持构造型扩展UML建模支持XMI支持v支持XMI格式的模型文件交互Trufun模型可以导出为XMITrufun可以导入XMI格式的模型文件优秀的建模环境和用户界面v全中文的使用界面 v美观的用户界面,类Visual S 的Dockable界面组件,强大的属性编辑器,灵活的工具箱. v支持Cut, Copy, Paste; v模型元素查找、定位功能。 v视图的缩放、鸟瞰。 v脚本和代码区支持语法高亮显示。 优秀的建模环境和用户界面v高效的拖放支持:可以通过拖放改变命名空间,也可以将模型从模型导航器拖放到

17、框图上。v灵活全面的图形编辑功能:各种对齐方式、各种自动图形分布、图形叠放次序、图形微移。另外也包括深受用户欢迎的类图自动布局功能。v支持打印,图像复制及图像文件导出功能; v支持用户工作空间(Workspace)的保存和打开。 v支持模型文件的自动备份。使得Trufun Plato更加健壮、更加安全v支持主题,预定义众多配色方案的主题,建模更加色彩缤纷!优秀的建模环境和用户界面启动页功能强大的插件Rose模型导入v可以将Rose模型转换为XMI格式v可以读入XMI格式的模型功能强大的插件数据库反向工程v通过ODBC支持所有数据库类型v可以选择要进行反向工程的表和视图。功能强大的插件文档构造v

18、通过“文档构造”功能生成各种文档(如需求分析、系统分析或设计)等。v可以直接生成rtf格式。v提供各种文档模板和报表模板。功能强大的插件文档构造功能强大的插件Web Publishv将模型发布为网页。功能强大的插件实时代码生成v在修改模型的同时,生成选中的编程语言代码。v支持14种常用的编程语言。C#, VB.Net, J#, JScript.Net,C+.Net,C, Ansi C+, Delphi, Perl, Php, Python, Eiffel, Java, Caml等14种语言 。v可以直观的帮助初学者理解模型和语言的映射关系。功能强大的插件实时代码生成设计模式支持v支持24种设计

19、模式。包括所有GoF的设计模式。v每个模式作为工具箱的一个工具,选中工具,在框图选择插入位置,会弹出对话框,此时可对模式进行参数设置,“确定”后即可在类图上生成该模式。v模式支持全部采用脚本生成,用户可方便根据自己需求进行定制或添加自己的设计模式。设计模式支持全开放式的建模和二次开发环境vTrufun核心由OpenIDE和OpenAPI组成。vOpenIDE构成界面和用户环境的基础。所有用户界面和用户环境都通过OpenIDE来配置完成。比如主菜单、快捷菜单、窗口、工具箱、工具栏、属性编辑器、资源、程序集。vOpenAPI构成建模的核心组件。用户可以通过OpenAPI来操作系统对象、模型元素对象

20、、并可以对系统行为进行扩展。vOpenIDE和OpenAPI由插件统一起来。在Trufun看来,一切皆是插件。全开放式的系统OpenIDEv插件定义:插件的常规信息插件的常规信息:包括插件的显示名,开发者,版本等信息,显示在插件管理器列表中。是否是语言插件是否是语言插件:语言插件如Java,非语言插件如Rose模型导入。插件的接口类插件的接口类:Trufun定义了许多系统事件,如果插件希望可以侦听这些事件,则必须实现插件接口。如果不需要理会这些事件,则无需实现插件接口。主菜单主菜单:插件可以自行定义要显示在主菜单的菜单项。菜单项可以显示在已有的菜单下,也可以自行创建新菜单。快捷菜单快捷菜单:菜

21、单可以自行定义自己的快捷菜单。快捷菜单是按照当前选中元素类型区分的,用户可以针对不同的元素类型来定义自己的快捷菜单。比如,在Java插件中,针对类元素可以添加“新建入口操作”的快捷菜单。工具栏:工具栏:插件可以定义的工具栏,也可以在已有工具栏上添加自己的工具。工具箱:工具箱:在Trufun中,工具箱是根据框图类型划分的,当前框图类型不同,则工具箱也不同。工具箱也可以根据用途的不同,区分为不同的工具类型,比如类图工具箱,就有常规类(画一些简单图形)和类图(绘制类、接口等类图元素)。而插件可以选择在需要的框图工具箱添加自己的工具甚至自己的工具类型。全开放式的系统OpenIDEv插件定义:属性编辑器

22、扩展:属性编辑器扩展:插件可以自定义在属性编辑器上显示的属性和属性的编辑。资源:资源:每个插件都可以定义自己的文本资源和图形资源,而且也可以进行国际化。在Trufun中,所有资源都是.resource格式,可以方便的使用一些工具编辑、修改。程序集:程序集:如果你实现了插件接口,则需要将实现程序集(即dll)在此指定,以便系统引入此动态库。UML属性定义属性定义:所谓UML属性,实际上就是Tag标记。你可以在这里定义各种各样的Tag。如果你的插件是语言插件,则模型语言设置为此语言时,所有Tag都会读进来。其实,可以认为是插件自己的某些特定配置。构造型定义:构造型定义:如果是语言插件,你可以定义自

23、己的构造型。比如Java插件,你可以定义一个”Http Servlet”的构造型,以及该构造型在模型导航器中显示的图标,也可以指定在视图中显示的元图像文件(*.wmf或*.emf)。数据类型定义数据类型定义:语言插件在这里定义自己的数据类型。除了数据类型之外,还可以定义自己的类库。 全开放式的系统OpenAPIv用户可以直接在脚本窗口通过OpenAPI来操作系统对象和系统行为。比如:在脚本窗口输入” Application.About();”,然后运行脚本,即可看到打开了“关于”对话框。v最典型的使用OpenAPI开发的例子就是设计模式。所有设计模式都是通过脚本来调用OpenAPI实现。脚本在

24、optiondefaultscripts目录下。vOpenAPI参考包含在Trufun Plato联机帮助中。v另外,OpenIDE的开发指南也已经发布,可以在网站下载。Trufun Kant 功能介绍v需求分析:用例图。继承自需求分析:用例图。继承自Trufun Plato。 v系统分析:业务流程图、类图、协作图、序列图等。系统分析:业务流程图、类图、协作图、序列图等。继承自继承自Trufun Plato。 v系统设计:类图、对象图、组件图、部署图。继承系统设计:类图、对象图、组件图、部署图。继承自自Trufun Plato。 v生成源码生成源码和用户自定义源码和用户自定义源码v编译编译 v

25、单元测试单元测试v运行运行 用Kant进行MDA(for Java)设计v用户可以通过反向工程将已有项目和源码导入到模型中。vKant支持如下类型的Java反向工程:Java源文件Java字节码文件Jar(Zip)v反向工程可保留方法体用Kant进行MDA(for Java)设计vKant &Plato针对Java实现了Java专用的规格定义对话框。下面是Java类的规格对话框:用Kant进行MDA(for Java)设计v下面是Java类属性的规格对话框用Kant进行MDA(for Java)设计v下面是Java类方法的规格对话框用Kant进行MDA(for Java)设计v下面是Java接

26、口的规格对话框用Kant进行MDA(for Java)生成源码v使用MDA生成源码和用实时代码插件生成源码有太多的不同:前者完全针对语言定制,考虑到语言的所有特性。而后者只是简单的映射。前者生成的源码包括“用户代码保护区”,在此区域内的代码受到保护,但模型改变时再次生成代码时,保护区内代码不变。而后者不支持。前者生成的源码可以在Kant内直接进行编译、测试和运行。后者不可以。前者可以生成项目文件,如JBuilder项目文件,用JBuilder可以直接打开。从而和JBuilder紧密集成。用Kant进行MDA(for Java)生成源码v在Kant中提供语法高亮显示的编辑器来打开和编辑源码,并提

27、供资源管理器来管理源码文件。用Kant进行MDA(for Java)生成源码v在Trufun Kant中,是以构造型为识别特征来进行源码生成。比如,一个普通类元素是不会被生成源码,但是,如果指定其构造型为JavaClass,就可以对它生成Java类;而如果将其构造型指定为TestSuite,就会对它生成一个测试类。 用Kant进行MDA(for Java)生成源码类型构造型说明产生文件ClassJavaClass普通Java类*.javaValueObject值对象*.javaEnumeration用Java类实现枚举类型*.javaTestSuite单元测试类*.javaApplet小应用程

28、序*.javaJAppletJFC小应用程序*.javaGeneric Servlet常规小服务程序*.javaHttp ServletHttp小服务程序*.javaInterfaceJavaInterface普通Java接口*.javaModel模型*.jpx, *.library: Jbuilder项目文件 *.bat,project.xml,*.properties: Ant项目文件用Kant进行MDA(for Java)编译vKant集成了JDK1.4,可以直接对生成的源码进行编译。v编译结果显示在输出窗口。编译错误信息用红色字体显示。v用户也可以配置自己的项目属性,配置自己编译所使用

29、的JDK和类库。用Kant进行MDA(for Java)单元测试vKant集成了优秀的Java单元测试工具JUnit,并提供工具箱“TestSuite”对其进行建模支持。v在Kant中,可以通过建模直接生成单元测试框架代码。vKant还提供“测试”的运行类型,提供直接在Kant中进行单元测试的运行。vKant支持单元测试和集成测试。v详情请查看Kant开发手册。用Kant进行MDA(for Java)运行v目前Kant可支持以下类型的Java应用运行:独立应用(Application)小应用程序(Applet)单元测试(Test)v未来版本将支持J2EE应用的部署、运行等。提问关注楚凡科技!关注楚凡科技!关注中国国产软件的未来!关注中国国产软件的未来!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号