rnu*_*nes 40 graphics diagram sequence-diagram timing-diagram
我正在寻找一个简单的语言/命令行实用程序来绘制序列和时序图(可能是2个不同的工具).我已经找到了Mscgen用于序列图绘制并且看起来很不错,但我正在研究其他可能性.
谢谢
sgm*_*nda 28
我发现的最好的软件,我通常用来制作纯文本的序列图是SDEdit.它是一个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)
Run Code Online (Sandbox Code Playgroud)
获得这个:
mar*_*pet 19
对于序列图,您可以查看websequencediagrams - 它创建漂亮的图表并具有许多功能(示例页面).它不是命令行实用程序,但它确实有它的web-API.
ditaa从ascii源创建漂亮的图表.用java编写,可以在命令行上调用它来将ascii文本转换为图表.
use*_*306 19
PlantUML. http://plantuml.sourceforge.net/sequence.html
PlantUML用于绘制UML图,使用简单且可读的文本描述.
然后可以使用生成的图像而无需参考GPL/LGPL/ASL/EPL/MIT许可证.甚至没有必要规定它们是用PlantUML生成的,尽管PlantUML团队会对此表示赞赏.
根据我的经验,它易于使用,并产生漂亮的图表. 我不能高度推荐它.
输出文件类型:
Run Code Online (Sandbox Code Playgroud)-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
Run Code Online (Sandbox Code Playgroud)
@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
Run Code Online (Sandbox Code Playgroud)
这个答案可能并不完全是你的想法,所以让我简要介绍一下背景.
多年来,我开始欣赏文字编程作为编写高质量软件并保持代码易于理解的超级好方法.也许唯一的方法......在任何情况下,序列图,视觉,很好地补充代码和写作.这有助于理解.
因此,为此,LaTeX + pgf-umlsd可以创建非常好看的图表.他们在语义规定,像大多数其他的工具,这意味着你说什么排序你什么,而不是怎么它应该看.该程序计算出正确的图片.
所以这个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}
Run Code Online (Sandbox Code Playgroud)
创建此图片(当然使用文档其余部分的字体等):
在LaTeX源代码中,可执行代码的相关部分位于图表下方,将各个部分保持在一起.我使用noweb
(site,docs)来获取可运行的代码或文章的来源.
HTH.