Aus Linux-Magazin 08/2007

Diagramme mit Dia, Kivio oder Ditaa

Flussdiagramme und Schemazeichnungen sorgen für Überblick bei komplexen Netzwerktopologien. Sie helfen den Überblick bei komplizierten Arbeitsabläufen zu behalten. In Diagrammeditoren geht das Designen schneller und leichter als mit einem gewöhnlichen Zeichenprogramm.

Wenn es um Übersicht in komplizierten Systemen geht, helfen Schaubilder und Diagramme dem menschlichen Denkvermögen auf die Sprünge. Bleistiftskizzen, die einfachste Art der Visualisierung, haben allerdings einige Nachteile: Die Zeichnungen lassen sich erst nach einem Scan per Mail verschicken. Nachträgliche Änderungen sind nur beschränkt möglich. Last but not least sind Skizzen auf Papier nicht resistent gegen Aufräumaktionen der Kollegen oder des Reinigungspersonals.

Wer Diagramme, die die Netzwerktopologie des Unternehmens oder die Aufgabenverteilung einer Arbeitsgruppe veranschaulichen, auf dem Computer zeichnen möchte, ist mit Diagrammeditoren besser bedient als mit einem gewöhnlichen Zeichenprogramm. Auf diese Aufgabe spezialisierte Software nimmt dem Anwender viel Arbeit ab, indem sie zwischen vordefinierten Bildelementen automatisch Verbindungslinien zeichnen. Im Idealfall sorgt Autorouting dafür, dass die Verbindungen auch dann noch günstig verlaufen, wenn der Benutzer die verknüpften Objekte verschiebt.

Dia

Der Klassiker unter den Diagrammeditoren unter Linux heißt Dia [1]. Die Software, die in Version 0.96 vorliegt, zeichnet sich durch Flexibilität und großen Leistungsumfang aus. Die Anwendungsgebiete reichen von UML-Diagrammen für objektorientierte Softwareprojekte über Schaltbilder aus der Elektronik oder Elektrotechnik bis zu Plänen aus der Architektur. Eine der Grundlagen für diese Vielseitigkeit sind die so genannten Sheets (Objektbögen in der deutschen Lokalisierung).

Dabei handelt es sich um nach Anwendungsgebieten gruppierte Formtemplates. Mit ihrer Hilfe stehen dem Anwender mit einem einfachen Mausklick UML-Elemente wie Klassen, Abhängigkeiten und Akteure oder Glühlampen und Stromquellen und viele andere Symbole zur Verfügung (Abbildung 1). Neue Formen entstehen aus SVG-Grafiken, die allerdings bestimmte Voraussetzungen erfüllen müssen [2].

Abbildung 1: Der Diagrammeditor Dia besticht durch seinen Leistungsumfang.

Abbildung 1: Der Diagrammeditor Dia besticht durch seinen Leistungsumfang.

Schablonenhaft

Der Anwender fügt Schablonenformen durch Auswahl in der Objektpalette und Klick in die Zeichenfläche ein. Hält er dabei die Maustaste gedrückt, skaliert er zugleich die neuen Objekte, vermag sie allerdings nicht zu drehen. Zwar ist es bei vielen Diagrammtypen, zum Beispiel UML-Diagrammen oder Flussdiagrammen, üblich, Symbole stets aufrecht stehend einzufügen. Bei Elementen vom Typ Bitmap oder bei elektronischen Bauelementen wäre eine Rotieren-Funktion trotzdem hilfreich. Die Objektbögen könnten dann auf horizontale und vertikale Versionen desselben Objekttyps verzichten.

Außer vorgefertigten Elementen stellt Dia auch Werkzeuge fürs freie Zeichnen bereit: Neben einem Rechteck- und Ellipsenwerkzeug gibt es Tools für Vielecke und Beziérkurven. Die fallen aber im Vergleich zu Zeichenprogrammen wie Inkscape weniger leistungsfähig aus: Das Polygonwerkzeug startet stets mit einem Dreieck. Der Benutzer fügt per Rechtsklick an einer beliebigen Stelle einen Eckpunkt ein. Regelmäßige Vielecke lassen sich so nur schwer erstellen.

Auch das Beziér-Werkzeug startet stets mit einer geschlossenen Kurve mit zwei Kontrollpunkten, zu denen der Benutzer wie bei den Polygonen weitere hinzufügt. Das ist weniger intuitiv als der gewöhnliche Arbeitsablauf, bei dem ein Mausklick den Kontrollpunkt platziert und das Ziehen der Maus Stärke und Richtung der Krümmung einstellt.

Andockmanöver

