国产UMLMDA工具开发实践.ppt
《国产UMLMDA工具开发实践.ppt》由会员分享,可在线阅读,更多相关《国产UMLMDA工具开发实践.ppt(89页珍藏版)》请在三一办公上搜索。
1、国产UML&MDA工具开发实践,Trufun software,欢迎访问,议题,技术实践UML建模工具开发实践MDA工具开发实践管理和运营实践Trufun的实践之路提问,UML建模工具开发实践,不打无准备的仗系统架构UML建模工具开发三步曲UML建模工具开发高阶探讨未来的UML建模工具,不打无准备的仗,心理准备竞争对手是谁?IBM、Borland投入不一定产出资金准备周期长没有终点投入巨大,不打无准备的仗(续),技术准备前沿领域:UML,MDA,XMI,CWM,MOF大型工具软件开发的软件工程技术项目组织软件过程质量控制成本控制其他相关技术:语言的正反向工程,不打无准备的仗(续),人才准备项目
2、组织系统架构系统设计系统开发测试管理和营销,系统架构,Plato PlugIns,Kant MDA Engineer,Java MDA,C#MDA,Document Builder,Web Publisher,Plato Platform,Workbench,Window Manager,View Manager,Graph Framework,UML Foundation,Plato Core Compnent,建模工具开发三步曲,构建完备的图形系统(Graph Framework)构建UML对象类库(UML Foundation)基于二者,构建UML IDE,第一步:构建图形系统,什么是图
3、形系统?即矢量绘图系统。这是UML建模的基础的基础。成功范例:Visio.这是目前公认做的最好的图形系统。参考开源代码:JGraph(Java)。JGraph是一个强力的,轻量级的,具有丰富特色的,而且彻底开放源码的图形构件。建议:如果要使用开源代码,建议使用BSD协议、LGPL协议或Apache相关协议代码。,第一步:构建图形系统(续),要实现的功能:图形绘制:基本图形:Text,Rect,Circle,Line可连接的图形:Node,Edge.外部图像:如bmp,wmf,emf.图形交互Undo/RedoCut,Copy,PasteMove,Resize,RotateText,Font,B
4、gColor,ForeColorFormat:Nudge,Ordering,Align,DistributeGroup,UnGroup,第一步:构建图形系统(续),要实现的功能:视图:Zoom out,Zoom In.OverView.图形输入输出复制图像到Clipboard保存到文件:最好是XML文件,或SVG。读取文件打印其他UI支持:ToolBoxProperty Editor,第二步:构建UML对象类库,本质:MOF在编程语言上的映射。JMI:MOF在JAVA语言上的映射。建议使用JMI接口。并使用已经有的JMI实现(如NetBeans的实现)。例如poseidon就将原来ArgoUM
5、L采用的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对象可以有多个视图表示。,第三步:构建U
6、ML IDE(续),针对UML定制图形环境实现所有框图类型:Class Diagram,UseCase Diagram,StateChart Diagram实现所有可见的UML对象视图:类、接口、依赖、关联、用例、角色、状态、对象定制工具箱和工具生成规则:如类和类之间不可以用实现关系连接、状态图不可以绘制类,第三步:构建UML IDE(续),创建UI作个漂亮的Splash创建主菜单:最好是可以merge的菜单。创建快捷菜单(Context Menu):不同的元素显示不同的快捷菜单。创建工具栏创建工具箱创建属性编辑器创建其他窗口:如Output Window,Model Browser,UML建
7、模工具开发高阶探讨,高阶话题1:开放性。必须有高度的开放性的原因:EclipseFirefox,UML建模工具开发高阶探讨(续),高阶话题1:开放性。开放什么?你的UI是否可以由用户随心所欲定制?UI包括主菜单、工具栏、工具箱、窗口、快捷菜单.是否支持脚本:如果对你的应用进行扩展,都要进行编译,会吓退很多人。为什么BASIC语言那么受初学者欢迎,就是因为它不用编译。是否公开API:是否你系统的所有必须公开的对象都已经公开?如用户通过脚本来修改一个类的名字,或者用户可以通过脚本来打开一个外部文件。,UML建模工具开发高阶探讨(续),高阶话题1:开放性。如何开放?将所有UI的定义都放在外部文件中,
8、文件最好是易读的XML格式。整理你的系统类库,公开所有必须公开的类、类的属性、方法以及详细的说明。支持适合的脚本:如JavaScript,VBScript等。定义插件结构。,UML建模工具开发高阶探讨(续),高阶话题2:强大的插件现在或者将来必须具备的插件Web Publish:并非所有的相关人员都安装建模工具,当你向其他人来介绍你的设计时,最好的办法将模型转换为网页。这样,每个人都可以看到你的成果。Document Builder:如果在建模的同时,就能同时构造好相关文档(如需求分析、系统设计)该多好!其他建模工具模型文件导入导出:如可以导入Rose的MDL文件格式。,UML建模工具开发高阶
9、探讨(续),高阶话题2:强大的插件现在或者将来必须具备的插件编程语言插件:现在的编程语言很多,但是起码可以支持常用的如Java、C#等。反向工程模型验证正向工程其他:如J2EE的单元测试、部署等。内嵌IDE:如Together(TCC,可以直接编辑、编译、调试)。和其他IDE的集成:如和JBuilder的代码同步。,UML建模工具开发高阶探讨(续),高阶话题2:强大的插件现在或者将来必须具备的插件数据库插件:如Rose的DataModeler。当然,还是PowerDesigner的数据建模功能最强。XML插件:如DTD和Schema的建模支持。CVS,UML建模工具开发高阶探讨(续),高阶话题
10、3:谁集成谁?UML工具集成编程工具编程工具集成UML工具,未来的UML建模工具,手绘建模?,Ideogramic UML允许你用手建模,未来的UML建模工具(续),集成、集成集成到编程IDE全程建模(和生命周期其他工具集成)和过程集成和行业集成可执行的模型?模型虚拟机?MDA!,未来的UML建模工具(续),简单的过程 交互设计智能化模型的重构工具之间的模型交换团队建模向组件迁移注:本节来自作者和UMLChina的think合写的”UML工具发展趋势”一文,MDA工具开发实践,基于那个UML IDE?系统架构:通用的语言生成框架不仅仅生成代码验证、编译、调试、测试、部署、运行谁来开发所有语言的
11、MDA?开放走向未来真正的MDA,基于那个UML IDE?,IDE选择要点是否支持UML 扩展(UML Profile)?是否足够开放?UI扩展性完整的支撑API产品是否成熟?,基于那个UML IDE?(续),举例:Arcstyler基于Rose.Arcstyler基于MagicDrawAndroMDA基于MagicDrawKant基于Plato,系统架构:通用的语言生成框架,Runtime Model2,XMI,UML Model Facade,Runtime Model1,MDA Cartridges,Java Cartridge,C#Cartridge,Templates(Source,
12、Build,Unit Test,Run),Source Code,Build File,Unit Test File,Run File,不仅仅生成代码,模型验证编译调试测试部署运行,谁来开发所有语言的MDA?,编程语言非常多每个人都可以开发自己喜欢的编程语言的MDA Cartridge脚本 VS 编译,走向未来真正的MDA,动作语义UML 2.0是否已经足够?模型虚拟机?商业建模软件开发的全部?,管理和运营实践,潜在用户:谁在或可能使用UML建模工具和MDA工具?目标用户:谁有可能购买UML建模工具和MDA工具?和竞争对手相比,你的优势和不足生存的问题是最大的问题。酒香还怕巷子深距离成功只差一
13、步,潜在用户确定,随之UML建模工具自身功能的发展,UML在软件开发中的作用的变化:UML建模和代码没有关联UML模型可以生成代码框架UML建模工具可以和编程工具交互并迭代开发UML建模工具和编程工具集成UML模型虚拟机可有可无必不可少最重要的,潜在用户确定(续),无论采用哪一个软件过程理论,其中的哪个过程不需要UML?以RUP为例需求:领域模型、业务模型、用例模型分析:分析模型设计:设计模型实现:实现模型测试:测试模型,潜在用户确定(续),结论:软件开发行业中技术人员几乎每个人都是UML建模工具的潜在用户和现在编程工具人手一套一样,不久的将来,UML建模工具也必将人手一套。而MDA工具根据P
14、SM关联的编程语言的不同,以及工具自身功能的程度,会为不同阶层、不同需求的开发人员所选用。在未来,如果模型虚拟机足够的成熟,MDA工具将取代UML建模工具和编程工具成为必备工具。,目标用户确定,根据市场细分原则,进行自身产品定位和市场定位,有针对性的调整产品研发策略和市场开发策略。市场细分:高端用户:高投入高产出。目前不考虑。IBM,Borland中小软件企业:高度竞争市场。积极参与。利润所在。个人:低价产品线。大学和培训机构:免费赠与和合作。,和竞争对手相比,你的优势和不足,优势本土化快速反应能力产品短小精悍,和竞争对手相比,你的优势和不足(续),不足硬件:资金、人才、管理品牌知名度前沿技术
15、的研发投入产品 VS 解决方案(全生命周期管理),生存的问题是最大的问题,产品是否足够成熟?产品是否能够带来销售收入?销售收入能否带来财务平衡?销售收入能否带来盈利?短线?长线?,酒香还怕巷子深,知道你的产品而没有购买,是产品研发不够;不知道你的产品而没有购买,是产品营销不够。高投入营销 VS 低成本营销基本的营销策略口碑网络共享软件免费,距离成功只差一步,产品足够好,但是由于成本的原因无法快速和有效的推广。应对策略融资改进营销策略现在是一步,但时间的流逝会让它变成十步、百步、千步、万步,Trufun的实践之路,Trufun的历史Trufun的产品Trufun Plato UML建模工具Tru
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国产 UMLMDA 工具 开发 实践

链接地址:https://www.31ppt.com/p-5948059.html