- 浏览: 201931 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
harim:
思路十分不错,最近两家公司面试都问到了这个问题,我没有答出来, ...
缓存策略之LRU实现(基于双链表实现) -
javatozhang:
楼主真是良苦用心,很可惜我现在才对Tomcat感兴趣并有时间来 ...
tomcat init中加载哪些类? -
javatozhang:
diecui1202 写道可以看看goldendoc.org小 ...
tomcat init思维图 -
cherishLC:
非常感谢~表示自己没用过jquery,如果 jquery地址改 ...
最简单的jQuery折叠菜单 -
zhypengjw2012:
非常感谢!我今天就用到了!
jQuery插件--滑动条
由于对开源的热爱,经常需要看开源的东东,但是像Struts那样的开源框架来说,从代码入手的话,却像一头扎进了大海, 出不来。 经常想能获取到官方的文档资料, 比如说类关系图等, 这样的话,可以对整个系统的架构很清楚,从架构再往代码方面转移。 这样的话,对于整个开源产品的理解无疑更加深入。
最近一段时间,由于工作需要,接触到powerDesigner和Rose比较多。 这两个产品可以正向产生出资料,如PD的PDM图,然后根据物理模型(PDM),生成相关SQL 脚本。 Rose的UML图,而后的java文件。这些资料的生成都很方便。 更重要的是,这两个工具都支持逆向工程。 既支持脚本或者源代码来反向生成PDM图或UML图。 而今天的主角却不是这些“重量级”的东西。
使用过以上产品的朋友都知道,这两个产品有个致命的缺点。就是跑起来非常的耗内存,而且破解麻烦,。
而今天我介绍的东西,源代码和第三方库,整个加起来, 大小不超过500K。 而且能够根据class或者jar文件,动态产生出UML图。
那么,今天的主角隆重登场, 它就是-----------UDoc.
为了证明我没有说谎,我把截图发上来, 看看这个软件的大小:
解压后, 其目录非常简单,包含
其中,src包含着源代码, lib包含第三方包。 UDoc.jar是直接可以运行的程序,(当然,前提是你必须有jre).
OK,言归正传,我今天主要介绍其是如何使用的。 看其强大之处到底体现在哪里:
双击 "UDoc.jar" 出现如图,这是其主界面,一个词--- 简便 有点GOOGLE的风格 :
其中,菜单栏出有4个小的向下三角形:
将鼠标移到第2个,可以出现如下界面,(这也是今天重点介绍的)
这代表通过class来生成UML, 出现上图后,单击一下,即可出现下面的效果:
其中的classpath 是需要你选择你需要生成UML图的地址,比如c:/mysql.jar
下面的classes 是jar包中,哪些类需要生成UML。 举例说明,如图
最后的图形,如下:
真正强大之处在于图的四个方向的小箭头, 上代表父类,下代表其子类或者实现类.
左,右代表与此类有关系的其他对象。
我们来看看,其父类(点击上箭头):
再向上追溯下, 查看com.mysql.jdbc.Driver的父类:
OK.一个结构图就此出现,对于你查看整个系统的结构来说,这样的图相信会给你很大的帮助。 OK。 这个好东西就介绍到这里, 发现好东西,不敢独享, 所以贡献出来,希望有兴趣的朋友,可以去尝试一下。 当然,好东西还有其他很多的功能,这里就不能一一介绍了。 有兴趣的还是自己去琢磨吧。
最后发个源代码结构图, 这么强大的东西,其代码可以说是非常简单,有兴趣有时间的,可以好好研究研究。
这里把项目传上来, 免去感兴趣的朋友去搜索之苦。 附件如下:
- UDoc-1-005.zip (479.9 KB)
- 下载次数: 614
评论
我也经常头疼不能整体的去观察一个开源项目
看代码的话 web项目还好 java项目就不知道从何入手了
找过这种反向的工具 效果都不好
有了这个以后对设计的理解就能又有所提高了
MyEclipse中的UML视图也不错
多谢楼主!!
发现在CMD下可以运行。
为了方便,写了一个start.bat文件放在UDoc.jar相同路径下。双击start.bat即可启动UDoc.
在哪儿呢,,能否具体点给个地。thanks
这位兄弟,你把源代码下过来, 去docs目录下找找,应该可以找得到的……
这个…… 我只能告诉你,如果没法生成,它会把简单的类单个列出来,但是点不出关系, 只能看见几个X的图标
我也经常头疼不能整体的去观察一个开源项目
看代码的话 web项目还好 java项目就不知道从何入手了
找过这种反向的工具 效果都不好
有了这个以后对设计的理解就能又有所提高了
在哪儿呢,,能否具体点给个地。thanks
发表评论
-
博客停止更新
2012-04-24 11:37 1129该博客停止更新,请移步:ivanzhangwb.com -
JProfile初步使用图解
2011-11-02 13:28 5863最近参与平台的短信平台项目,在项目的后期,参与了一些性能 ... -
J2EE简单性的红利
2011-01-02 00:26 1374复杂性的代价: 系统架构上的复杂性,如果并非出于必要 ... -
读《Unix编程艺术》 第四章:模块化、保持清晰、保持简洁
2010-12-26 18:17 1579第四章: 模块化、保持 ... -
阿里巴巴电面整理(二)
2010-07-02 04:03 3896还是接着昨天的帖子来吧, 题目都在上一篇《阿里巴巴电面整理 ... -
阿里巴巴电面整理
2010-07-01 01:47 4760今天中午接到阿里巴巴的电话面试,电面了将近一 ... -
我的Google 在线文档地址
2010-06-26 02:18 1180本人整理的一些文档, 关于技术,工作,生活的。 会陆续发 ... -
读 IBM中国 《Java 理论和实践: 了解泛型》
2010-06-26 02:09 1276了解Java泛型 参考于IBM Develop ... -
世界杯期间离职……
2010-06-17 01:13 1341来深圳时间不长,但是很错误的进入一个外包公司待到现在, ... -
MD5验证文件
2010-01-22 01:31 1070参考多篇网上的资料。 记录一下 java用MD5验证文件的 ... -
超棒的验证码生成组件---Jcaptcha
2010-01-10 23:46 8426最近由于Springside3的发布,也来凑热闹学习学习 ... -
web服务器工作方式
2010-01-09 14:16 1753记录一下 web服务器 ... -
非常不错的Struts2教程
2010-01-02 21:25 1161非常不错的Struts2教程,原创是downpour ... -
VC++之 Windows进程篇
2009-12-23 01:01 2238保护模式: 基于 X86 微处理器 ... -
eclipse 配置C/C++开发环境
2009-12-22 00:21 7391关于正常配置,请参考:http://jimychen ... -
RBAC权限涉猎之关系处理
2009-12-19 01:45 1526最近需要关注到RBAC这部分的理论知识。 ... -
重装XP以后修复Ubuntu引导
2009-12-03 23:37 2311在重装XP系统之后,引导区被windows强制的重写了一遍,导 ... -
Ant创建项目模版Demo
2009-11-14 21:01 3206由于项目中有用到公司自己封装的SDK,那么如果有新的开发 ... -
Ant+Freemarker+xml 生成Html
2009-11-12 22:12 2901最近客户项目中有用到freemarker生成原始的项目模版 ... -
HSQLDB的简单使用
2009-10-22 14:31 1553本文只简单讲述hsqldb的使用方法, 具体Hsql是什 ...
相关推荐
由于对开源的热爱,经常需要看开源的东东,但是像Struts那样的开源框架来说,从代码入手的话,却像一头扎进了大海, 出不来。 经常想能获取到官方的文档资料, 比如说类关系图等,这样的话,可以对整个系统的架构很...
UDoc java代码分析uml 分析出来的结果类似于struts2中的uml图
UDOC.js 是 [Photopea](https://www.Photopea.com) 项目的文档解析和转换组件。 FromEMF.js 是 UDOC.js 中的 EMF 文件解析器。 此代码是把 FromEMF.js 用 TypeScript 改写的版本,并且修正了原版代码在解析 ...
6-10
基于机器学习的入侵检测系统+源码+说明.zip
matlab基于潜在低秩表示的红外与可见光图像融合.zip
4-5
基于tensorflow使用简单线性回归实现波士顿房价预测源码.zip
文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
GDAL-3.2.2-cp38-cp38-win_amd64.whl
3-11-1
文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
课程大作业二手车价格预测案例数据挖掘python源码+数据集+实验报告+详细注释.zip
文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
麦肯锡—xx科技业务流程改造报告.ppt
麦肯锡—xx阶段一报告.ppt
基于MPC模型预测控制从原理到代码的matlab实现源码+文档说明.zip