`
gogole_09
  • 浏览: 205588 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

开源UML项目Udoc简介

阅读更多

   由于对开源的热爱,经常需要看开源的东东,但是像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。 这个好东西就介绍到这里, 发现好东西,不敢独享, 所以贡献出来,希望有兴趣的朋友,可以去尝试一下。 当然,好东西还有其他很多的功能,这里就不能一一介绍了。 有兴趣的还是自己去琢磨吧。


  最后发个源代码结构图, 这么强大的东西,其代码可以说是非常简单,有兴趣有时间的,可以好好研究研究。

 

 

 

  这里把项目传上来, 免去感兴趣的朋友去搜索之苦。 附件如下:

  • 大小: 7.6 KB
  • 大小: 20.7 KB
  • 大小: 11.5 KB
  • 大小: 46.8 KB
  • 大小: 46.5 KB
  • 大小: 31.6 KB
  • 大小: 41.9 KB
  • 大小: 18.2 KB
  • 大小: 23.1 KB
  • 大小: 74.9 KB
  • 大小: 102.2 KB
分享到:
评论
22 楼 programlv 2010-11-29  
求教一下LZ,这个是怎么解析Java文件的?
21 楼 littleJava 2010-11-11  
这个东西很早就有介绍了,而且这个项目貌似停止更新了
20 楼 pengsuyun 2010-11-11  
顶一个,很实用的东东!
19 楼 donle_elxj 2010-10-31  
chpublish1012 写道
楼主讲的好  东西实用  
我也经常头疼不能整体的去观察一个开源项目
看代码的话 web项目还好 java项目就不知道从何入手了
找过这种反向的工具  效果都不好
有了这个以后对设计的理解就能又有所提高了


MyEclipse中的UML视图也不错
18 楼 a_nuo 2010-02-08  
这个工具太棒了!!
多谢楼主!!
17 楼 creasure 2010-01-20  
creasure 写道
将楼主的下载下来后,运行,提示无法加载main class。

发现在CMD下可以运行。
为了方便,写了一个start.bat文件放在UDoc.jar相同路径下。双击start.bat即可启动UDoc.
16 楼 creasure 2010-01-20  
将楼主的下载下来后,运行,提示无法加载main class。
15 楼 lmq871124 2010-01-20  
我怎么点了browser以后弹出的页面没东西,是不是还对jdk版本有要求?
14 楼 tangfeng 2010-01-18  
好东西,很强大啊!打开程序速度很快,不知道是不是新装了update18的缘故
13 楼 睡着的兔子 2010-01-15  
谢谢 楼主  用的不错
12 楼 大猫阿Ken 2010-01-11  
是个好东西,可以帮助理清开源代码的类关系,谢谢楼主
11 楼 asin 2010-01-10  
工具不错,而且很小。。。。
但像这种工具做逆向的工程总有些问题。。。
这边有个类似的东西,请看
http://www.iteye.com/topic/566684
10 楼 gogole_09 2010-01-09  
xingqiba 写道
piao_bo_yi 写道
struts文档里面带类图...



在哪儿呢,,能否具体点给个地。thanks

这位兄弟,你把源代码下过来, 去docs目录下找找,应该可以找得到的……
9 楼 gogole_09 2010-01-09  
kingxip 写道
问下楼主,如果源代码写得非常糟糕,他也能生成吗?

  这个……  我只能告诉你,如果没法生成,它会把简单的类单个列出来,但是点不出关系, 只能看见几个X的图标
8 楼 kingxip 2010-01-07  
问下楼主,如果源代码写得非常糟糕,他也能生成吗?
7 楼 cai555 2010-01-07  
not bad!!
6 楼 chpublish1012 2010-01-07  
楼主讲的好  东西实用  
我也经常头疼不能整体的去观察一个开源项目
看代码的话 web项目还好 java项目就不知道从何入手了
找过这种反向的工具  效果都不好
有了这个以后对设计的理解就能又有所提高了
5 楼 cqllang 2010-01-07  
用了一下,感觉还不错。。
4 楼 fyb207 2010-01-06  
恩,非常好,学习了,谢谢。
3 楼 xingqiba 2010-01-06  
piao_bo_yi 写道
struts文档里面带类图...



在哪儿呢,,能否具体点给个地。thanks

相关推荐

    开源UML项目Udoc简介UDoc-1-005.rar

    由于对开源的热爱,经常需要看开源的东东,但是像Struts那样的开源框架来说,从代码入手的话,却像一头扎进了大海, 出不来。 经常想能获取到官方的文档资料, 比如说类关系图等,这样的话,可以对整个系统的架构很...

    UDoc java代码分析uml

    使用UDoc时,开发人员可能需要将他们的Java项目或特定源代码文件作为输入,然后UDoc会分析这些代码,生成对应的UML图。这些图形可以辅助团队理解代码结构,检测潜在的重构机会,或者在设计阶段就捕捉到可能的设计...

    EMF Parser (TypeScript) 源码

    UDOC.js 是 [Photopea](https://www.Photopea.com) 项目的文档解析和转换组件。 FromEMF.js 是 UDOC.js 中的 EMF 文件解析器。 此代码是把 FromEMF.js 用 TypeScript 改写的版本,并且修正了原版代码在解析 ...

    foj.rar_On the Line_meet62l_pick8xd_界面编程

    3. **Jmakelink.dsp**:这可能是Visual Studio的项目文件,用于管理和构建"makelink"项目,包含了关于编译设置、链接器选项、源文件等信息。 4. **RlLDebug**和**Release**:这两个文件夹通常代表不同的编译配置,...

    网络安全中的系统信息收集与防护机制探讨

    内容概要:本文档深入介绍了网络安全领域中的系统信息收集方法以及常见的保护措施。主要分为三大板块:获取网络和服务信息的方法、克服CDN和WAF等障碍的技术手段。其中包括对服务厂商、网络架构的理解,对于协议应用、内部网络设备的认识,以及面对各种安全措施如CDN服务、负载均衡器、Web应用防火墙时,如何进行有效的信息搜集。同时推荐了多个相关工具如Masscan、Nmap、Wafw00f及Kali自带动态二进制翻译工具。 适合人群:适合从事网络安全工作的专业人士和技术爱好者,特别是对信息安全有浓厚兴趣的学习者。 使用场景及目标:帮助技术人员提升网络安全领域的实战技能,掌握高效的信息收集技巧,了解并能够对抗多种常见的网络防护技术。 其他说明:文中提供了详细的演示案例和实际操作指导,辅以丰富的外部资源链接支持进一步学习。

    基于WPF开发的视频播放器

    基于WPF开发的视频播放器,实现视频的手动添加,播放,暂停,停止,音量,播放速度,以及进度显示。主要采用以下技术: 开发技术:WPF,.Net6.0 开发工具:Visual Studio 2022 具体可参考个人CSDN博客。

    中国分地区地级市泰尔指数数据集(2000-2019).zip

    中国分地区地级市泰尔指数数据集(2000-2019).zip

    Pillow_SIMD-6.0.0.post0+avx2-cp35-cp35m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    MATLAB-四连杆机构的仿真+项目源码+文档说明

    <项目介绍> - 四连杆机构的仿真 --m3_1.m: 位置问题求解 --m2_1.m: 速度问题求解 --FourLinkSim.slx: Simlink基于加速度方程的仿真 --FourLinkSim2.slx: Simscape简化模型仿真 --FourLinkSim3.slx: Simscape CAD模型仿真 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    pendulum-2.1.2-cp310-cp310-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    polylearn-0.1.dev0-cp27-cp27m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    中国高质量发展指标体系-最新发布.zip

    中国高质量发展指标体系-最新发布.zip

    Pillow-6.2.2-cp27-cp27m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    中国分地区最新资本存量三份数据集.zip

    中国分地区最新资本存量三份数据集.zip

    pillow_avif_plugin-1.2.1-cp37-cp37m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    JAVASpring MVC仓库管理系统源码数据库 MySQL源码类型 WebForm

    Spring MVC仓库管理系统源码 功能描述: 库存管理 出入库管理:货物入库 货物出库 人员管理:仓库管理员管理 基础数据:供应商信息管理 客户信息管理 货物信息管理 仓库信息管理 系统维护:更改密码 系统日志 登陆日志 运行环境:Eclipse ,JDK 1.8 ,Tomcat7,maven 后端技术:SpringMVC MVC框架 Spring Framework 容器 Apache Shiro 安全框架 Mybatis ORM框架 MyBatis Generator 代码生成 C3P0 数据库连接池 Ehcache 进程内缓存框架 Apache poi 文件导入导出 Maven 项目构建管理 前端技术:jQuery , Bootstrap

    JAVASpring MVC进销存管理系统源码数据库 MySQL源码类型 WebForm

    Spring MVC进销存管理系统源码 基于Spring MVC+hibernate4+UI快速开发库+Spring JDBC+Highcharts图形报表+jquery+ehcache开发 运行环境:Ecplise + Tomcat7以上 包括:用户管理,角色管理,数据字典,菜单管理,部门管理,图标管理等等功能

    python自动化实现金山打字通的脚本

    视频展示

    pocketsphinx-0.1.15-cp37-cp37m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    【电磁】基于matlab完美磁导体边界的区域的二维FDTD【含Matlab源码 9195期】.mp4

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

Global site tag (gtag.js) - Google Analytics