- 浏览: 201821 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 1127该博客停止更新,请移步:ivanzhangwb.com -
JProfile初步使用图解
2011-11-02 13:28 5862最近参与平台的短信平台项目,在项目的后期,参与了一些性能 ... -
J2EE简单性的红利
2011-01-02 00:26 1370复杂性的代价: 系统架构上的复杂性,如果并非出于必要 ... -
读《Unix编程艺术》 第四章:模块化、保持清晰、保持简洁
2010-12-26 18:17 1576第四章: 模块化、保持 ... -
阿里巴巴电面整理(二)
2010-07-02 04:03 3894还是接着昨天的帖子来吧, 题目都在上一篇《阿里巴巴电面整理 ... -
阿里巴巴电面整理
2010-07-01 01:47 4752今天中午接到阿里巴巴的电话面试,电面了将近一 ... -
我的Google 在线文档地址
2010-06-26 02:18 1179本人整理的一些文档, 关于技术,工作,生活的。 会陆续发 ... -
读 IBM中国 《Java 理论和实践: 了解泛型》
2010-06-26 02:09 1272了解Java泛型 参考于IBM Develop ... -
世界杯期间离职……
2010-06-17 01:13 1339来深圳时间不长,但是很错误的进入一个外包公司待到现在, ... -
MD5验证文件
2010-01-22 01:31 1069参考多篇网上的资料。 记录一下 java用MD5验证文件的 ... -
超棒的验证码生成组件---Jcaptcha
2010-01-10 23:46 8425最近由于Springside3的发布,也来凑热闹学习学习 ... -
web服务器工作方式
2010-01-09 14:16 1751记录一下 web服务器 ... -
非常不错的Struts2教程
2010-01-02 21:25 1160非常不错的Struts2教程,原创是downpour ... -
VC++之 Windows进程篇
2009-12-23 01:01 2238保护模式: 基于 X86 微处理器 ... -
eclipse 配置C/C++开发环境
2009-12-22 00:21 7390关于正常配置,请参考:http://jimychen ... -
RBAC权限涉猎之关系处理
2009-12-19 01:45 1526最近需要关注到RBAC这部分的理论知识。 ... -
重装XP以后修复Ubuntu引导
2009-12-03 23:37 2309在重装XP系统之后,引导区被windows强制的重写了一遍,导 ... -
Ant创建项目模版Demo
2009-11-14 21:01 3205由于项目中有用到公司自己封装的SDK,那么如果有新的开发 ... -
Ant+Freemarker+xml 生成Html
2009-11-12 22:12 2896最近客户项目中有用到freemarker生成原始的项目模版 ... -
HSQLDB的简单使用
2009-10-22 14:31 1552本文只简单讲述hsqldb的使用方法, 具体Hsql是什 ...
相关推荐
由于对开源的热爱,经常需要看开源的东东,但是像Struts那样的开源框架来说,从代码入手的话,却像一头扎进了大海, 出不来。 经常想能获取到官方的文档资料, 比如说类关系图等,这样的话,可以对整个系统的架构很...
UDoc java代码分析uml 分析出来的结果类似于struts2中的uml图
UDOC.js 是 [Photopea](https://www.Photopea.com) 项目的文档解析和转换组件。 FromEMF.js 是 UDOC.js 中的 EMF 文件解析器。 此代码是把 FromEMF.js 用 TypeScript 改写的版本,并且修正了原版代码在解析 ...
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Java基础知识总结(超详细整理)
ISO IEC 27021-2017 信息技术.安全技术.信息安全管理系统专业人员的能力要求.pdf
2024年中国DFB激光器芯片行业研究报告
详细介绍及样例数据:https://blog.csdn.net/li514006030/article/details/138510939
红帆OA(医疗版)是**一款专为医疗机构设计的办公自动化软件,旨在提高医院和相关卫生机构的工作效率和管理效能**。其功能特点包括: 1. **日常办公管理**:提供医院日常行政办公所需的基本功能,如文档处理、通知公告、会议管理等。 2. **科室管理**:支持医院内部各科室的管理需求,包括人员管理、资源分配、绩效考核等。 3. **信息集成**:能够整合医院内部的各类信息系统,实现数据共享和业务协同。 4. **多样化的医院类型支持**:适用于不同类型和规模的医院,如大学附属教学医院、综合性医院、专科医院、民营医院和集团医院等。 5. **业务范围广泛**:涵盖行政办公、医务室管理、科研管理、护士排班管理、党政管理和医患关系管理等多个方面。 6. **综合业务管理平台**:结合了卫生主管部门的管理规范和众多行业特色应用,是符合医院行业特点的综合业务管理平台。 7. **丰富的成功案例**:拥有众多成功案例,是医院综合业务管理软件中应用最广泛的之一。 需要注意的是,尽管红帆OA(医疗版)提供了强大的功能和广泛的应用场景,但任何软件系统都可能存在一定的安全风险,例如SQL注入漏洞等。因
网页制作基础学习--HTML+CSS常用代码
HCS-2810ES_3810ES 说明书
2024-2030中国3-吗啉丙磺酸市场现状研究分析与发展前景预测报告
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
QYResearch:2023年前10大高流量治疗系统企业占据全球98%的市场份额.docx
0.Python实现3D建模工具(上)内含设计文档和源码.md
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
c语言文件读写操作代码
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
详细介绍及样例数据:https://blog.csdn.net/li514006030/article/details/138510939