Rysowanie schematów sekwencji [zamknięte]
Szukam łatwego języka / narzędzia wiersza poleceń do rysowania diagramów sekwencji i timing (mogą to być 2 różne narzędzia). Znalazłem już Mscgen do rysowania schematów sekwencji i wygląda całkiem nieźle, ale studiuję inne możliwości.
Thanks
9 answers
Najlepszym oprogramowaniem, jakie znalazłem i zwykle używam do tworzenia diagramów sekwencji ze zwykłego tekstu jest SDEdit . Jest to narzędzie Java, więc można go używać w dowolnym systemie operacyjnym. I to jest wolne oprogramowanie!
Za pomocą tego narzędzia piszesz:
#![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)
Aby uzyskać to:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-09 20:14:34
PlantUML . http://plantuml.sourceforge.net/sequence.html
PlantUML jest używany do rysowania diagramu UML, przy użyciu prostego i ludzkiego czytelny opis tekstowy.
Wygenerowane obrazy mogą być następnie używane bez odniesienia do Licencja GPL / LGPL / ASL / EPL / MIT. Nie jest nawet konieczne, aby określić że zostały one wygenerowane z PlantUML, chociaż będzie to doceniany przez zespół PlantUML.
Z mojego doświadczenia wynika, że łatwy w użyciu i tworzy ładne diagramy. Nie mogę go bardziej polecić.
Typy plików wyjściowych:
-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
Oto przykład pokazujący jak stworzyć prosty diagram sekwencji.
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
Można również tworzyć bardziej szczegółowe diagramy za pomocą aktywacji linii ratunkowej i zniszczenia:
@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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-01 04:00:52
Dla diagramów sekwencji, można spojrzeć na websequencediagramy - tworzy ładnie wyglądające diagramy i posiada wiele funkcjonalności (Przykładowa Strona ). Nie jest to narzędzie wiersza poleceń, ale ma swoje Web-API.
Ditaa tworzy ładnie wyglądające diagramy ze źródła ascii. Napisany w Javie, może być wywołany w wierszu poleceń, aby przekonwertować tekst ascii na diagramy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-15 21:57:16
Innym narzędziem diagramu sekwencji jest http://sequencediagram.org Gdzie możliwe jest narysowanie diagramu w celu wygenerowania skryptu i skryptu w celu uzyskania diagramu w tym samym czasie.
Więc jest to dobre dla dużych diagramów, gdzie zwykle tracisz kontrolę nad tym, gdzie jesteś w skrypcie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-02 00:54:43
Ta odpowiedź może nie jest dokładnie tym, co miałeś na myśli, więc pozwól mi krótko podać kontekst.
Przez lata doceniłem umiejętność programowania Literackiego jako super miły sposób pisania wysokiej jakości oprogramowania i utrzymywania tego kodu w zrozumiałości. Może to jedyny sposób... W każdym razie Schematy sekwencji, będąc wizualne, ładnie uzupełniają kod i pisanie. Ułatwia to zrozumienie.
LaTeX / PGF / pgf-umlsd / noweb
Więc w tym celu LaTeX + pgf-umlsd może tworzyć bardzo dobrze wyglądające diagramy. Są one określone semantycznie, jak większość innych narzędzi, co oznacza, że mówisz co sekwencji co, a nie jak powinien wyglądać. Program oblicza właściwy obraz.
Więc ten Latexowy kod
\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}
Tworzy ten obrazek (oczywiście używając czcionek z reszty dokumentu itp.):
W źródle LaTeX odpowiednie bity kodu wykonywalnego są po prostu poniżej diagramu,
trzymanie rzeczy razem. Używam noweb
(witryna, docs ), aby uzyskać uruchamialny kod lub źródło artykułu.
HTH.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-23 22:17:24
GenMyModel obsługuje teraz diagramy sekwencji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-30 05:28:36
EventStudio System Designer 5 może działać dla Ciebie. Generuje diagramy sekwencji z wprowadzania tekstu. Obsługuje również wiele scenariuszy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-22 02:15:36
Dla diagramów sekwencji można również spojrzeć na Visual Paradigm , dość potężne narzędzie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-20 23:36:22
Dla diagramów sekwencji , Warto również spojrzeć na UMLGraph.
Aktualizacja 2018-08-24: wydaje się, że strona internetowa została przeniesiona do tutaj .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-24 12:31:14