Vom Benutzer gezeichnete sowie Template-Formen enthalten Andockpunkte für Verbindungslinien, die Dia mit kleinen, leider nicht immer besonders gut sichtbaren Kreuzen kennzeichnet. Aktiviert der Benutzer eins der fünf Linienwerkzeuge (Gerade, Bogen, Zickzacklinie, Linienzug und Beziérkurve), wirkt es auf die Kurvenenden magnetisch. Dockt der Anwender das Ende einer Verbindungslinie an, signalisiert die Software dies durch ein farbiges Aufleuchten des so verknüpften Objekts.

Eine besondere Stärke von Dia ist der rot hervorgehobene Andockpunkt im Zentrum der Objekte. Knüpft der Benutzer hier eine Verbindungslinie an, beginnt Dia diese auf der Seite des Objekts, die dem anderen Ende der Verknüpfung zugewandt ist. Das erleichtert das Verschieben der Elemente im Diagramm.

Nicht immer lassen sich Diagrammelemente ohne Überschneidungen mit Geraden verbinden. Als Ausweg bietet Dia gebogene Verbindungslinien, die außer den Endpunkten einen Kontrollpunkt für den Biegungsradius enthalten. Eine andere Alternative sind Linienzüge mit beliebig vielen Segmenten. Verschiebt der Benutzer allerdings das verknüpfte Objekt, passt die Software nur jenes Segment an, das direkt an das Element anschließt. Ein Autorouting gibt es bei diesem Verbindungstyp also nicht.

Aber zumindest ansatzweise implementiert der etwas irreführend Zickzacklinie genannte Verknüpfungstyp diese Funktion: Zickzacklinien realisieren rechtwinklige Umgehungen anderer Elemente (Abbildung 2). Hat der Nutzer per Rechtsklick »Autorouting« aktiviert, passt Dia beim Verschieben nicht nur das letzte Verbindungssegment an, sondern versucht den Linienzug insgesamt sinnvoll zu führen. Da diese Funktion jedoch keine Rücksicht auf die Überschneidung mit anderen Elementen nimmt, erweist sich das rudimentäre Autorouting als nicht besonders hilfreich.

Abbildung 2: Einfaches Autorouting: Die Form der Verbindungslinien in 1 bis 3 regelt Dia sinnvoll, wenn der Anwender das untere Logikgatter verschiebt. Überschneidungen wie in 4 erkennt die Software jedoch nicht.

Abbildung 2: Einfaches Autorouting: Die Form der Verbindungslinien in 1 bis 3 regelt Dia sinnvoll, wenn der Anwender das untere Logikgatter verschiebt. Überschneidungen wie in 4 erkennt die Software jedoch nicht.

Farbe und Form

Um Elemente hervorzuheben, stellt der Benutzer Hintergrund oder Linienfarbe ein. Für die Farbwahl stehen ein interaktiver Farbwähler mit Farbrad oder eine vordefinierte Palette zur Verfügung. Der Anwender kann außerdem RGB- oder Farbton-Sättigungs- und Helligkeitswerte eingeben. Dia beherrscht verschiedene Typen gestrichelter Linien. Die Länge der Strichsegmente lässt sich einstellen. Besonders wichtig für Verlaufsdiagramme sind die 34 vorhandenen Pfeilspitzen, deren Größe der Benutzer ebenfalls anpassen kann.

Für einen professionellen Look eines Diagramms ist es entscheidend, dass die Elemente aneinander ausgerichtet sind. Hier unterstützt Dia mit der Funktion »Einrasten am Gitter«, die das Anordnen und Skalieren von Objekten auf diskrete Werte mit einstellbarer Schrittweite begrenzt. »Snap to Object« versieht die Elemente mit magnetischer Anziehungskraft, sodass die Kanten bündig einrasten. »Objekte Anordnen« richtet die oberen, untereren, linken oder rechten Objektkanten aus oder zentriert die Objekte. »Horizontal verteilen« und »Vertikal verteilen« sorgen für gleiche Abstände zwischen den gewählten Elementen, »Angrenzend« ordnet sie unmittelbar nebeneinander an.

Wie gute Zeichenprogramme auch gruppiert Dia Objekte, sodass sie der Benutzer gemeinsam verschiebt oder anpasst. Ebenen erleichtern die Auswahl bei komplexen Diagrammen. Die Funktionen zur Auswahl von Elementen sind sehr leistungsfähig: [Shift]+[Strg]+[T] wählt alle direkt am aktiven Objekt hängenden Unterelemente. Jeder erneute Druck der Tastenkombination fügt eine weitere Ebene der Objekthierarchie hinzu. [Strg] +[T] wählt alle direkt oder indirekt verknüpften Objekte. Die Auswahl über ein Auswahlrechteck fügt entweder weitere Objekte hinzu oder entfernt diese je nach Einstellung.

