`
abalone
  • 浏览: 130764 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

将代码反向工程到 UML 中

阅读更多
http://www.ibm.com/developerworks/cn/java/j-ap06108/

我曾遇到过一些拥有十分美观的 UML 图的项目 — 在项目的初始阶段。问题是,在某种特殊情况下,技术负责人无法使模型与源代码同步。或者需要将宝贵的时间浪费在将源代码手动 反向工程到模型中。这两种情况都不尽如人意。如果模型无法如实地展示签入到版本控制库中的代码,那么这个 UML 图构造的再美观也毫无意义。如果您没有根据实际的代码制定决策,那么您可能就要面临随之而来的很多问题。

您可以在构建过程中生成图示,并建立一个持续集成(Continuous Integration,CI)环境来即时地(或定期地)创建图示。这样您就能够制作出有益于决策、易于创建且始终反映最新情况的图示了。

清单 1 使用 Ant、UMLGraph 以及 Graphviz 对源代码进行文档化:


清单 1. 使用 UMLGraph 文档化工具的 Ant 脚本
<property name="reports.dir" value="${basedir}/reports"/>
  <mkdir dir="${reports.dir}"/>
  <path id="project.path">
    <pathelement path="${basedir}/src"/>
    <pathelement path="${basedir}/lib"/>
  </path>
  <javadoc sourcepath="${basedir}/src" destdir="${reports.dir}"
    classpathref="project.path" access="private">
    <doclet name="org.umlgraph.doclet.UmlGraphDoc"
  path="UMLGraph.jar">
        <param name="-attributes" />
        <param name="-enumerations" />
        <param name="-enumconstants" />
        <param name="-operations" />
        <param name="-qualify" />
        <param name="-types" />
        <param name="-visibility" />
    </doclet>
  </javadoc>
  <apply executable="dot" dest="${reports.dir}" parallel="false">
    <arg value="-Tpng"/>
    <arg value="-o"/>
     <targetfile/>
     <srcfile/>
     <fileset dir="${reports.dir}" includes="*.dot"/>
     <mapper type="glob" from="*.dot" to="*.png"/>
  </apply>

分享到:
评论

相关推荐

    pynsource:将Python源代码反向工程为UML

    Pynsource 版本号:版本1.77(2020年9月9日) 作者:概述将Python源代码反向工程为UML类图。安装/使用适用于Mac / Windows / Linux的Pynsource二进制应用程序安装程序-请参阅价格实惠的还提供了其他功能,例如缩放和...

    UML基础及Visio建模.pdf

    本书会详细介绍其概念、创建步骤和创建示例:最后介绍如何将Visio、UML和.NET结合,开发企业级应用,包括如何把Visual Studio.NET项目实施反向工程以生成UML静态模型结构,如何用Visio把UML模型映射为代码框架。...

    6个Java项目UML反向工程工具

    本文介绍6款开源的工具,可以将Java项目反向工程到UML的类图。  1.Eclipse MDT  模型开发工具(MDT)提供了一些示范性工具,在元模型的基础上的发展模式。它支持创建UML图,从代码的逆向工程到UML图等等。 ...

    eclipse 插件 反向UML

    Eclipse是一款广泛使用的Java集成开发环境(IDE),它支持丰富的插件系统,使得开发者能够扩展其功能以满足各种需求。...在实际工作中,结合UML的正向设计和反向工程,可以实现更加系统化的软件开发流程。

    Eclipse插件之UML反向类图生成工具

    类图是UML中的一种,它显示了类、接口以及它们之间的关系,是理解和组织代码结构的有效方式。 在Eclipse中,通过安装特定的插件,比如“反向类图生成工具”,我们可以直接从Java源代码生成类图。这个过程被称为反向...

    vs2010反向工程安装包

    反向工程是将现有代码转换为UML(统一建模语言)模型的过程,有助于理解和改进现有代码库的结构。 描述中提到了两个安装文件:“VS10-KB2403277-x86.exe”和“en_visual_studio_2010_fp2_x86_604352.msi”。VS10-KB...

    star uml中文指导说明

    Star UML 的主要特点包括:支持多种类型的图表、模型编辑、代码生成、反向工程和团队协作等。 2. 安装: Star UML 的安装非常简单,只需要下载并运行安装程序,按照提示进行安装即可。在安装过程中,需要选择安装...

    Eclipse插件,JAVA类反向生成UML类图AmaterasUML_1.3.4

    在Java开发过程中,理解代码结构和关系往往需要用到UML(统一建模语言)类图,AmaterasUML就是这样一个Eclipse插件,能够帮助开发者将已有的Java代码反向工程为UML类图,便于理解和设计。 标题中的"Eclipse插件,...

    用Rational Rose对VC++进行反向工程(将VC++代码生成组件图).

    在软件开发领域,通过反向工程可以将代码转化为可视化的图表,如类图、组件图等,以便于理解和维护。 #### 知识点二:操作流程详解 1. **启动Rational Rose并创建组件**:启动Rational Rose后,首先在Component ...

    VS2010中UML生成代码.zip

    在VS2010中,用户可以选择一个项目或解决方案,然后使用“反向工程”功能,系统会自动分析代码并创建相应的UML图表。 UML生成代码的过程通常包括以下步骤: 1. 创建UML模型:根据需求和设计,绘制出UML图表,如类图...

    startUml工程师必备

    startUML的使用不仅限于绘图,还包括模型验证、代码生成和反向工程等功能。它支持导出为多种格式,如图片、PDF或XML,方便分享和协作。此外,startUML的开源特性使其有广泛的社区支持,不断更新和完善,满足不同...

    Eclipse插件Java反向生成UML类图,package依赖关系图 ,ModelGoon-4.4.1

    《使用ModelGoon在Eclipse中实现Java反向工程与包依赖分析》 在软件开发过程中,理解代码结构和逻辑是至关重要的。Eclipse作为一款强大的集成开发环境(IDE),提供了许多扩展工具来辅助开发者进行这项工作。其中,...

    Cpp to Uml

    除了正向工程(代码到UML),Papyrus还支持反向工程(UML到代码)。这意味着你可以根据UML模型修改代码,然后同步更新到源码,实现模型驱动的开发。 通过这个过程,开发者可以从C++代码中抽离出设计模式和架构,使...

    StarUML_英文版本(默认java反向工程)

    这款工具的英文版,"StarUML_英文版本(默认java反向工程)",特别强调了对Java反向工程的支持,这意味着它可以将已有的Java代码自动转换为UML图,帮助用户更好地理解和管理代码结构。 1. **Java反向工程**:反向...

    VS2010反向工程包.rar

    Visual Studio 2010 提供了一项名为“反向工程”的功能,它可以帮助开发者从已有的代码中生成类图、序列图等架构视图,以便更好地理解代码间的依赖关系。然而,有时这个功能可能会出现无法正常使用的情况。此时,"VS...

    MyEclipse UML 建模.doc

    正向UML工程是根据设计的UML模型生成代码,而反向工程则是从已有的Java代码中提取UML模型。在MyEclipse中,正向工程通过UML-Generate Java菜单项实现,反向工程则通过UML-Reverse Engineer UML from Java完成。 ...

    数据库反向生成基础代码

    4. Visual Paradigm:这是一款强大的UML建模工具,支持数据库反向工程,能生成多种编程语言的代码。 5. PowerDesigner:这是一款高级的数据库建模工具,支持数据库反向工程,生成的代码适用于多种开发平台。 三、...

    Argo UMl软件建模工具

    5. **代码生成与反向工程**:能够自动生成源代码,也可从现有代码反向工程生成UML模型。 6. **扩展性强**:通过插件机制,可以扩展其功能,满足特定需求。 ### 自学资源 描述中提到可以参考ROSE的教材进行自学。...

Global site tag (gtag.js) - Google Analytics