【问题标题】:Uml / sequence / package / ... diagram alternative for JavaScript and Electron application?Uml / sequence / package / ... JavaScript 和 Electron 应用程序的图表替代方案?
【发布时间】:2019-03-22 07:39:55
【问题描述】:

我的问题是我是否可以绘制任何类型的图表以可视化和 Electron / JavaScript 应用程序?

对于不同的 uml 图,我需要替代方案,例如类图或包图,但由于 JS 是基于原型的,它不像 Java 或 C#,我不知道我能做什么。

我可能唯一能制作的就是一张序列图,但我也应该(可能必须)制作其他图表。

【问题讨论】:

标签: javascript electron uml diagram class-diagram


【解决方案1】:

首先,您根本没有义务在 UML 图中记录所有内容。因为工作软件比综合文档更重要。但是,UML 可以非常有用地突出您的软件中一些不容易在代码中找到的不那么琐碎的方面。我的建议是关注这些方面。

现在,您应该在 UML 中做什么取决于您打算在模型中表示什么,以及您如何使用 js。

UML 区分 structure diagrams 以显示您软件的静态视图和 behavioural diagrams 以显示其动态。

结构图

这对您来说可能不太有吸引力,因为 JS 是 prototype-based 并且在输入逻辑方面提供了很大的灵活性,这与 UML 的基于静态类的视图相反。

尽管如此,您仍然可以从类的概念中受益并使用class diagrams 来展示您的设计意图(即您对对象分类的心理看法)或用于实例化对象的原型(尤其是 如果您设计一些对象本质上充当原型,使它们事实上成为类的代表)。当然,如果您的 JS 设计根本不是面向对象的,那么将您的程序映射到 OO 概念是没有意义的(请参阅here)。

请注意,旧版 object diagram 可能对您更有意义,因为它允许解释对象之间的关系而不是类(另请参阅 here

在这两种情况下,您可能对usage dependencies 尤其感兴趣,它有助于将静态元素(即对象或类)链接到行为意图。

最后,package diagrams 可以用来展示您的.js 文件及其依赖关系的大图。它不是传统 java 包的意义,但也可能有用。

行为图

在这里,我会假装所有这些图表都对你有意义。

我首先想到的是sequence diagram。因为它有助于可视化多个对象之间的预期交互,而这些仅通过浏览代码很难找到。

在某些情况下,state machine diagram 也可以提供帮助。如果行为取决于某个状态变量,或者如果您想显示对象的完整生命周期,这将特别有意义。

最后,你可以考虑activity diagram。如果您想显示系统中的控制流或对象流,这些特别有用。如果您不熟悉它们,并且简化到极端,这是一种超级流程图,但箭头不仅代表“下一个操作”,还可以代表在操作之间传递的对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    相关资源
    最近更新 更多