开发过程中,如果重构以前成型的系统,必然涉及到已有代码到架构图的转换;如果是首次开发,必然涉及到架构图到代码的转换,我们分别称之为逆向工程和正向工程,不只包括代码,还包括到数据库到架构图的转换,本文主要涉及到这三部分。
一、正向工程
架构图→代码
这是很常见的转换,如果图架构的好,建立完善的类和函数,再将系统各层之间的引用关系表明,可以生成整个系统的代码框架。这对合作开发非常重要,有了这个架构每个组员即可各司其职动手写代码了。如下,将类图生成代码:
在此类图所在包上,右键---代码工程---生成源代码:
进入代码工程设置页面,选择需要导出的类和位置:
导出来的类图如下:
如果架构图中把类注释,函数参数、返回值、注释写完整(EA自动生成的代码暂没发现返回值注释),导出来的代码如下:
架构图→文档
同样,架构图也也可生成文档,可节省很可观的文档时间,与导出代码的方法类似,同样是将上述包生成类图文档,右键---文档---RTF文档:
进入生成文档的设置界面,选择合适的模板和位置,生成文档即可:
生成代码文档一览:
二、逆向工程
逆向工程指的是针对已有的,推出其实现的设计和细节,本文要说的是针对已有的代码和数据库,生成其架构图的过程。
EA中的逆向工程
代码→架构图
从代码转换到架构图,主要是为了复用已经存在的架构,转为类图到EA中,在此基础上拓展,从而复用这些类图,将一下类转换成类图:
在EA中的操作如下:项目—代码工程—选择要导入的代码文件种类
导入完成:
效果图:生成的类图,不止包含方法属性,也包含注释的所有信息,以及类之间的关系
当然EA还可以将数据库表转换成实体类,将数据库转换成数据模型图,之前也有代码已经完成需要补充各种图的时候,很多时候就是自己手动完成,其实这样会浪费很长的时间,其实这就是站在巨人的肩膀上,可以大大地提高我们学习工作的效率。