AndroMDA是一个遵循MDA规范的开源代码生成框架:从CASE工具获得模型生成所有可部署的应用程序和其它组件。
1
、什么是AndroMDA
?
l
AndroMDA是开源MDA框架
l
它接受各种模型(通常是由CASE工具生成的保存在XMI中的UML模型),结合各种AndroMDA插件(cartridge and translation-libraries),生成各种自定义组件
l
可以使用各种语言,如Java、.Net、HTML、PHP或通过编写(或已存在的)插件支持的语言
2
、MDA
和代码生成
l
使用MDA可以尽量简化开发者和架构师的工作,使他们更简单的数字化他们的想法(Mental Model或MM):使他们创建平台无关的模型(PIM),这种模型是MM在一种相当正式的语言(如UML)中的一种one-or-one映射
l
使用MDA的好处:
Ø
十分直接的转换过程
Ø
开发者和架构师将焦点集中的业务逻辑,而不是底层技术
Ø
PIM可以重用,而不是绑定到任何存在的平台
Ø
PIM是和其它想法沟通的有用媒介
l
下一步是转换PIM成程序代码:MDA的方法是逐步精炼模型成特定平台的模型(PSM),解析该模型成实际上要手工编写的代码
l
对于AndroMDA,存在不同的cartridge,会分析给定的PIM,通过用来生成代码的模板来创建PSM
l
AndroMDA的转换过程由称为cartridge的插件来控制
l
AndroMDA有助于消除那些厌烦的和重复的任务
3
、为什么要使用AndroMDA
?
l
消除编写多余代码
l
项目模型反映代码
l
项目使用标准的平台无关的方法文档和图表化,使其更加简单和快速的适应快速变化的技术
l
你的模型允许更简单的与业务方面进行沟通
4
、AndroMDA
能做什么?
l
目前AndroMDA主要用于J2EE技术的开发,能够创建使用UML生成代码的J2EE项目
l
可以选择使用Hibernate、EJB、Spring、WebServices或Struts来生成代码,代码的生成自动集成到build过程中
5
、AndroMDA
如何工作
l
AndroMDA读取模型到内存中,使这些对象模型对它的插件有效
l
这些插件准确定义什么是或不是AndroMDA要生成的
l
每个插件可以根据项目的特殊需要进行定制