Graph-basierte Software-Analyse mit jQAssistant

Artikel als PDF herunterladen:
Download Graph-basierte Software-Analyse mit jQAssistant

Qualitätssicherung in der Software-Entwicklung ist seit Jahren ein Thema, mit dem es problemlos möglich ist, Zeitschriften, Bücher und Konferenzen inhaltlich zu füllen. Die Ansatzpunkte sind äußerst vielfältig – sie reichen von der Prozessorganisation über Teststrategien, technische Infrastrukturen bis hin zu vermeintlich trivialen Dingen wie der Formatierung des Quellcodes. In diesem Artikel möchte ich einen Aspekt beleuchten, der sich auf der Ebene statischer Code-Analysen abspielt: die Festlegung und Überwachung projektspezifischer Architektur- und Design-Regeln.

 

Verfallene Strukturen

Verfallene Strukturen

weiterlesen

Java Forum Stuttgart 2014 – Eine kleine Nachlese

Der Besucher einer Konferenz wird immer wieder auf’s Neue mit der gleichen Herausforderung konfrontiert: Welche Vorträge möchte ich besuchen, anhand welcher Kriterien wähle ich sie aus? Suche ich nach neuen Technologien und Ansätzen, verbunden mit der leisen Hoffnung, dass ich sie in absehbarer Zeit in meinem Arbeitsumfeld anwenden kann? Oder widme ich mich eher mir bereits bekannten Themen und lasse mich in meinen Einstellungen bestätigen oder widerlegen?

Java Forum Stuttgart

Es ist gut, wenn eine Veranstaltung die Möglichkeit bietet, beide Ansprüche zu befriedigen und darüber hinaus den Rahmen dafür schafft, mit alten oder neuen Bekannten ins Gespräch zu kommen – und das war trotz oder vielleicht auch wegen des vermeldeten Besucherrekords beim Java Forum Stuttgart 2014 wieder einmal der Fall.


weiterlesen

Android™ im Unternehmenseinsatz

Artikel als PDF herunterladen:
Download Android™ im Unternehmenseinsatz

Im Privaten ist die Nutzung eines mobilen Gerätes mittlerweile alltäglich geworden. Langsam zeichnet sich der Trend auch im Unternehmensumfeld ab, wobei jedoch auch hier größtenteils private Geräte verwendet werden, um z.B. Firmen E-Mails oder Kundenkontakte zu lesen. In einigen Fällen empfiehlt es sich, Mitarbeiter mit firmeneigenen Geräten auszustatten. Dafür ist es erforderlich diese auch entsprechend zu administrieren.

weiterlesen

Buchrezension: Gradle – Ein kompakter Einstieg in modernes Build-Management

Cover: Gradle – Ein kompakter Einstieg in modernes Build-Management

Joachim Baumann
Gradle
Ein kompakter Einstieg in modernes Build-Management

dpunkt.verlag
260 Seiten
€ 32,90
ISBN 978-3-86490-049-5

Das auf einer Groovy-DSL aufsetzende Build-System Gradle vereint laut Aussage des Herstellers die Flexibilität von Ant mit dem Abhängigkeitsmanagement und den Konventionen von Maven. Obwohl es sich als weiterer Evolutionsschritt beider “alter” Build-Systeme versteht, möchte es doch nicht in Konkurrenz dazu gesehen werden. Verstärkte Aufmerksamkeit hat das relativ junge Gradle (Version 1.0 wurde im Sommer 2012 veröffentlicht, aktuell gibt es Version 1.10) erhalten, als Google es im Frühjahr 2013 auf der Google I/O zu dem neuen Build-System für sein mobiles Betriebssystem Android gekürt hat.

weiterlesen

buschmais Trainingswoche

jQAssistantWebreportsAlle aktuellen Projekte für eine Woche geparkt, im buschmais Büro werden Tische und Stühle zusammengerückt, Getränke in den Kühlschrank und los gehts: Trainingswoche@buschmais. Abseits vom Alltagsgeschäft stehen nun neue Technologien und Konzepte im Mittelpunkt. Thema diesmal: “Grafische Visualisierung für HTML mit JavaScript” – wir bauen ein Webfrontend für jQAssistant.

Die Anforderungen waren schnell formuliert: In Zukunft soll jQAssistant dem Nutzer die Möglichkeit bieten, sich individuelle Metriken als Abfragen zu definieren und die Ergebnisse in Form einer TreeMap im Browser darzustellen.

Für unsere Realisierung haben es zwei Frameworks in die engere Wahl geschafft: Das JavaScript InfoVis Toolkit, kurz JIT, und das Data-Driven Dokuments Framework, kurz D3.js. Beides sind weit verbreitete JavaScript-Bibliotheken zur Visualisierung von konkreten Daten. Um zu ergründen, was hinter den markig daherkommenden Projektwebseiten steckt, arbeiteten wir in Teams, so dass wir beide Frameworks parallel integrieren und testen konnten. Die Entscheidung für D3.js und gegen JIT fiel erst am letzten Tag. Bis dahin hatten wir beide Frameworks als gleichwertig betrachtet, mit ein paar Stärken in einem und auch Schwächen in dem anderen Framework. Der letztendliche Entscheidungsfaktor war dann jedoch die “Unbestimmtheit der Datenmenge” die der Nutzer den Frameworks zukommen lassen kann. Hier stießen wir aufgrund der rekursiven Implementierung der Render-Funktion auf Probleme im JIT. Diese Rekursion brachte ab einer Datenmenge von ca. 5000 Datensätzen den Browser dazu, die Verarbeitung abzubrechen.

Die Kommunikation des Browsers mit dem jQAssistent-, oder genauer gesagt dem Neo4J-Server, überlassen wir einem weiteren, weit verbreiteten JavaScript-Framework: AngularJS. Auch wenn die Einarbeitung in das Framework und der Umgang mit diesem anfangs recht schwierig, wenn nicht sogar müßig erschien (stellenweise fragten wir uns: “Warum eigentlich AngularJS und nicht pures JavaScript?”), hat es am Ende doch seine Stärken gezeigt. Mal abgesehen von der sauberen Trennung zwischen Model, View und Controller – was uns eine gute Parallelisierung der Arbeit ermöglichte – sind auch die gut abstrahierten AJAX-Calls ein großer Gewinn gewesen.

Als Resümee der Trainingswoche können wir sagen: Es hat Spaß gemacht! Wir haben mal wieder einen Blick über den Tellerrand geworfen und jQAssistant darf sich in Zukunft mit dem neuen Webfrontend schmücken. Wir sind schon gespannt welche Themen beim nächsten mal auf der Tagesordnung stehen.

 1 2 3 4 5 6 ... 14 15 16 Vor