概述
1、首先先下载EA工具(IBM的rose也是不错的,只不过我习惯了EA,只不过不要使用visio,因为它不能反向工程),然后使用方向工程方法,导入要反向工程中所有的类
记得选择为每个目录单独创建包,也可以反向C语言工程的,记得C语言工程要选择原类型为C,这样反向出来才不会一直报错。
2、接着我们开始打开VS,如果原工程有sln文件,直接打开即可,如果没有,则
整个工程导入即可,接着就可以针对着EA反向工程的目录一个个反向源代码
3、面对
EA自动化出来的很粗糙的源码模型,我们该怎么处理呢。 我总结了几个原则
原则1:类图构建。 找出原型中个头比较大的类,正常情况下他们就是这个package中的核心类,一般八九不离十,然后正常的工程一般都是这种结构模式的
可以很明显看出个头比较大的类在类图中的作用了,一个package正常情况下核心类就是一个到三个类左右,然后每个package之间的通信也就是这些核心类的通信而已,其他类都是为这些类辅助的,不看也罢。 是不是就化繁为简啦,本来要看几十个的,其实只要看最多2-3个就够了,提纲挈领
2、设计模式构建。
我们老说一个软件的架构架构,其实目前我了解的源码来看,基本核心的架构就是那么几种,一个是设计模式,一个是MVC,如是而已。 MVC可以说是贯穿整个设计的至始至终,非常简单,可以说都不需要画出来,简单说就是你在归类的同时自然就会整理成mvc的模式,用烂了。 但是设计模式一般人在阅读代码的时候就没有那么容易分清了。但是实际中在小到一个demo还是达到操作系统,设计模式也就是那么几种在使用。
单例模式
代理模式
状态机
监听者观察者
最多就是加上面向组件编程和面向接口编程。没有了,而这里面用的最多最烂的,也是容易变得最复杂最不好理解的就是监听者和观察者、状态机。 可以简而言之,一个架构你画出他的状态机模式和监听者观察者模式,基本你就把他的框架看完了,就这么简单。理清代码的结构无非就是如此
实际上就是一个类图,一个设计模式图就差不多,最多再加上一个状态机图和bpmn流程图,搞定。整个架构你就可以提纲挈领了。其实这里解决的是以下几个我们非常头疼的问题
1、代码有几百万行,程序是不可运行,程序即使可以运行,也不知道哪里是东哪里是西。
2、维护了一个几百万行的代码后,人家问你,他的整理架构和核心流程是怎么样的,然后你支支吾吾了半天,吐出一句:不太记得了。。。。回去还得继续看代码
最后
以上就是沉默过客为你收集整理的UML反向工程方法的全部内容,希望文章能够帮你解决UML反向工程方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复