In der vorliegenden Masterarbeit wird die Entwicklung einer Applikation zur Darstellung von Softwarequalität auf Smartphones für das mobile Betriebssystem iOS beschrieben. Grundlage hierfür bildet eine Anwendung, die aus dem Quelltext von Softwareprojekten Metriken in Bezug auf Qualitätsmerkmale extrahiert. Die Daten wurden zur Visualisierung mit Hilfe der Anwendung Tableau aufbereitet und optisch ansprechend gestaltet.
Die hiermit erstellten Dashboards, die in Konzernen üblicherweise zum Reporting einge- setzt werden, können auf einem Server in Form von interaktiven Oberflächen auf Basis von HTML, CSS und JavaScript publiziert werden. Diese Dashboards werden in eine mobile Applikation eingebunden und mit einer nativen Benutzerschnittstelle versehen. Folgende Kernprobleme wurden hierbei gelöst:
• Authentifizierung auf einem beliebigen mittels Tableau konfigurierten Server,
• Einbindung der Dashboards,
• Optimierung der Darstellung für Geräte mit kleinen Displays,
• Implementierung von Interaktionen mit Hilfe der Tableau JavaScript API.
Im theoretischen Teil werden die Grundlagen der eingesetzten Entwurfsmuster sowie Programmiersprachen vorgestellt und im Hinblick auf ihren jeweiligen Einsatzzweck erläutert. Anschließend wird detaillierter auf reaktive Programmierung und das dahinterliegende Konzept eingegangen. Den Abschluss des theoretischen Teils bildet dabei die Einführung in die Entwicklung von iOS Applikationen.
Der Hauptteil erläutert zuna ̈chst die Lösung der oben genannten Kernprobleme. Darauf aufbauend wird die Entwicklung der Applikation ”Software Metrics“ detaillierter mit Bezug auf die im theoretischen Teil erläuterten Designkonzepte beschrieben.
Abschließend wird das Ergebnis dieser Arbeit kritisch im Hinblick auf Portierbarkeit betrachtet und ein Ausblick auf Erweiterungsmöglichkeiten gegeben.
Inhaltsverzeichnis
- Einleitung
- Voraussetzungen
- Motivation
- Problemstellung
- Theoretische Grundlagen
- Softwaremetriken
- C und C++
- Designmetriken
- HIS-Metriken
- Java
- Weitere Metriken
- Tableau
- Tableau REST API
- Tableau Vizportal API
- Tableau JavaScript API
- Eingesetzte Programmiersprachen
- JavaScript
- Swift
- Softwarearchitektur Theorie
- Model View Controller
- Target-Action
- Delegation
- Reaktive Programmierung
- Eingesetzte Frameworks
- WebKit
- JavaScriptCore
- RxSwift
- Anforderungen an das System
- Zielbestimmungen
- Produkteinsatz
- Produktfunktionen
- An- und Abmelden
- Speichern von Daten
- Einstellungen
- Teilen von Inhalten
- Produktdaten
- Produktleistungen
- Qualitätsanforderungen
- Ergänzungen
- Realisierung
- Authentifizierung
- Portierbarkeit
- Softwarearchitektur Umsetzung
- Klassendiagramm
- Implementierung: Model View Controller
- Model
- View
- Controller
- Target-Action
- Delegation
- Navigation
- Reaktive Programmierung mittels Rx
- Entwicklung der iOS Applikation
- Authentifizierung
- Überprüfung der Session
- Verschlüsselung mittels RSA PKCS1
- Anmeldung
- Implementierung Authentifizierung in Swift
- Optimierung Dashboard zur mobilen Darstellung
- Einbindung Dashboards
- Einbindung Tableau HTML
- Einbindung iOS Applikation
- Implementierung Tableau JavaScript API
- Kommunikation
- Initialisierung
- Filterfunktionen
- Funktionen zum Setzen von Parametern
- Eventhandler
- User Interface
- Features
- Hilfsfunktionen
- Speichern von Sessions
- Teilen von Dashboards
- 3D Touch Support
- Schnellnavigationsleiste
Zielsetzung und Themenschwerpunkte
Die Masterarbeit befasst sich mit der Entwicklung einer iOS-Applikation, die Softwarequalität auf Smartphones visualisiert. Die App basiert auf einem Tool, das Softwaremetriken aus Quelltexten extrahiert und mit Tableau visualisiert. Das Ziel ist die Bereitstellung von interaktiven Dashboards, die auf einem Server veröffentlicht und in die mobile Applikation integriert werden können.
- Entwicklung einer iOS-Applikation zur Visualisierung von Softwarequalität
- Integration von Tableau-Dashboards in die mobile Applikation
- Optimierung der Darstellung für Geräte mit kleinen Displays
- Implementierung von Interaktionen mit Hilfe der Tableau JavaScript API
- Einsatz von Entwurfsmustern und Programmiersprachen für die Entwicklung der Applikation
Zusammenfassung der Kapitel
- Einleitung: Die Einleitung stellt die Voraussetzungen, die Motivation und die Problemstellung der Masterarbeit dar.
- Theoretische Grundlagen: Dieses Kapitel erläutert die Grundlagen der Softwaremetriken, Tableau und der eingesetzten Programmiersprachen.
- Anforderungen an das System: Dieses Kapitel beschreibt die Zielbestimmungen, den Produkteinsatz, die Produktfunktionen und die Qualitätsanforderungen.
- Softwarearchitektur Umsetzung: Dieses Kapitel erläutert die Umsetzung der Softwarearchitektur der Applikation.
- Entwicklung der iOS Applikation: Dieses Kapitel behandelt die Entwicklung der iOS Applikation, inklusive Authentifizierung, Optimierung des Dashboards, Einbindung von Tableau und der Implementierung der Tableau JavaScript API.
Schlüsselwörter
Softwarequalität, Datenvisualisierung, iOS, Tableau, JavaScript, Swift, Entwurfsmuster, Model View Controller, Reaktive Programmierung, Mobile Applikation, Softwaremetriken, Dashboards.
- Quote paper
- Master of Engineering Fabian Schaffner (Author), 2017, Datenvisualisierung Softwarequalität auf iOS-Geräten, Munich, GRIN Verlag, https://www.grin.com/document/383532