我被要求做一个序列图来记录我的应用程序所做的web服务调用。
我不太懂序列图。它们很难读懂--很多行,而不是很多文字。例如,如果我想证明我的应用程序调用了一个特定的服务,传递了一组数据,并返回了一组不同的数据,那么这条线上和后面几乎没有足够的空间来显示所有这些数据,并指出这是一个GET或POST,如果没有这些信息,图表就会最小化到不太有用的地步。我发现在文本文件或wiki中记录这样的东西要容易得多。但我看到了序列图是多么流行,所以我想我不会“得到”它们。
所以我现在有三个问题:
(1)有人能给我看看web服务调用序列图的一些特别好的/有用的例子吗?
(2)当流具有不同的逻辑路径,从而导致不同的web服务调用时,我应该用单个序列图表示这些逻辑路径,还是为每种可能性创建不同的序列图?
(3)我理解序列图是基于UML的,但是UML在哪方面是一种“语言”?它没有文字表示,对吧?这似乎更像是一种描绘某些东西的方式,比如流程图。
发布于 2017-07-19 17:45:37
在您的情况下,序列图的目的是向同事(或未来的自我)传递某些信息。真的没有“最好”的方法去写这个答案,就像没有最好的方法来写这个答案--我已经改写了这个答案,如果我在一年内重读我的答案,我很可能会再把它改的更清楚。
这里的图表也是如此;如果您自己不理解这个图(假设您理解序列图的目的),那么其他人也不会理解它。
也许在你的情况下,像这样的事情就足够了

首先要关注沟通,以后要担心对UML规范的“遵从”。
(3),你会认为手语是一种语言吗,即使它使用手势而不是文字?
类似地,UML有一个可视化元素的“词汇表”,这些元素表示各种概念--具有生命线的序列图,以及表示参与者(类)之间通信序列的消息。此外,您还可以添加注释到您的图表,以澄清您的意图。
(2) --你可以两者兼得。再说一次,决定因素是沟通的清晰性--如果一个图过于混乱,那么就把它分解,再做一个,或者更多(就像你要分割方法和类一样)。经验法则是在整个图中保持相同的抽象级别--突然深入到实现的细节中,它很快就会变得混乱。
(1) (1)最好的开始方法是先学习图表的“词汇表”,例如uml-diagrams.org,然后画一些东西,看看你是否理解它或者其他人是否理解它;如果你觉得你能更好地“重述”它,不要害怕扔掉它。
线上几乎没有足够的空间来显示所有这些数据
听起来像是一个工具问题;只需将行进一步分开,或者使用像PlantUML这样的东西为您做这件事。(或者使用实际的UML工具。)
这张图极简,几乎没有多大用处。
然后丰富它,添加文本注释,分割它。使用它作为文档的一部分,只说明某些点;您不需要使用图表作为唯一的文档工件。
https://stackoverflow.com/questions/45193586
复制相似问题