如何使用 js/uml 对我的 JavaScript 文件进行反向工程?

Posted

技术标签:

【中文标题】如何使用 js/uml 对我的 JavaScript 文件进行反向工程?【英文标题】:How can I reverse engineer my JavaScript files with js/uml? 【发布时间】:2013-05-18 20:37:50 【问题描述】:

目标

我的目标是从我的 javascript 项目(由几个 .js 文件组成)中获取 UML 模型并将其存储为 XMI。

我走了多远

我搜索了互联网,发现 js/uml 是第一个去的地方。

我已经设法让 js/uml 插件与 Eclipse 3.7.1 (Win32) 一起运行,并在本地安装我预先下载的其他插件:

    mdt-uml2tools-Update-incubation-I201103290512.zip(需要安装 org.eclipse.uml2.diagram.clazz 0.10.0) jsuml-eclipse-0.8.4.zip(仅适用于 Eclipse 3.7.1 (Indigo))

我将提供的示例项目 jsuml-example-yui-0.8.4.zip 加载到 Eclipse 中,并将我的所有 .js 文件也添加到该项目中。

问题

现在我被卡住了,不知道如何调用我的 .js 文件的逆向工程。我可以从项目的上下文菜单中调用'New'->'Other'->'UML 2.1 Diagrams'->'Class Diagram',但我没有得到该助手对话框的以下步骤,如果这完全是正确的方法。拜托,你能帮我一个简单易懂的点击教程吗? js/uml homepage 解释得不够好,恕我直言。提前感谢您的帮助。

【问题讨论】:

有没有人可以使用自己的 .js 文件? 你能更新一下发生了什么吗?你成功了吗? 我认为(但我不确定)js/uml 只能解析在源代码中的每个函数前面包含特殊格式的 cmets 的 .js 文件。我的资源没有它,所以我可以选择编写数百个这样的 cmets 来让解析器工作,或者手动创建 UML 模型。我决定选择后者,尽管我不满意我必须走那条路。我不清楚源 cmets 的这种格式必须是什么样子。 【参考方案1】:

有人将UML 改编为Web 工件,它被称为UML 的“WAE”扩展。这样,您不仅可以看到您的 javascript 文件,还可以看到 html 和 css。如果您使用 node.js,我创建了一个为 javascript/node/html/css 生成类图的模块。它被称为 wavi。对于 javascript,函数、变量是自动识别的。您可以使用它来记录您的应用程序。

https://www.npmjs.org/package/wavi

【讨论】:

【参考方案2】:

嗯,我想我已经很接近了。

有一个名为Code2Flow 的命令行工具。它使用GaphViz 为 Python 和 JavaScript 源代码生成图表。

我试过了,它确实会生成图表,但不知何故我做不到。

我希望这会对你或某人有所帮助。

【讨论】:

以上是关于如何使用 js/uml 对我的 JavaScript 文件进行反向工程?的主要内容,如果未能解决你的问题,请参考以下文章

React-Native - 使用依赖于 node.js 核心模块的 Javascript 模块

如何使用 Swift 对我的项目中的 Foreach 循环中的“金钱”值求和? [关闭]

如何使用实体的相关有序集对我的 NSFetchedResultsController 进行排序?

如何使用微笑库的 CLARANS 方法使用自定义距离矩阵对我的数据进行聚类

如何强制对我的 Django 应用程序的某些 URL 使用 SSL?

JavaScrip实现:如何写出漂亮的条件表达式