【问题标题】:Tool for drawing protocol sequence diagrams [closed]用于绘制协议序列图的工具 [关闭]
【发布时间】:2010-11-24 22:06:49
【问题描述】:

我正在寻找一种工具来绘制为滑动窗口协议发送的数据包序列。用水平线绘制消息序列图的工具有很多,但我希望能够绘制对角线,就像这张图片的底部:

请推荐合适的工具。我很可能只对免费的广告感兴趣,但如果您对商业广告有非常好的建议,您也可以将其包含在内。

【问题讨论】:

    标签: protocols sequence-diagram


    【解决方案1】:

    ZenUML 是免费且在线的。它有一个奇怪的功能,允许您使用任何 CSS 代码来设置图表样式。

    要得到上图,只需在DSL编辑器中放

    Client->Server:SYN
    

    然后在 CSS 编辑器中添加魔法

    div[signature="SYN"]>div.message {
      transform: rotate(10deg)
    }
    

    【讨论】:

      【解决方案2】:

      为了完整起见,这里是另一个基于网络浏览器的免费选项:https://sequencediagram.org/

      这是他们的宣传(来自“关于”):

      SequenceDiagram.org 是一个用于创建 uml 的在线工具/软件 序列图。

      解析和绘制图表的所有处理都在客户端完成 在用户的网络浏览器中。这不仅使它易于使用, 但这也意味着您的数据不会通过 Internet 传输 与许多其他序列图工具一样,通过该工具。由于没有 使用后端服务器也可以离线使用该工具。

      有很多序列图工具,但这是唯一的 一种允许您:

      ∙Script using a simple text notation when it is most convenient to do so, and
      ∙Draw the sequence diagram using your mouse at the same time when that is most convenient
      

      换句话说,从两个世界中汲取精华。这使它非常 易于使用其他类似工具难以处理的大型图表。 它也没有任何广告或不必要的干扰元素。

      该工具由创造很多的人开发、维护和使用 序列图在他们的日常工作中和从效率的角度来看 view 对现有工具不是 100% 满意。

      如果您有任何问题/cmets/建议/错误,请联系 info@sequencediagram.org。我们得到的反馈越多越好 优先考虑。

      【讨论】:

        【解决方案3】:

        mscgen 可以做到这一点,使用 arcgradient 选项。这个 sn-p 将准确呈现示例的第二部分:

        msc {
          arcgradient=20;
        
          client, server;
          client => server [label="SYN"];
          server => client [label="SYN + ACK"];
          client => server [label="ACK"];
        }
        

        如果你把这个sn-p复制粘贴到mscgen_js在线演示中,你会看到的。

        【讨论】:

        • 非常好,正是我想要的。
        • 这里的链接现在已经非常过时了 - 它有 0.2 版的 mscgen 命令行,缺少许多强大的功能。还有一个用于在 SourceForge 上构建图表的 GUI 版本。
        • fwiw: - mscgen 的最新版本是 0.20; - mscgen_js(另一个链接)还活着并且还在踢。
        【解决方案4】:

        我一直在使用websequencediagrams。本质上是 mscgen 的 webapp 版本,带有一些不同的精美渲染器。

        Websequencediagrams 还将他们的图表渲染公开为脚本 API。现在我将我的图表存储为 HTML 文件,将它们提交到 git,显示漂亮的差异等。即,

        <html>
        <body>
        <div class="wsd" wsd_style="rose"><pre>
        App->set_state PAUSE
        <!-- your wsd diagram commands, etc... -->
        </pre></div>
        <script type="text/javascript" src="http://www.websequencediagrams.com/service.js"></script>
        </body>
        </html>
        

        【讨论】:

        • 这是一个很酷的工具 - 你知道在时间尺度上可视化事件的类似工具吗 - 我正在考虑在一些简单的序列图中可视化不同线程何时开始和停止。我以前只是在一些日志文件中记录时间,然后在 excel 中导入并在图表中显示它,但是如果我能找到这样的工具,那就容易多了
        • 我不知道有这样的工具,但增加时间尤其是可视化线程是个好主意。在另一个问题上列出了更多序列图工具:stackoverflow.com/questions/6364672/drawing-sequence-diagrams。但我略略略读了一下,听起来好像不包括时间。
        【解决方案5】:

        对于其他有需要的人,有一个很酷的命令行工具mscgen

        【讨论】:

          【解决方案6】:

          我发现RFFlow 的启动速度非常快,学习速度快且易于使用。它可以在斜坡上诊断线和文本,适用于各种框图。它保存为 EMF 和 WMF 以及 GIF 及其原生类型,并且非常好地复制粘贴到 Word 中。

          【讨论】:

            【解决方案7】:

            你可以试试umlet.com

            善良,

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-09-15
              • 1970-01-01
              • 2010-10-16
              • 1970-01-01
              • 2013-07-12
              • 1970-01-01
              • 2010-11-04
              • 2021-03-23
              相关资源
              最近更新 更多