Crystal DataFlow Crystal DataFlow 

Crystal DataFlow

EASYCODE erweitert sein Angebot an Tools für effiziente Embedded Software Entwicklung mit dem Crystal C/C++ Toolset von SVG SARC. Crystal C/C++ wird in den Versionen Crystal FLOW und Crystal REVS mit wählbarem Funktionsumfang angeboten. Je nach Anforderung und Umgebung kann Crystal C/C++ eine wertvolle Ergänzung, oder Alternative für Ihre bestehende IDE sein.

Neu: Crystal C/C++ Data Flow Edition

Die Modularität moderner Softwareprojekte mit ihren ungezählten Funktionsaufrufen stellt in Reviews zuweilen eine nicht zu unterschätzende Aufgabe dar. Eben mal schnell eine Änderung oder Erweiterung einfügen, ohne gewissenhafte Gegenprüfung aller Verwendungsorte führt meist recht schnell zu Problemen.
Crystal Data Flow stellt für die wirksame Analyse von Funktionen und Aufrufsequenzen zwei neue Diagrammarten zur Verfügung.
Datenflussdiagramme sind eine dem Flowchart ähnliche Darstellungsform für Datenobjekte. Sie beinhalten alle Anweisungen in denen ein Objekt benutzt oder geändert wird und einige Kontrollstrukturen wie if-else Entscheidungen, Schleifen und Switches.

Nebenstehend sehen sie ein einfaches Beispiel in dem auch eine dokumentierte Verzeigung (a1 / a2) enthalten ist. Dazu wird im Diagramm eine Legende ausgegeben. Weiter unten sehen Sie den auslösenden Switch im Aufrufdiagramm.

Als besonderes Highlight erkennt DataFlow zuverlässig, wenn ein Objekt als Argument übergeben wurde und in der aufgerufenen Funktion mit anderem Namen verwendet wird.

Ein einfaches Anklicken eines Symbols im Diagramm zeigt die entsprechende Stelle im Quellcode an. Eine ausführliche Typdefinition wird als Pop-Up angezeigt, wenn man das Symbol in der linken Hälfte anklickt.

Das Diagramm kann als Grafikdatei exportiert oder direkt gedruckt werden. Ein direkter Export nach Microsoft Visio ist ebenfalls möglich.

Benefit: Um eine Funktion sicher zu ändern suchen Sie alle Referenzen im Projekt und gehen die Suchergebnisse Zeile für Zeile im Quellcode durch. Im Datenflussdiagramm haben Sie alle Informationen in einem Diagramm verfügbar. Verwendungsart, Kontrollstruktur und Code Coverage inklusive.

Funktionsaufrufdiagramme visualisieren perfekt die Aufrufsequenz von Funktionen. Besonders wertvoll werden sie, wenn durch Preprozessor Anweisungen oder if Entscheidungen verschiedene Aufrufpfade durchlaufen werden.

Der obige Screenshot zeigt den Switch aus dem Datenflussdiagramm, mit einfachen if-else Entscheidungen und Funktionsaufrufen, die noch weiter extrahiert werden können.
Oftmals hat man in Projekten durch viele Funktionsaufrufe eine starke Fragmentierung, was in der Analyse viel Zeit und Papier verschlingt. Crystal Data Flow gibt schon in der ersten Ansicht einen genauen Überblick über die Beziehungen und Abhängigkeiten der Funktion. Jeder Graph der einen Funktionsaufruf enthält kann weiter extrahiert werden. Aufrufdiagramme können über einzelne Funktionen oder über das gesamte Projekt erstellt werden, wobei die erste Ansicht auf Funktionsebene extrahiert wird.

Benefit: Mit einem Aufrufdiagramm haben sie ein perfektes Hilfsmittel, wenn Sie ein Code-Review machen, einen Softwarefehler debuggen oder sich einfach nur möglichst schnell in die Logik eines Legacy Programms einarbeiten möchten. Das Diagramm stellt die Aufrufe direkt in der Kontrollstruktur dar, unterstützt mit Code-Coverage und liefert die Typdefinition am Mauszeiger. Sie schließen jede Analyse in der halben Zeit ab.

Nicht zuletzt: Durch die grafische Darstellung der Funktionsaufrufe erkennt man auch Fehler im Design leichter und hat damit für die Weiterentwicklung eine wertvolle Hilfestellung, den Code besser zu machen.

Testen Sie Crystal Data Flow, wann immer Sie eine passende Anforderung haben. Sie werden begeistert sein. Wir empfehlen Crystal REVS Professional Pro zu testen damit Sie alle Möglichkeiten kennen lernen. Wenn Sie die eine oder andere Funktion dann doch nicht nutzen können, finden wir leicht die passende Lösung für Sie.

EASYCODE GmbH, Löwenberger Str. 50, 90475 Nürnberg | Tel: +49 (0)911 / 99 840 60 | Fax: +49 (0)911 / 99 840 97 | info(at)easycode.de 

Impressum | Datenschutzerklärung