Verbindung zur Außenwelt

Dia exportiert Diagramme in viele Bitmap-Formate: als SVG, EPS, Xfig-, DXF- und HPGL-Datei sowie als Metapost-, Pstrick- und PFG-Makros für Tex. Bei der unkomfortablen Druckfunktion muss der Anwender das Druckergerät per Hand eingeben. Der Dia-Quellcode enthält eine Einbindung der Gnome-Druckfunktion, die allerdings nach Angaben der Entwickler gegenwärtig nicht funktioniert. Wenn sie manche Distributionen wie Red Hat dennoch einkompilieren, bleibt dem Anwender nur die Möglichkeit, in eine PS-Datei zu drucken und diese per Hand an den Drucker zu verschicken.

Alles in allem präsentiert sich Dia als Allzweck-Diagrammwerkzeug, das einige Wünsche offen lässt: So wäre es hilfreich, wenn der Benutzer ausgewählte Objekte mit den Cursortasten schrittweise verschieben dürfte, wie dies bei Zeichenprogrammen Standard ist. Auch eine leistungsfähigere Autorouting-Funktion, die eine Überschneidung von Objektverbindungen und Objekten verhindert, wäre wünschenwert, wenn auch aufwändig in der Umsetzung. Der große Leistungsumfang von Dia sorgt andererseits allerdings für eine lange Einarbeitungszeit.

Kivio

Kivio [3], Teil der KOffice-Bürosuite, basiert auf demselben Prinzip wie Dia: Die Software verknüpft vordefinierte Formtemplates mit Verbindungslinien oder -pfeilen, die auch beim Verschieben mit ihren Ursprungsobjekten verbunden bleiben (Abbildung 3). Anders als Dia kennt Kivio keine Freiformobjekte, der Benutzer kann sich lediglich bei vordefinierten Schablonen bedienen. Auch bei den Verbindungslinien fällt der Funktionsumfang bescheidener aus. Kivio kennt nur gerade Verbindungen aus einem oder mehreren Segmenten.

Abbildung 3: Kivio, der Flussdiagramm-Editor der KOffice-Suite, liefert viele Formtemplates mit und besitzt eine übersichtliche Arbeitsfläche mit angedockten Unterfenstern.

Abbildung 3: Kivio, der Flussdiagramm-Editor der KOffice-Suite, liefert viele Formtemplates mit und besitzt eine übersichtliche Arbeitsfläche mit angedockten Unterfenstern.

Wie bei Dia lassen sich Strichstärke und -farbe einstellen, Pfeilspitzen und gestrichelte Linien sind ebenfalls möglich, der Abstand der Stichsegmente lässt sich jedoch nicht einstellen. Die Füllfarbe aller Formelemente kann der Benutzer anpassen. Als Plus bietet die KOffice-Komponente Schraffurfüllungen, die sich gut für Thermokopierer eignen.

Ein klares Plus verbucht Kivio bei der Auswahl mitgelieferter Formen: Die Anwendung enthält mehr Templates, die Auswahl deckt einen weiten Themenkreis ab, der ebenso Symbole aus der formalen Logik umfasst wie oft benötigte Piktogramme aus der Netzwerktechnik. Kivio importiert auch Dia-Formvorlagen. Teile der Xfig-Bildgalerie stehen unter [4] für den Import in Kivio bereit.

Wie in Dia dockt der Anwender Verbindungslinien zwischen Diagrammelemente an festgelegten Punkten an. Zwar gibt es bei einigen Formen auch Andockpunkte in der Mitte. Aber wenn der Anwender diese nutzt, zeichnet Kivio die Verbindungslinie bis zum Objektmittelpunkt weiter. Gefüllte Formen überdecken die Linie, sodass sich auf den ersten Blick wie in Dia der Effekt ergibt, dass die Verbindungslinie beim Verschieben stets von der richtigen Seite des Elements ausgeht.

Dies funktioniert jedoch nicht bei pfeilförmigen Verknüpfungen. Hier liegt entweder die Pfeilspitze in der Mitte des Diagrammelements oder dessen Füllung überdeckt sie. In der Praxis bleibt nichts anderes übrig, als die Verbindungslinie nach dem Verschieben auf die andere Seite des Diagramms neu anzuknüpfen.

Interaktiv

