2008-10-11 12 views
26

Czy istnieje jakieś dobre narzędzie lub łańcuch narzędzi, który umożliwia tworzenie obrazów UML w formacie .svg z pliku tekstowego? Powodem tego pytania jest to, że chcę zautomatyzować generowanie tych obrazów, aby uniknąć konieczności ręcznego tworzenia i aktualizowania tego zestawu obrazów.Renderowanie diagramów UML z plików tekstowych

Odpowiedz

12

UMLGraph to program do generowania diagramów UML (głównie diagramy klas i diagramy sekwencji) z opisów tekstowych. Jest przeznaczony do użycia z kodem źródłowym java, ale z pewnymi zmianami można również użyć kodu źródłowego w stylu C++, jak opisano w this blog entry.

Cytat ze strony internetowej UMLGraph:

plotutils GNU pic2plot Program może następnie przetwarzać diagram sekwencji do stworzyć PNG, PNM, (pseudo) GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis lub rysunek TEK.

+1

Próbowałem tego dla diagramów sekwencji; okazało się, że jest niesamowicie finezyjny (diagramy sekwencji są wykonywane za pomocą makr pic, a nie Java - mógłbym pobrać próbki do działania, ale moje własne makra nie powiodły się pomimo tego, że były ważne, o ile mogłem powiedzieć), a wynik próbki wygląda okropnie jak bitmapy lub SVG (na Ubuntu 14.04 z pic2plot 2.6). Dla diagramów sekwencji uniknęłbym ... – Adrian

+0

Powinieneś skorzystać z kasy http://www.zenuml.com. Jest to internetowa konwersja TEKSTU na Diagram sekwencji natychmiast. –

0

bezpłatne narzędzie UML JUDE umożliwia tworzenie diagramów UML z kodu źródłowego Java. Nie wiem, czy robi to dla innych języków.

+0

Jorn Hey Jude jest teraz nazywany 'Astah' (http://astah.net/editions/professional) i schematy mogą być tworzone z kodu źródłowego Javy i C++ i C# za pomocą darmowych wtyczek (http://astah.net/features/plugins). – Satomi

21

stworzyłem listę narzędzi, które akceptują opis tekstowy modelu jako wejście tutaj:

http://modeling-languages.com/uml-tools-textual-notations-define-uml-models/

+0

Czy to normalne, że słowa kluczowe SQL są drukowane wielkimi literami na stronie internetowej? (Sądzę, że są to słowa kluczowe SQL, ale nie jestem tego pewien.) – leemes

+0

To nie jest, naprawiłem to na głównej stronie narzędzi UML, do której się tam odnoszą. Dlaczego tak się stało jest czymś, czego wciąż nie jestem całkowicie pewien –

1

Enterprise Architect robi całkiem dobrą robotę w tworzeniu diagramów automatycznie, z kodem źródłowym (w różnych języki), jak również z baz danych lub innych źródeł.

11

PlantUML to dobre narzędzie, które konwertuje tekst na standardowe diagramy umla.

masz to jako plugin do confluenze

+1

PlantUML jest dostępny jako samodzielna aplikacja java, a także posiada wersje wtyczek dla [pakietu wiki, edytorów i IDE] (http://plantuml.sourceforge.net/running) .html). Domyślnie wydaje się, że tworzy pliki png, ale może wyprowadzać do svg z odpowiednimi flagami. – Alan

+2

Zdecydowane +1 dla PlantUML, szczególnie dla diagramów sekwencji - o wiele mniej finezyjnych niż makra pic w UMLGraph, mała aplikacja GUI aktualizuje się automatycznie i pokazuje twój diagram za każdym razem, gdy zapisujesz, a komunikaty o błędach są znacznie bardziej pomocne. – Adrian

3

Jest to kolejne narzędzie nazywa się JS Sequence Diagrams, aby umożliwić generację UML diagramy sekwencji z prostym tekstem.

Używa underscore.js i Raphaël do tworzenia diagramów.

To jest uproszczona BSD licencjonowane i kodu źródłowego dostępnego na GitHub

0

Jeśli lubisz JS Sequence Diagrams, należy również sprawdzić UMLet który ma podobną przesłankę (będąc w stanie określić schematy poprzez tekst, podobny do opis graphviz) i niech narzędzie wykrywa wykres i pozycjonowanie.

IMHO, to podejście nie uzyskało wystarczającej rozgłosu ani trakcji. Pełna analiza źródłowa w czasie podróży jest trudna, aw wielu przypadkach "za dużo pracy" dla prostych rozmów projektowych lub szybkiej dokumentacji. Złożoność układu w narzędziach dla przedsiębiorstw uniemożliwia korzystanie z nich wszystkim, z wyjątkiem największych dokumentów. A Agile cierpi na brak dokumentów, ponieważ cena jest zbyt wysoka.

Z tych powodów chciałbym, aby więcej narzędzi stosowało takie podejście.

1

Dla diagramów sekwencji bardzo lubię Mscgen. Prosty format tekstu, piękne diagramy.

„Mscgen to niewielki program, który analizuje opisy kartę sekwencji komunikatów i produkuje PNG, SVG, EPS lub mapy obrazu po stronie serwera (ismaps) jako wyjście” - http://www.mcternan.me.uk/mscgen/

np Wejście w postaci:

# MSC for some fictional process 
msc { 
    hscale = "2"; 

    a,b,c; 

    a->b [ label = "ab()" ] ; 
    b->c [ label = "bc(TRUE)"]; 
    c=>c [ label = "process(1)" ]; 
    c=>c [ label = "process(2)" ]; 
    ...; 
    c=>c [ label = "process(n)" ]; 
    c=>c [ label = "process(END)" ]; 
    a<<=c [ label = "callback()"]; 
    --- [ label = "If more to run", ID="*" ]; 
    a->a [ label = "next()"]; 
    a->c [ label = "ac1()\nac2()"]; 
    b<-c [ label = "cb(TRUE)"]; 
    b->b [ label = "stalled(...)"]; 
    a<-b [ label = "ab() = FALSE"]; 
} 

Wytwarza wyjścia tak:

Sequence diagram for a fictional process

1

Wiem, że to stary wątek, ale nadal, chciałbym podzielić się jeszcze jedno narzędzie, które uważam za niezwykle pomocne i przyjazny dla użytkownika: https://www.websequencediagrams.com/

To narzędzie online, które pozwoli Ci szybko rozpocząć pracę.

Posiada również wiele ładnych układów po wyjęciu z pudełka.
Oto dwa na przykład:

enter image description here

Powiązane problemy