Masterarbeit, 2014
81 Seiten, Note: 1
1 Einleitung
2 Qualität von Software
2.1 Was ist „Qualität“?
2.2 Metriken
2.3 Regeln
2.4 Software-Qualität
3 Statische Code-Analyse
3.1 Syntax-Analyse
3.2 Semantik-Analyse
3.3 Grafiken
4 Software Benchmarking
4.1 Vorgehen
4.2 Benchmark-Verteilung
4.3 Visualisierung - Das Boxplot
5 SonarQube
5.1 Funktionsweise
6 SBench
6.1 Konzept
6.2 Umsetzung
6.3 Anwendung
6.4 Erfahrungen
7 Zusammenfassung
8 Ausblick
Das zentrale Ziel dieser Arbeit ist die Entwicklung eines Plug-Ins für die Open-Source-Software SonarQube, welches es Benutzern ermöglicht, die eigene Software durch Benchmarking zu bewerten. Die Forschungsfrage fokussiert sich darauf, wie Softwarequalität messbar gemacht, durch statische Code-Analyse evaluiert und mittels Benchmark-Verfahren in einen vergleichbaren Kontext mit Referenzprojekten gesetzt werden kann.
4.3 Visualisierung - Das Boxplot
Es gibt unzählige Möglichkeiten zur Visualisierung in der Statistik. Für die Darstellung von Quartillen eignet sich jedoch eines, nach der Meinung des Autors, am besten. Das Boxplot Diagramm zeigt auf einfache Art und Weise die einzelnen Quartillen und erlaubt es einzelne Werte übersichtlich einzuzeichnen. Eigentlich perfekt geeignet für die Anforderungen an das SBench Plug-In und an die damit verbundene Anzeige. Was die einzelnen Quartillen genau bedeuten und wie sie berechnet werden, wurde schon in Abschnitt 4.1 näher beschrieben und ist nicht mehr Teil dieses Abschnitts.
Ein Boxplot ist eine annotierte Zeichnung bestehend aus einem großen Quadrat und mehreren weiteren Linien (Pyzdek, 2003) (Henze, 2013). Es wird dafür verwendet die einzelnen Quartillen, Q25, Q50 und Q75 aufzuzeigen (Pyzdek, 2003) (Henze, 2013). Darüber hinaus beinhaltet es die Darstellung des Maximums und des Minimums (Pyzdek, 2003) (Henze, 2013). Beim Boxplot gibt es unterschiedliche Ausführungen, so wäre es bei manchen auch noch möglich Punkte hervorzuheben, welche das Diagramm um eine gewisse Länge, wie zum Beispiel das 3-fache von Q75, übersteigen (Pyzdek, 2003) (Henze, 2013). Da dieser Boxplot später im Plug-In nur maximal einen Ausreißer haben wird, nämlich das zu analysierende Projekt, wird auf eine solche Darstellung jedoch verzichtet. Abbildung 7 zeigt den Aufbau und die Annotation eines Boxplot. Man sieht in der Mitte das Quadrat, welches durch Q25 und Q75 jeweils begrenzt wird. Demnach liegen 25% der Werte jeweils unterhalb und oberhalb der Box und 50% sind in der Box zu finden. Irgendwo innerhalb dieses Quadrats findet sich außerdem eine Linie welche Q50, also den Median, bezeichnet. Außerhalb dieses Quadrats führt jeweils eine Linie bis zum Minimum und zum Maximum.
1 Einleitung: Diese Einleitung führt in die Bedeutung von Softwarequalität ein und erläutert das Ziel der Entwicklung eines Benchmarking-Plug-Ins für SonarQube.
2 Qualität von Software: Dieses Kapitel erörtert verschiedene Ansätze zur Definition von Softwarequalität und stellt relevante Metriken, Regeln sowie Qualitätsmerkmale vor.
3 Statische Code-Analyse: Hier wird die Methode der statischen Code-Analyse als Grundlage für die Datenermittlung, unterteilt in Syntax- und Semantik-Analyse, detailliert beschrieben.
4 Software Benchmarking: Das Kapitel erläutert das Vorgehen beim Benchmarking, die Berechnung von Benchmark-Verteilungen und die Visualisierung mittels Boxplots.
5 SonarQube: Es wird ein Überblick über die Plattform SonarQube und deren grundlegende Funktionsweise gegeben.
6 SBench: Dieses Hauptkapitel dokumentiert das Konzept, die Umsetzung, die praktische Anwendung sowie die gewonnenen Erfahrungen bei der Entwicklung des SBench Plug-Ins.
7 Zusammenfassung: Dieses Kapitel fasst die wesentlichen Erkenntnisse der Arbeit zusammen.
8 Ausblick: Hier werden Möglichkeiten für zukünftige Weiterentwicklungen und Optimierungen des Plug-Ins aufgezeigt.
Softwarequalität, SonarQube, Benchmarking, Statische Code-Analyse, SBench, Metriken, Qualitätsmerkmale, Quartillen, Boxplot, Plugin, Software-Entwicklung, Qualitätssicherung, Regelverletzungen, Benchmark-Verteilung, Software-Benchmark
Die Arbeit befasst sich mit der Entwicklung eines Plug-Ins namens SBench für die Plattform SonarQube, um Softwareprojekte mittels Benchmarking hinsichtlich ihrer Qualität vergleichbar zu machen.
Die Arbeit verknüpft die Bereiche Softwarequalitätsmanagement, statische Code-Analyse und Benchmarking-Verfahren im IT-Umfeld.
Das primäre Ziel ist es, eine Lücke in SonarQube zu schließen, indem ein Werkzeug geschaffen wird, das nicht nur Fehler erkennt, sondern die Softwarequalität im Vergleich zu Referenzprojekten bewertbar macht.
Es wird eine regelbasierte Benchmarking-Methode angewandt, die auf den Ergebnissen einer statischen Code-Analyse basiert und Quartillberechnungen zur Einordnung der Projektdaten nutzt.
Der Hauptteil umfasst die theoretischen Grundlagen zu Softwarequalität, die Analyse von Code, die Benchmarking-Modelle sowie die detaillierte Konzeptualisierung und Umsetzung des Plug-Ins SBench.
Die Arbeit ist maßgeblich durch Begriffe wie Softwarequalität, Benchmarking, SBench, Quartillen, Boxplot und SonarQube geprägt.
Referenzprojekte können über eine spezielle Konfigurationsseite hinzugefügt oder entfernt werden, wobei auch die Kennzeichnung als „Buddy-Projekte“ für einen direkten Vergleich möglich ist.
Das Boxplot eignet sich ideal, um auf einfache Weise Quartillen sowie Ausreißer darzustellen, was dem Benutzer eine schnelle und übersichtliche Einordnung der Projektqualität ermöglicht.
Technische Schuld beschreibt den Aufwand, der entsteht, wenn Entwickler „schnell und schmutzig“ programmieren, anstatt optimale Lösungen zu wählen; dies wird von SonarQube als Metrik erfasst.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

