基于Eclipse平台的软件建模工具综述(机械论文资料).docVIP

  • 24
  • 0
  • 约9.5千字
  • 约 15页
  • 2022-07-14 发布于广东
  • 举报

基于Eclipse平台的软件建模工具综述(机械论文资料).doc

基于Eclipse平台的软件建模工具综述(机械论文资料) 目录 TOC \o 1-9 \h \z \u 目录 1 正文 1 文1:基于Eclipse平台的软件建模工具综述 1 1.前言 1 4.模型转换工具 5 5.代码生成工具 8 6.总结 9 文2:基于J2EE平台和构件的软件开发过程 9 三、基于构件和J2EE平台下的软件开发过程 10 (三)构件的获得和目标系统的产生 12 参考文摘引言: 13 原创性声明(模板) 14 文章致谢(模板) 14 正文 基于Eclipse平台的软件建模工具综述(机械论文资料) 文1:基于Eclipse平台的软件建模工具综述 1.前言 在理工科领域里,模型一词非常流行。但凡是产生什么产品,或者预测什么结果都要先建立模型,再由模型制作出产品或计算出结果。之所以需要模型,是因为修改模型或者在模型上实验的成本低,另一方面模型可以被机器理解,生产或者计算过程机器可以自动完成。 为软件建模的情况又如何呢?受其他工业经验的启发,建模也被引入到软件工程中,尽管尚有不足,但也由来已久。早在上世纪七八十年代,建模语言就已经形形色色,在1997年由OMG公布了统一建模语言(UML),这是软件建模历史上一个里程碑。至后来,UML逐渐被接受,成为市场上占有率最高的建模语言。2001年,OMG提出MDA,希望软件模型不仅仅是能被工程师广泛理解的程序表示图,更能够被计算机理解,自动生成符合预期的代码。至此,软件建模又开启了一个新纪元,OMG相继发布若干标准,并被诸多公司接受。很多大的公司开发了商用建模工具,如我们熟知的Rational Rose。在开源免费的阵营中,基于Eclipse平台的建模平台成为备受关注的焦点。 建模工具 统一建模语言(UML)如今已经发展到版本,各种UML建模工具层出不穷,最有名的要数Rational Rose,不过目前IBM推出了Rational Software Architect来代替Rose。另外一款相当强大的UML建模工具是MagicDraw。 在Eclipse平台上,Papyrus是较著名的图形化UML建模工具,除了支持UML2外,还支持MARTE和SysML建模语言。 Papyrus不能支持全部的UML图,但也足够使用。这包括类图、包图、profile图三种结构视图,以及状态机图、活动图、用例图、顺序图和通信图五种行为视图。 Papyrus直接使用XMI(XML-based Metadata Interchange)格式记录模型。 XMI是OMG颁布一个规范,目的是帮助使用UML以及不同语言和开发工具的程序员彼此交换数据模型。XMI标准化了任意元数据集的描述。 用文本阅读器打开uml文件,可以看到模型被记录的格式: 图1 UML模型的XMI格式 Eclipse下使用XMI表示模型,各种工具间也是通过XMI文件来实现模型交换的。譬如用UML Model Editor工具打开这个XMI,就可以看到一个树形结构展示的UML模型。事实上UML Model Editor也可以用来编辑UML模型,但它不是图形化的,用起来不直观。 使用Cotraints限定模型 Papyrus允许定义约束(cotraint)来限定模型,可以用OCL(Object Cotraint Language)、JAVA或者自然语言来描述约束(如图2所示) 图2 使用cotraints的UML模型 对于OCL写的cotraint,papyrus可以生成模型验证插件,用来执行模型。对于不能用OCL表达的cotraint,可以使用JAVA来描述。 OCL的另一个用途是用于模型查询,这在模型转化的时候非常有用。 使用profile扩展UML UML是统一的,但不是万能。所以UML并不能建模所有的软件和系统。譬如UML无法用专门的元素表示J2EE Herbinate中的Bean。但是UML提供一种扩展机制,允许用户丰富UML语言,这被称为profile。 Profile包括三类元素:stereotypes、tagged-value、cotraints。 stereotypes允许用来扩充UML中的概念,比如定义一个,也可以用来修饰关系。 tagged-value允许为stereotype定义属性,譬如定义bean的版本。 cotraint用来定义UML图中表现不了的约束信息。譬如定义bean的名称必须以Bean结尾。 papyrus提供了profile类型的工程,用来建立profile。但从papyrus提供的文档来看,它的profile中并没有提供tagged-value。但是它允许在stereotype上定义property,可以认为是tagged-

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档