Graphics 绘制序列图

Graphics 绘制序列图,graphics,diagram,sequence-diagram,timing-diagram,Graphics,Diagram,Sequence Diagram,Timing Diagram,我正在寻找一个简单的语言/命令行工具来绘制和绘制图表(可能是两种不同的工具)。我已经找到了绘制序列图的方法,看起来还不错,但我正在研究其他的可能性 感谢提供序列图,您可以查看-它创建了好看的图,并具有许多功能()。它不是一个命令行实用程序,但它有自己的web API 从ascii源代码创建美观的图表。它是用java编写的,可以在命令行上调用以将ascii文本转换为图表。可能适合您。它从基于文本的输入生成序列图。还可以处理多个场景。对于序列图,您可能还需要查看 更新2018-08-24:网页似乎已

我正在寻找一个简单的语言/命令行工具来绘制和绘制图表(可能是两种不同的工具)。我已经找到了绘制序列图的方法,看起来还不错,但我正在研究其他的可能性


感谢提供序列图,您可以查看-它创建了好看的图,并具有许多功能()。它不是一个命令行实用程序,但它有自己的web API


从ascii源代码创建美观的图表。它是用java编写的,可以在命令行上调用以将ascii文本转换为图表。

可能适合您。它从基于文本的输入生成序列图。还可以处理多个场景。

对于序列图,您可能还需要查看


更新2018-08-24:网页似乎已经移动到了。

对于序列图,您可能也想看看,这是一个非常强大的工具。

我发现的最好的软件,通常用于从纯文本制作序列图的软件是。它是一个Java工具,因此您可以在任何操作系统中使用它。这是免费软件

使用此工具,您可以编写以下内容:

#![SD ticket order]
ext:External[pe]
user:Actor
/order:Order[x]
db:TicketDB
acc:Account

ext:user.order a ticket!
user:order.new()
order:return=db.reserve(date,count)
db:return=acc.debit(cost)
acc:return=db.bonus(date,count)
要获得此信息:

现在支持序列图


更新:可能已经足够好了,您可以在各种标记编辑器中使用它,例如。否则,有关打印,请参见下面我的原始答案


这个答案可能并不完全是你所想的,所以让我简短地给出一个背景

多年来,我逐渐意识到这是一种非常好的编写高质量软件并使代码易于理解的方法。也许唯一的办法。。。在任何情况下,序列图都是可视的,很好地补充了代码和编写。这有助于理解

乳胶/PGF/PGF umlsd/noweb 因此,LaTeX+可以创建非常好看的图表。它们是在语义上指定的,就像大多数其他工具一样,这意味着你说的是什么序列,而不是它应该是什么样子。程序计算正确的图片

所以这个乳胶码

\documentclass{article}
\usepackage{tikz}
\usepackage{pgf-umlsd}

\begin{document}
\begin{sequencediagram}
  \newthread{t}{:Thread}
  \newinst[1]{i}{:Instance}
  \begin{sdblock}{Block}{description}
     \begin{call}{t}{function()}{i}{}
  \end{call}
  \end{sdblock}
\end{sequencediagram}
\end{document}
创建此图片(当然使用文档其余部分的字体等):

在LaTeX源代码中,可执行代码的相关位就在图表下方, 把东西放在一起。我使用
noweb
(,)获取文章的可运行代码或源代码


HTH.

另一个序列图工具是可以绘制图以生成脚本,同时生成脚本以获取图的工具

因此,它适用于大型图表,在这些图表中,您通常无法了解自己在脚本中的位置


PlantUML

PlantUML是用来绘制UML图的,使用一个简单而人性化的 可读文本描述

然后可以使用生成的图像,而无需参考 GPL/LGPL/ASL/EPL/MIT许可证。甚至没有必要规定 它们是用PlantUML生成的,尽管这将是 感谢我们的团队

根据我的经验,它很容易使用,并且可以生成漂亮的图表。 我再怎么推荐也不为过。

输出文件类型:

下面是一个演示如何创建简单序列图的示例。

@startuml
Alice->Bob:身份验证请求
Bob-->Alice:身份验证响应
Alice->Bob:另一个身份验证请求
艾丽丝:嫁妆
激活
A->B:>
激活B
B->C:嫁妆
激活C
C-->B:WorkOne
销毁C
B-->A:已创建请求
停用B
A->用户:完成
取消激活
@enduml

mscgen似乎是我完成这项任务的最佳选择-请参阅使用graphviz实现序列图。mscgen获得我的投票。+1非常酷的工具。现在,websequencediagrams也有了一个解决方案……对于一个语法与websequencediagrams.com类似的开源工具,您可能想看看PlantUML()。websequencediagrams非常棒,直到它变得太大而无法阅读为止,除非你付钱,否则你不能选择导出到任何东西,除了PNG,因为PNG太模糊了,无法读取文本。当我第一次尝试使用它时,我几乎放弃了这个错误。当您从浏览器复制并粘贴一个示例时,如果该示例丢失了声明和链接之间的关键空行,则不要被它所提供的虚假错误所吓倒。一旦你克服了这一点,你会发现它是一个整洁的工具。有史以来最好的在线工具!您的图片链接已断开。请提供一个最小工作示例(MWE)以及编译命令。我发现手册中没有说明序言,而且
pdflatex
似乎不想编译,只是找到了一个MWE。我忘记添加
\documentclass{article}
\usepackage{pgf umlsd}
序言以及周围的
\begin{document}…\end{document}
命令。
-tsvg     To generate images using SVG format
-teps     To generate images using EPS format
-txmi     To generate XMI file for class diagram
-thtml    To generate HTML files for class diagram
-ttxt     To generate images with ASCII art
-tutxt    To generate images with ASCII art using Unicode characters
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
@startuml
participant User

User -> A: DoWork
activate A

A -> B: << createRequest >>
activate B

B -> C: DoWork
activate C
C --> B: WorkDone
destroy C

B --> A: RequestCreated
deactivate B

A -> User: Done
deactivate A

@enduml