Beim Platzieren der Elemente auf der Seite punktet Kivio durch interaktive Hilfslinien. Die Software blendet sie dann ein, wenn sich das aktive Objekt beim Verschieben einer zentrierten, rechts- oder linksbündigen Position nähert (Abbildung 4). Die interaktiven Hilfslinien übernehmen die Funktion des Ausrichten-Werkzeugs in Dia. Der Vorteil ist, dass der Anwender sie nicht über einen Menüpunkt aktivieren muss. Feste Hilfslinien lassen sich wie bei vielen anderen Programmen aus den Bildschirmlinealen herausziehen.

Abbildung 4: Mit interaktiven Hilfslinien (grün), die die Software passend zur nächstliegenden Einrastposition benachbarter Elemente anzeigt, richtet der Benutzer Objekte schnell und intuitiv aus.

Abbildung 4: Mit interaktiven Hilfslinien (grün), die die Software passend zur nächstliegenden Einrastposition benachbarter Elemente anzeigt, richtet der Benutzer Objekte schnell und intuitiv aus.

Ein Verteilen-Werkzeug, das die Abstände von ausgewählten Diagrammelementen angleicht, gibt es in der KDE-Software nicht. Dafür kann der Benutzer die Position eines Objekts in die »Geometrie«-Palette am rechten Fensterrand eingeben, sodass eine gleichmäßige Verteilung nur etwas Kopfrechnen voraussetzt. Auch die Objektgröße lässt sich dort als Zahlenwert eingeben. Ganzzahlige Objektproportionen realisiert der Anwender damit leicht. Ein großer Vorteil gegenüber Dia ist, dass sich Objekte wie von Zeichen- und Textverarbeitungsprogrammen gewohnt mit den Cursortasten schrittweise verschieben lassen.

Wie das Vorbild Dia kennt Kivio Ebenen, um bei großen Diagrammen die Objektauswahl zu erleichtern. Leistungsfähige Auswahlfunktionen (Auswahl aller oder nur der direkt verbundenen Elemente) fehlen allerdings, was das Bearbeiten großer Projekte sehr erschwert. Dafür lassen sich Breite, Höhe oder deren Verhältnis sowie die Position in x- oder y-Richtung und das Löschen einzelner Elemente sperren.

Kivio exportiert in die meisten gängigen Bitmap-Formate und ins EPS- und SVG-Format. Hinzu kommen die Dateiformate der plattformübergreifenden Open-Office-Suite: Windows-Metafile sowie die Dateiformate des Open-Office-Zeichenprogramms und des Bitmap-Editors. Kivio-Diagramme lassen sich außerdem ohne den Umweg über eine externe Datei in den Rahmen eines Open-Office-Dokuments einbinden. Wer die im Hauptfenster an- und abdockbaren Unterfenster von Profi-Grafikprogrammen oder der Eclipse-IDE gewohnt ist, wird sich über den ähnliche gestalteten Arbeitsbereich in Kivio freuen.

Ditaa

Wie die beiden bereits vorgestellten Anwendungen erzeugt auch Ditaa [5] Flussdiagramme. Das Kommandozeilentool arbeitet aber nach einem völlig anderen Prinzip: Das in Java geschriebene Programm wandelt Ascii-Art in Bitmaps, Postscript-Dateien, PDFs oder HTML-Seiten mit eingebetteten Grafiken um. Obwohl Ditaa auf den ersten Blick wie eine Spielerei wirkt, liefert es ansehnliche Ergebnisse (Abbildung 5).

Abbildung 5: Pfeile, farbige und schattierte Textkästen mit auf Wunsch abgerundeten Ecken: Ditaa hat die Ascii-Art optisch ordentlich aufgemöbelt.

Abbildung 5: Pfeile, farbige und schattierte Textkästen mit auf Wunsch abgerundeten Ecken: Ditaa hat die Ascii-Art optisch ordentlich aufgemöbelt.

Zwar sind mit der Software bei weitem nicht alle Diagramme realisierbar, wie sie in umfangreichen Programmen üblich sind. Doch einfache Flussdiagramme mit Kästchen, die mit Pfeilen verbunden sind, entstehen über eine Textdatei schnell und intuitiv (Listing 1). Die Syntax lehnt sich an verbreitete Ascii-Art-Konventionen an und ist wesentlich einfacher zu erlernen als beispielsweise die DOT-Sprache der ebenfalls sprachgesteuerten Graphviz-Software [6], wenn auch im Leistungsumfang nicht vergleichbar.

Listing 1: Ascii-Art-Input
für Ditaa

