Der Schwerpunkt dieser Arbeit liegt auf der Konzeption sowie prototypischen Implementierung eines web-basierten Dashboards zur Softwarevisualisierung. Ziel der Arbeit ist es, ein Dashboard zu entwickeln, welches Informationen eines Softwareprojekts dynamisch aus einer Graphdatenbank visualisiert und Projekteitern aufgabenbezogen zur Entscheidungsunterstützung darstellt. Derzeit existiert keine Softwarelösung, die diesen Anforderungen vollumfänglich gerecht wird. Es existieren jedoch bereits Bibliotheken und Softwaresysteme, welche Teilaspekte zu einer möglichen Gesamtlösung beitragen können. Diese können bei der prototypischen Implementierung von Nutzen sein und müssen daher beachtet werden. Um die Ziele der Arbeit zu erreichen, werden verschiedene Forschungsmethoden angewandt. Es wird eine Literaturrecherche durchgeführt, mit dem Ziel, typische Aufgaben von Projektleitern im Bereich Software Engineering zu identifizieren. Um die vom Dashboard zu unterstützenden Aufgaben ableiten zu können, werden außerdem verschiedene existierende Dashboard-Werkzeuge analysiert. Mithilfe der gewonnenen Ergebnisse wird das Dashboard konzipiert und prototypisch implementiert. Durch eine Fallstudie anhand von Open-Source-Projekten wird das Dashboard abschließend evaluiert.:1 Einleitung
1.1 Motivation und Problemstellung
1.2 Zielstellung
1.3 Methodisches Vorgehen
2 Grundlagen
2.1 Softwarevisualisierung
2.2 jQAssistant
2.3 Neo4j
2.4 Webanwendungen und web-basierte Frameworks
2.5 D3.js
2.6 Dashboards
3 Konzeption
3.1 Mission Statement
3.2 Architekturziele
3.3 Kontextabgrenzung
3.3.1 Fachlicher Kontext
3.3.1.1 Literaturrecherche zu typischen Aufgaben von Projektleitern
3.3.1.2 Analyse existierender Dashboard-Werkzeuge
3.3.1.3 Use-Case-Diagramm der zu unterstützenden Aufgaben
3.3.1.4 Mockups der Benutzungsschnittstelle
3.3.2 Technischer Kontext
3.4 Randbedingungen
3.4.1 Technische Randbedingungen
3.4.2 Organisatorische Randbedingungen
3.5 Risiken und technische Schulden
3.6 Entwurfsentscheidungen
3.6.1 Auswahl des Neo4j-Treibers
3.6.2 Vergleich existierender Webframeworks
3.6.2.1 Angular
3.6.2.2 Backbone.js
3.6.2.3 Ember.js
3.6.2.4 Vue.js
3.6.2.5 React
3.7 Lösungsstrategie
4 Implementierung
4.1 Implementierungskomponenten
4.1.1 CoreUI
4.1.2 Nivo
4.2 Dashboard
4.2.1 Startseite
4.2.2 Einstellungen
4.2.3 Benutzerdefinierte Abfragen
4.2.4 Visualisierungskomponenten
4.2.4.1 Struktur
4.2.4.2 Dateitypen
4.2.4.3 Abhängigkeiten
4.2.4.4 Aktivitäten
4.2.4.5 Wissensverteilung
4.2.4.6 Hotspots
4.2.4.7 Statische Quellcodeanalyse
4.2.4.8 Testabdeckung
4.2.4.9 Erstellung
4.3 Eingesetzte Werkzeuge
4.3.1 Entwicklung und Test
4.3.1.1 Jest
4.3.1.2 Codecov
4.3.1.3 Travis CI
4.3.1.4 Prettier
4.3.1.5 Docker
4.3.2 Installation und Wartung
5 Evaluation
6 Fazit und Ausblick
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:32382 |
Date | 06 December 2018 |
Creators | Mewes, Tino |
Contributors | Universität Leipzig |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | German |
Detected Language | German |
Type | info:eu-repo/semantics/publishedVersion, doc-type:masterThesis, info:eu-repo/semantics/masterThesis, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0283 seconds