• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Sonar - Software Qualitätsmanagement ohne Schmerzen
 

Sonar - Software Qualitätsmanagement ohne Schmerzen

on

  • 5,120 views

Eine kleine Präsentation über Sonar im Rahmen eines openForce Java Abends.

Eine kleine Präsentation über Sonar im Rahmen eines openForce Java Abends.

Statistics

Views

Total Views
5,120
Views on SlideShare
5,116
Embed Views
4

Actions

Likes
2
Downloads
0
Comments
1

2 Embeds 4

http://static.slidesharecdn.com 3
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • ALM
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Sonar - Software Qualitätsmanagement ohne Schmerzen Sonar - Software Qualitätsmanagement ohne Schmerzen Presentation Transcript

    • Sonar Code Qualität ohne Schmerzen Java Abend, 24. Juni 2010 Gerhard Hipfinger
    • Was ist Sonar?
      • Ein Tool zum verwalten und visualisieren von Qualitätsmetriken in Software Projekten
      • Web basierte Visualisierung der Metriken
      • Maven Plugin zum Sammeln der Daten
      • Eine Menge Plugins für die Integration in weitere Entwicklungstools
      • http://www.sonarsource.org/
      • Wegweisende Usability – Minimierung der Klicks zur Information ist fast perfekt!
    • Alles neu, oder?
      • Sonar erfindet das Rad nicht neu, sondern integriert
        • Findbugs, Checkstyle, PMD, CPD,...
        • Unit Testing inkl. Code Coverage
        • und vieles mehr
      • Vollständig in Maven integriert
        • Sonar Plugin sendet Ergebnisse an den Server
        • Qualitätsprofil vom Server beinhaltet Analyse Konfiguration
        • Man kann den Build brechen lassen bei schlechten Metriken
    • Arbeitsweise
    • Die ersten Schritte
      • Download der Software
      • Starten
      • Maven Build ausführen
      • mvn clean install sonar:sonar
      • Ergebnis ansehen
      • http://localhost:9000/
    • Perfect Match - CI
      • Integration Sonar in ein CI System ist eine perfekte Ergänzung
      • Bamboo, Hudson, CruiseControl, Team City
      • Integration in den Nightly Build
      • Continous Build ist sinnlos, da zeitliche Auflösung = 1 Tag
      • Aktuelle Ergebnisse liegen somit jeden Morgen aktuell vor
      • Auch historische Daten können eingespielt werden!
    • Plugin High Lights
      • Quality Index – Ein Wert für die Gesamtqualität
      • JIRA – Anzahl der Tickets zum Zeitpunkt eines Testlaufs
      • Technical Debt – Berechnet fiktive Kosten zum Beheben von Qualitätsproblemen
      • Integration anderer Programmiersprachen
        • Cobol, Flex/ActionScript, PHP, PL/SQL, VB 6
        • .Net -> C#
      • Build Stability – CI Ergebnisse
      • PDF Report
    • Plugin High Lights
    • Was wollen uns die Zahlen sagen?
      • LCOM4
        • Lack of Cohesion
        • Zu viele unabhängige Methoden in einer Klasse
        • Je größer desto Schlechter -> Redesign
    • Was wollen uns die Zahlen sagen?
      • RFC
        • Response for a Class
        • Anzahl der Methodenaufrufe beim Aufrufen einer Methode
        • RFC = M + R
          • M: # Methoden einer Klasse
          • R: # Methodenaufrufe in der Klasse
        • Je höher desto Schlechter
        • ab etwa 50 sollte man Refactoring betreiben
    • Referenz der Metriken
      • http://docs.codehaus.org/display/SONAR/Metric+definitions
      • Google hilft beim Verständnis
    • Zentrale Konfiguration
      • Findbugs, PMD und Checkstyle können die Konfiguration über Sonar holen
        • Damit ist die Maven Site konsistent
        • Beispiel Checkstyle
      <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.4</version> <configuration> <configLocation> http://sonar.server/sonar/rules_configuration/export/java/web/checkstyle.xml </configLocation> </configuration> </plugin>
    • Aus dem Projektalltag
      • Build Zeit steigt je nach Plugins stark an
      • Die Datenbank sollte großzügig dimensioniert werden
        • etwa 1.000 -> 350 KB
        • 6 Millionen LOC erfordern etwa 2GB DB Storage
      • Laufende Sonar Builds bringen wenig
      • Installation und Betrieb sind bisher problemlos
    • Roadmap
      • Verbesserung der Plugin Schnittstelle (Vereinfachung für Plugin Entwickler)
      • Integration von Architektur Prüfungen
      • Laufende Verbesserung des IDE Supports (Eclipse, IntelliJ, Netbeans)
      • Verbesserung der Usability des Dashboards
      • Laufend entstehen neue interessante Plugins
      • auch schon einige kommerzielle Plugins verfügbar
    • DEMO
    • Danke an Andreas Hochsteger für seine Hilfe bei der Ausarbeitung Gerhard Hipfinger openForce Information Technology GesmbH Dresdner Str. 108 / 3. Stock / Top 11 1200 Wien TEL +43 1 3191775 FAX +43 1 3191775-20 www.openforce.com