01            +---------------------------+
02            :{s}                        |
03            |        Gliederung         |
04            +-+-----------------------+-+
05              |                       |
06            /-/                       -
07            |                           |
08            v                           v
09     /------+------+             /------+------+
10     |c1DD         |             |c5FF         |
11     |  Formu-     |             |  Formu-     |
12     |  lierung 1  |             |  lierung 2  |
13     +------+------/             +------+------/
14            |                           |
15            ------------*--------------/
16                         |
17                         v
18                +-----------------+
19                |cYEL Layout      |
20                |        +--------|
21                |        |Endcheck|
22                --------+--------/

Vertraute Sprache

Folgende Sprachelemente reichen für einfache Flussgrafen, die durch die hinterlegten Schatten dennoch professionell wirken: Kästen bestehen aus Pipe-Zeichen, Bindestrichen und Pluszeichen an den Ecken. Verwendet der Benutzer an den Ecken Schrägstriche und Backslashes, zeichnet die Software diese abgerundet. Wie Abbildung 5 zeigt, sind auch unterteilte Kästchen möglich.

Verbindungslinien entstehen genau wie Kästchen. Für Pfeilspitzen sorgen je nach Richtung »^«, »v«, »<« oder »>«. Gleichheitszeichen in horizontalen Linien und Doppelpunkte in vertikalen sorgen dafür, dass diese im Rendering gestrichelt erscheinen. »*«-Zeichen setzt Ditaa als Punktmarkierung um. Viele gewöhnliche Ascii-Art-Diagramme dürfte die Software also korrekt rendern.

Für Effekte wie Farben und für Kästchen in der Form eines Dokuments, Storage-Symbole sowie Ein- und Ausgabegeräte erweitert Ditaa die Ascii-Art-Konventionen: Farben stellt der Anwender über den Code »c« gefolgt von einem dreistelligen hexadezimalen RGB-Zahlenwert oder durch Farbtemplates wie »cRED«, »cGRE« und »cYEL« ein. Die wichtigsten Symbole aus dem IT-Bereich erzeugt die Anwendung, wenn der Benutzer die Zeichenfolgen »{d}« (Dokument), »{s}« oder »{io}« (Ein-/Ausgabe) in einen Kasten schreibt. Ein » o « mit einem Leerzeichen davor und dahinter setzt Ditaa in Textblöcken als Aufzählungspunkt um. Unter [5] erläutert der Autor die Bedienung seines Programms.

Außer der Umsetzung bestehender Ascii-Arts und dem intuitiven Erzeugen kleiner Flussdiagramme gibt es eine weitere interessante Anwendung: Mit der Kommandozeilenoption »–html« aufgerufen, durchsucht Ditaa HTML-Dateien nach »<pre class=”textdiagram”></pre>«-Blöcken. Die zurückgegebene HTML-Seite enthält an ihrer Stelle »<img>«-Tags, die die gerenderten Diagramme einbinden. So eignet sich Ditaa auch dafür, optisch ansprechende Diagramme für dynamische Webseiten on the fly zu erzeugen. Unter Umständen ist es leichter, den-Ascii-Art-Input per Skript zu generieren, als Grafiken-Bibliotheken wie GD direkt anzusprechen.

Fazit

Dia ist die leistungsfähigste Anwendung im Test. Könnte der Anwender Objekte noch mit den Cursortasten verschieben und gäbe es Hilfslinien, blieben wenige Wünsche offen. Die kleinen Mankos erschweren die Bedienung aber spürbar. Die KOffice-Komponente Kivio gibt sich mit den im Hauptfenster angedockten Paletten moderner und übersichtlicher, erreicht jedoch insgesamt den Leistungsumfang des Klassikers nicht. Der User muss öfter die Verbindungslinien neu andocken. Für Kivio sprechen die einfache Einbindung der Diagramme in Open-Office-Dokumente und die interaktiven Hilfslinien, mit denen Elemente schnell und intuitiv auszurichten sind.

Ditaa, das Ascii-Art in Bitmaps oder Postscript-Dateien rendert, mag manchem wie eine Spielerei erscheinen. Liegen aber Diagramme, zum Beispiel in E-Mails oder Readme-Dateien, als Ascii-Art vor, kann es sich als sehr praktisch erweisen. Das gilt auch für kleine Flussdiagramme, für die der Benutzer nicht die Bedienung eines umfangreichen Programms erlernen möchte.

Infos

[1] Dia: [http://www.gnome.org/projects/dia]

[2] Neue Shapes für Dia: [http://www.gnome.org/projects/dia/custom-shapes]

[3] Kvio-Handbuch: [http://docs.kde.org/stable/de/koffice/kivio]

[4] Kivio-Formvorlagen: [http://sourceforge.net/projects/xfig2sml]

[5] Ditaa: [http://ditaa.sourceforge.net]

[6] Graphviz: [http://graphviz.org]

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben