-
Werkzeuge zur Erhaltung der Softwarearchitektur – SonarQube – Teil 12
SonarQube Bei SonarQube handelt es sich um ein Serverprodukt, das eine sehr gute Übersicht für den manuellen Prozess bietet. Auch wird der zeitliche Verlauf von Regelverletzungen in einer Datenbank gespeichert, so dass die Historie gut zu verfolgen ist. Sonar benötigt mindestens einen eigenen Server, der über Plugins erweitert wird und die Daten in einem DBMS…
-
Werkzeuge zur Erhaltung der Softwarearchitektur – FindBugs – Teil 11
FindBugs Der dritte im Bunde der „magischen drei“ ist FindBugs. FindBugs hat eine fantastische Fehlererkennung. Wir hatten intern bereits öfter Diskussionen zu den angezeigten Meldungen und mussten im Allgemeinen am Ende immer die Meldungen von FindBugs bestätigen. Im Gegensatz zu den anderen Tools analysiert FindBugs den Byte-Code. Besonderheiten Integration Ein (einfacher) SVN Pre-Commit Hook Einsatz…
-
Werkzeuge zur Erhaltung der Softwarearchitektur – PMD / DRY – Teil 10
PMD Das Werkzeug PMD analysiert den Quellcode. Nach Angaben der Entwickler ist PMD kein Akronym. Besonders hervorzuheben sind folgende Analysepunkte Für den Bereich Kommentare und Dokumentation ist PMD nicht geeignet (vergl. Checkstyle). Integration False/Positive False/Positives können auf folgende Weisen markiert werden Regelerweiterung Es werden verschiedene Regelpakete / Module bereitgestellt. Des Weiteren sind eigene Erweiterungen möglich,…
-
Werkzeuge zur Erhaltung der Softwarearchitektur – Checkstyle – Teil 9
Checkstyle In diesem und den kommenden Posts stelle ich die „magischen drei“ im Bereich der statischen Code-Analyse vor. Ohne diese Werkzeuge mit geeigneten Regelwerken sollte keine Entwicklungsarbeit mehr erfolgen. Sie sind die Basis für die dauerhafte Einhaltung der Architekturvorgaben und ebenso die Basis für die Vermeidung technischer Schulden. Die einzelnen Werkzeuge kann man inhaltlich nicht…
-
Werkzeuge zur Erhaltung der Softwarearchitektur – JUnit / Selenium / JaCoCo – Teil 8
JUnit / Selenium / JaCoCo Die zweite Werkzeuggruppe zur Erhaltung der Code-Qualität und Architektur sind Tests. Ich nenne hier nur einige Plugins, die wir primär einsetzen. Es gibt aber noch viele, viele andere. Die Verwendung von Tests stellt die Zielerreichung sicher. Es wird mit dem Test ein Sollverhalten definiert und die entsprechende Umsetzung geprüft. Somit…
-
Werkzeuge zur Erhaltung der Softwarearchitektur – Task Scanner / Open Tasks – Teil 7
Task Scanner / Open Tasks Viele von uns erstellen jeden Tag – häufig automatisiert – technische Schulden und kennzeichnen diese sogar bewusst. Gemeint sind hier die vielen Code-Stellen mit „TODO“ oder „FIXME“. Dies sind klassische Punkte, die nicht fertig gestellt wurden und damit in die technischen Schulden fallen. Grundsätzlich sollte sichergestellt werden, dass solche Einträge…
-
Werkzeuge zur Erhaltung der Softwarearchitektur – Werkzeugintegration und -konfiguration – Teil 6
Werkzeugintegration Die Tools zur Vermeidung technischer Schulden können auf verschiedenen Ebenen in die Entwicklung eingebunden werden. Entwicklungsumgebung In der Entwicklungsumgebung erhalten wir bei der täglichen Arbeit direkt Feedback zu Problemen. Beim Speichern und automatischen Kompilieren der Dateien werden Marker erstellt, die Probleme im Quellcode kennzeichnen. Durch dieses direkte Feedback können wir bei der Entwicklung umgehend…
-
Werkzeuge zur Erhaltung der Softwarearchitektur – Team / Software / Automatisierungsprobleme – Teil 5
Dies ist der letzte Post, bevor ich zu den eigentlich Werkzeugen für die Vermeidung technischer Schulden komme. Er behandelt verschiedene Rahmenbedingungen für die Vermeidung technischer Schulden. QS im Team Egal ob wir innerhalb eines Scrum-Teams entwickeln oder ein Softwarearchitekt für die Organisation zuständig ist: Qualitätssicherung ist immer eine Aufgabe des gesamten Teams. TEAM bedeutet also…
-
Werkzeuge zur Erhaltung der Softwarearchitektur – Maßnahmen / QS – Teil 4
Im letzten Post haben wir definiert, welche Messwerte wir bezüglich der technischen Schulden erreichen wollen. Dieser Post beschäftigt sich mit den Maßnahmen für deren Umsetzung. Die grundlegenden Aussagen meiner Posts gelten allgemein für die Softwareentwicklung. Die Beispiele beziehen sich hier auf ein Entwicklung auf Basis von JAVA. Reduzierung der Komplexität Es sollen wenige Zyklen und…
-
Werkzeuge zur Erhaltung der Softwarearchitektur – Messen und Prozesse / QS – Teil 3
Ziel dieser Serie von Posts, ist es darzustellen, wie technische Schulden erkannt werden können. Nach der Erkennung kann man sich häufig an Mustern orientieren, um die Schulden abzubauen. Einige Werkzeuge geben uns Entwicklern auch direkt Lösungen an die Hand. Aber auch bei der Erkennung von technischen Schulden gilt „You get what you measure“ – wie…