web-dev-qa-db-fra.com

Schémas de séquence de dessin

Je suis à la recherche d'un utilitaire de langage/ligne de commande simple pour dessiner des diagrammes séquence et timing (pourrait être 2 outils différents). J'ai déjà trouvé Mscgen pour le dessin de diagramme de séquence et semble assez bon, mais j'étudie d'autres possibilités.

Merci

40
rnunes

Le meilleur logiciel que j'ai trouvé et que j'utilise habituellement pour faire des diagrammes de séquence à partir de texte brut est SDEdit . C'est un outil Java, vous pouvez donc l'utiliser dans n'importe quel système d'exploitation. Et c'est un logiciel gratuit!

Avec cet outil, vous écrivez ce qui suit:

#![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)

pour l'obtenir:

SDEdit example

28
sgmonda

Pour les diagrammes de séquence, vous pouvez jeter un œil à websequencediagrams - il crée de beaux diagrammes et possède de nombreuses fonctionnalités (- page d'exemples ). Ce n'est pas un utilitaire de ligne de commande, mais il a son API Web.

ditaa crée de beaux diagrammes à partir de la source ascii. Écrit en Java, il peut être appelé sur la ligne de commande pour convertir du texte ascii en diagrammes.

19
marapet

PlantUML . http://plantuml.sourceforge.net/sequence.html

PlantUML est utilisé pour dessiner un diagramme UML, en utilisant une description textuelle simple et lisible par l'homme.

Les images générées peuvent ensuite être utilisées sans aucune référence à la licence GPL/LGPL/ASL/EPL/MIT. Il n'est même pas nécessaire de stipuler qu'ils ont été générés avec PlantUML, bien que cela sera apprécié par l'équipe PlantUML.

D'après mon expérience, il a été facile à utiliser et produit de beaux diagrammes. Je ne peux pas le recommander plus fortement.

Types de fichiers de sortie:

-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

Voici un exemple montrant comment créer un diagramme de séquence simple. enter image description here

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

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

Vous pouvez également créer des diagrammes plus détaillés en utilisant l'activation et la destruction de la ligne de vie: enter image description here

@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
19
user3226306

Un autre outil de diagramme de séquence est http://sequencediagram.org où il est possible de dessiner le diagramme pour générer le script et le script pour obtenir le diagramme en même temps.

Donc, c'est bon pour les grands diagrammes où vous perdez normalement la trace de votre position dans le script.

enter image description here

11
Staffan Persson

mise à jour : probablement sirène est assez bon, vous pouvez l'utiliser dans divers éditeurs de démarques, tels que hackmd . Sinon, pour l'impression, voir ma réponse d'origine ci-dessous.


Ces réponses ne correspondent peut-être pas exactement à ce que vous aviez en tête, alors permettez-moi de donner brièvement un contexte.

Au fil des ans, j'ai appris à programmation alphabétisée comme une super façon agréable d'écrire des logiciels de qualité et de garder ce code compréhensible. Peut-être la seule façon ... En tout cas, les diagrammes de séquence, étant visuels, complètent bien le code et l'écriture. Cela facilite la compréhension.

LaTeX/PGF/pgf-umlsd/noweb

Donc, à cette fin, LaTeX + pgf-umlsd peut créer de très beaux diagrammes. Ils sont spécifiés sémantiquement, comme la plupart des autres outils, ce qui signifie que vous dites quoi vous séquence quoi, pas comment il devrait ressembler. Le programme calcule la bonne image.

Donc, ce code 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}

crée cette image (en utilisant bien sûr les polices du reste de votre document, etc.):

example from the manual

Dans le LaTeX source les bits pertinents du code exécutable sont juste en dessous du diagramme, gardant les choses ensemble. J'utilise noweb ( site , docs ) pour obtenir le code exécutable ou la source de l'article.

HTH.

6
wires

GenMyModel prend désormais en charge les diagrammes de séquence.

Sequence sample

2
Xaelis

Pour les diagrammes de séquence , vous pouvez également consulter MLGraph.

Mise à jour 2018-08-24: la page Web semble avoir été déplacée vers ici .

1
sebastian

Pour les diagrammes de séquence, vous pouvez également consulter Visual Paradigm , un outil assez puissant.

1
Darren Burgess