从UML类图到Java代码自动生成技术研究概要.pdf

从UML类图到Java代码自动生成技术研究概要.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从UML 类图到Java 代码自动生成技术研究 1 2 1 张中宝 ,韩同欣 ,刘西洋 1 西安电子科技大学软件工程研究所,陕西西安(710071) 2 北京航天航空大学计算机学院, 北京(100083 ) E-mail:zhongbaoz@ 摘 要:本文描述了基于UML CASE 平台的代码生成器的设计与实现。从可执行UML 到高 级语言的代码生成技术已经在实践中得到实现,本文描述的代码生成器采用了一种全新的面 向对象的脚本语言Ruby 和基于Ruby 的XML 接口REXML ,处理生成自UML 类图的XMI 文档。通过从XMI DOM 树中提取建模系统模型元素的相关信息,之后构造合适的容器类存 储提取的数据,并访问这些数据进行ERb 模板匹配,最后生成了可执行的Java 代码框架。 整个开发过程遵循模型驱动的软件开发方法,以更灵活的脚本语言和模板机制实现了模型驱 动架构MDA 从平台无关模型到平台相关模型的转化。 关键词:模型,代码生成,MDA (模型驱动架构) 中图分类号:TP312 1. 引言 模型是应用程序或系统的某些部分的简单抽象表示。用户可以以任意的复杂程度构建模 型:从在白板上手绘的方框图,到使用建模工具生成的复杂的UML 图。然而,实际开发却 经常脱离模型,模型只作为一个系统的蓝图,开发者仍然要手工编写所有的实现代码。随着 应用程序的进展和规模的扩大,开发者经常发现坚持使用模型所带来的约束要远远大于其用 途,维护模型变成繁琐的工作而不会产生帮助。设计阶段产生的UML 模型和代码之间的同 步变得越来越困难——代码为了应付新增加需求和新产生的想法而不断变化,模型却一直停 留在原地不动,这使得模型在一段时间以后失去了它的价值。模型驱动开发是一种能够将模 型与实现更紧密地联系在一起的开发方法。使用MDD ,模型不仅能用来封装应用程序的设 计,还可以用来生成实现代码。它是模型驱动架构[1](Model Driven Architecture, MDA)的一 部分,MDA 表示了一种模型驱动开发方法的概念框架。 代码生成是一个专注于解放编码生产力,用程序来编程的研究方向。它是MDA 思想的 一个重要的技术基础。MDA 的基本思想是在软件开发中以模型为驱动,由模型来生成或编 译成程序代码,实现软件需求。只有在代码生成技术获得充分发展的基础上,模型驱动架构 的思想才能得以实现。 在软件项目中运用代码生成技术可带来以下几大好处: 1) 高效率。代码生成的工作主要是建立和维护输入模型,而这些输入模型基本上或全 部都能从设计模型转化过来,工作量很少,因而软件生成率得到成倍提高。 2) 高质量。代码生成技术使用代码模板来生成代码,模板越完善,生成的代码就越好。 模板改善后,所有生成的代码质量都能提高,并且代码的命名和风格都能保持一致。因而采 用代码生成技术能获得更高质量的代码。 3) 更易维护。当需求改变时,大多数的代码生成器都能在输入模型的基础上,重新生 成满足新需求的代码,这能有效地降低软件需求变更带来的风险。 4) 促进团队的分工和发展。由于编码工作量少,程序员的工作得到解放,项目团队有 更多时间来进行设计和架构优化,以及设计更好的代码生成工具。 目前,代码生成技术的发展还处于初期阶段,代码生成工具主要是用数据库模型来生成 基于数据库的程序代码。代码生成技术较多的应用在集成开发环境和专业的代码生成工具 - 1 - [2][3] 中。已公开的相关的研究成果比较少 ,商用工具有Rhapsody 、Rose RT 等等,它们实现 了简单类图和状态图的代码生成。 本项目的研究涉及到模型驱动的构架思想,模型驱动的开发方法以及代码生成技术。项 目将要完成的任务是在模型驱动构架的思想下,采用模型驱动的

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档