我的问题是,如果有任何一种图表,我可以画出来,以便可视化和电子/ JavaScript应用?
我需要替代不同的uml图,比如类或包图,但是由于JS是基于原型的,而且不像Java或C#,所以我不知道我能做什么。
我唯一能做的就是一个序列图,但我也应该(可能必须)做其他的图表。
发布于 2019-03-23 10:44:27
首先,您根本没有义务记录UML图中的所有内容。因为工作软件比全面的文档更重要。但是,UML对于突出您的软件中一些不容易在代码中找到的不那么简单的方面非常有用。我的建议是把重点放在这些方面。
现在,您应该在UML中做什么,这都取决于您打算在模型中表示什么,以及如何使用js。
UML区分结构图以显示软件上的静态视图,并区分行为图以显示其动态。
结构图
这对您可能不那么有吸引力,因为JS是原型,并且在类型逻辑方面提供了很大的灵活性,这与相当静态的基于类的UML视图相反。
尽管如此,您仍然可以从类的概念中受益,并使用类图来显示您的设计意图(即您对对象分类的心智视图)或用于实例化对象的原型(特别是如果您设计了一些对象作为原型,使它们事实上成为类的代表)。当然,如果您的JS设计完全不是面向对象的,那么将您的程序映射到OO概念是没有意义的(请参阅这里)。
请注意,遗留的对象图可能对您更有意义,因为它允许解释对象之间的关系,而不是类(参见这里)。
在这两种情况下,您可能对帮助将静态元素(即对象或类)链接到行为意图的使用依赖关系特别感兴趣。
最后,可以使用包装图来显示.js文件及其依赖关系的总体情况。它并不是传统java包的意义,但也可能是有用的。
行为图
在这里,我会假装所有这些图表对你来说是有意义的。
我首先想到的是序列图。因为它有助于可视化几个对象之间的预期交互(),而且通过浏览代码就很难找到这些交互。
在某些情况下,状态机图也可以提供帮助。如果行为依赖于某个状态变量,或者您想要显示对象的完整生命周期,这就特别有意义了。
最后,您可以考虑活度图。如果您想要显示跨系统的控制流或对象流,这些信息尤其有用。如果您不熟悉它们,并将其简化到极致,这是一种超级流程图,但是箭头不是jus表示“下一个操作”,但也可以表示在操作之间传递的对象。
https://stackoverflow.com/questions/55294919
复制相似问题