您的位置:首页 > 其它

UML反向工程方法

2016-07-24 15:17 274 查看
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、维护了一个几百万行的代码后,人家问你,他的整理架构和核心流程是怎么样的,然后你支支吾吾了半天,吐出一句:不太记得了。。。。回去还得继续看代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: