Grin logo
de en es fr
Boutique
GRIN Website
Publier des textes, profitez du service complet
Aller à la page d’accueil de la boutique › Informatique - L'informatique technique

Datenvisualisierung Softwarequalität auf iOS-Geräten

Titre: Datenvisualisierung Softwarequalität auf iOS-Geräten

Thèse de Master , 2017 , 89 Pages , Note: 1,3

Autor:in: Master of Engineering Fabian Schaffner (Auteur)

Informatique - L'informatique technique
Extrait & Résumé des informations   Lire l'ebook
Résumé Extrait Résumé des informations

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.

Extrait


Inhaltsverzeichnis

1 Einleitung

1.1 Voraussetzungen

1.2 Motivation

1.3 Problemstellung

2 Theoretische Grundlagen

2.1 Softwaremetriken

2.1.1 C und C++

2.1.2 Designmetriken

2.1.3 HIS-Metriken

2.1.4 Java

2.1.5 Weitere Metriken

2.2 Tableau

2.2.1 Tableau REST API

2.2.2 Tableau Vizportal API

2.2.3 Tableau JavaScript API

2.3 Eingesetzte Programmiersprachen

2.3.1 JavaScript

2.3.2 Swift

2.4 Softwarearchitektur Theorie

2.4.1 Model View Controller

2.4.2 Target-Action

2.4.3 Delegation

2.4.4 Reaktive Programmierung

2.5 Eingesetzte Frameworks

2.5.1 WebKit

2.5.2 JavaScriptCore

2.5.3 RxSwift

3 Anforderungen an das System

3.1 Zielbestimmungen

3.2 Produkteinsatz

3.3 Produktfunktionen

3.3.1 An- und Abmelden

3.3.2 Speichern von Daten

3.3.3 Einstellungen

3.3.4 Teilen von Inhalten

3.4 Produktdaten

3.5 Produktleistungen

3.6 Qualitätsanforderungen

3.7 Ergänzungen

3.7.1 Realisierung

3.7.2 Authentifizierung

3.7.3 Portierbarkeit

4 Softwarearchitektur Umsetzung

4.1 Klassendiagramm

4.2 Implementierung: Model View Controller

4.2.1 Model

4.2.2 View

4.2.3 Controller

4.3 Target-Action

4.4 Delegation

4.5 Navigation

4.6 Reaktive Programmierung mittels Rx

5 Entwicklung der iOS Applikation

5.1 Authentifizierung

5.1.1 Überprüfung der Session

5.1.2 Verschlüsselung mittels RSA PKCS1

5.1.3 Anmeldung

5.1.4 Implementierung Authentifizierung in Swift

5.2 Optimierung Dashboard zur mobilen Darstellung

5.3 Einbindung Dashboards

5.3.1 Einbindung Tableau HTML

5.3.2 Einbindung iOS Applikation

5.4 Implementierung Tableau JavaScript API

5.4.1 Kommunikation

5.4.2 Initialisierung

5.4.3 Filterfunktionen

5.4.4 Funktionen zum Setzen von Parametern

5.4.5 Eventhandler

5.4.6 Hilfsfunktionen

5.5 User Interface

5.6 Features

5.6.1 Speichern von Sessions

5.6.2 Teilen von Dashboards

5.6.3 3D Touch Support

5.6.4 Schnellnavigationsleiste

6 Schlussbetrachtung

6.1 Zusammenfassung

6.2 Fazit

6.3 Ausblick

Zielsetzung & Themen

Die Masterarbeit befasst sich mit der Entwicklung einer nativen iOS-Applikation, die darauf abzielt, bereits bestehende Softwarequalitäts-Dashboards, welche unter der Bezeichnung "SW-Quality" auf einem Tableau-Server veröffentlicht wurden, für die mobile Nutzung zu optimieren und das User Interface durch ein natives System zu ersetzen.

  • Entwicklung einer nativen mobilen Applikation für iOS.
  • Integration und Optimierung von Tableau-Dashboards für Endgeräte mit kleinen Displays.
  • Implementierung einer sicheren Authentifizierung und Interaktionslogik mittels Tableau JavaScript API.
  • Nutzung von Entwurfsmustern (MVC, Delegation, Target-Action) und reaktiver Programmierung (RxSwift).

Auszug aus dem Buch

2.4.4 Reaktive Programmierung

Das Konzept der reaktiven Programmierung ist nicht neu, aber seine Kernkonzepte haben in den letzten zehn Jahren ein spürbares Comeback erlebt. In diesem Zeitraum haben sich Web-Anwendungen und mobile Applikationen immer weiter verbreitet. Die Verwaltung komplexer asynchroner Benutzeroberflächen und die Vielzahl an Sensorik in Smartphones haben sie zu einer Notwendigkeit gemacht, während auf Serverseite reaktive Programmierungskonzepte schon länger verbreitet sind.

Im Jahr 2009 wurde ein Team von Microsoft damit beauftragt, ein neues client- und serverseitiges Framework zu entwickeln. Es wurde bekannt unter dem Namen "Reactive Extension für .NET (Rx)". Es handelte sich um ein installierbares Add-On für .NET 3.5 und wurde später eine integrierte Kernbibliothek für .NET 4.0. Seit 2012 ist der Quelltext öffentlich und kann von Dritten eingesehen, geändert und genutzt werden. Dies hat dazu geführt, dass Rx auch auf anderen Plattformen implementiert wurde und zu einem Cross-Plattform-Standard geworden ist. Diese sind unter den Namen RxJS, RxKotlin, Rx.NET, RxScala und RxSwift bekannt. Alle Bibliotheken sind bestrebt, das gleiche Verhalten des ursprünglichen Frameworks zu implementieren (vgl. [FP17]). Sie sind zentral über http://reactivex.io mit einer ausführlichen Dokumentation verfügbar.

Die Basis von Rx ist die Generierung von Eventsequenzen. Diese können erzeugt, kombiniert und beobachtet werden. Daneben enthält es Ansätze der funktionalen Programmierung, um Probleme deklarativ zu lösen. Hierdurch wird Code-Isolation, Wiederverwendbarkeit und lose Kopplung erreicht. Weiterhin kann Nebenläufigkeit über Scheduler verwaltet werden.

Rx vereinfacht in seiner Essenz die Entwicklung von asynchronen Programmen, indem es ihrem Code erlaubt, auf neue Daten zu reagieren und sie in sequentieller, isolierter Weise zu verarbeiten. Es basiert auf den drei Konzepten Observables, Operators und Scheduler.

Zusammenfassung der Kapitel

1 Einleitung: Beschreibt das Ziel der Arbeit, Dashboards für Softwarequalität auf iOS-Geräten zu visualisieren und die Problemstellung der mobilen Optimierung.

2 Theoretische Grundlagen: Erläutert die theoretischen Basis-Technologien, inklusive Softwaremetriken, Schnittstellen von Tableau, Programmiersprachen (JavaScript, Swift) und Softwarearchitektur-Konzepte.

3 Anforderungen an das System: Legt das Lastenheft und die spezifischen Produktfunktionen fest, die für die Applikation "Software Metrics" umgesetzt werden sollen.

4 Softwarearchitektur Umsetzung: Beschreibt die technische Realisierung der Applikation mittels MVC, Delegation, Target-Action und die Interaktion zwischen Swift- und JavaScript-Kontext.

5 Entwicklung der iOS Applikation: Detailierte Darstellung des Entwicklungsprozesses, inklusive Authentifizierung, Einbindung der Dashboards, Interface-Design und der Implementierung spezifischer Features.

6 Schlussbetrachtung: Zusammenfassung der erreichten Ergebnisse, ein kritisches Fazit zur verwendeten Technologie und ein Ausblick auf zukünftige Erweiterungsmöglichkeiten.

Schlüsselwörter

Softwarequalität, iOS, Tableau, Dashboards, Mobile Applikation, Datenvisualisierung, Softwaremetriken, Swift, JavaScript, MVC, Reaktive Programmierung, RxSwift, Architektur, Mobile Entwicklung, UI-Design

Häufig gestellte Fragen

Worum geht es in der Arbeit grundsätzlich?

Die Arbeit beschäftigt sich mit der Entwicklung einer nativen iOS-Applikation zur Visualisierung von Softwarequalitäts-Metriken, die auf Tableau-Dashboards basieren.

Was sind die zentralen Themenfelder?

Zentrale Themen sind die mobile Datenvisualisierung, die Integration von Tableau-Technologien in native iOS-Apps, Softwaremetriken sowie moderne Softwarearchitektur-Konzepte.

Was ist das primäre Ziel der Forschungsarbeit?

Das Ziel ist die Optimierung bestehender Tableau-Dashboards für kleine mobile Displays und deren Einbindung in eine native iOS-App unter Beibehaltung der vollen Funktionalität.

Welche wissenschaftliche Methode wird verwendet?

Die Arbeit nutzt Methoden des Requirements Engineering für die Anforderungsanalyse und folgt einem systematischen softwarearchitektonischen Ansatz (MVC) zur Implementierung.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil konzentriert sich auf die Softwarearchitektur der Applikation, die Authentifizierung am Server sowie die Implementierung der Tableau JavaScript API zur Interaktion mit den Dashboards.

Welche Schlüsselwörter charakterisieren die Arbeit?

Schlüsselwörter sind Softwarequalität, iOS, Tableau, Datenvisualisierung, MVC und reaktive Programmierung (RxSwift).

Warum wurde die "Vizportal API" mittels Reverse Engineering erschlossen?

Da für die offizielle Authentifizierung an Tableau-Servern keine programmatische Schnittstelle für native Apps dokumentiert ist, wurde durch Reverse Engineering eine Lösung gefunden, um den Login-Prozess nativ abzubilden.

Welche Rolle spielt reaktive Programmierung in der Applikation?

Reaktive Programmierung mit RxSwift wird vor allem für den Anmeldeprozess und zur Handhabung komplexer asynchroner Netzwerkoperationen eingesetzt, um Code-Isolation und lose Kopplung zu erreichen.

Warum werden Structs statt Classes für Datenmodelle bevorzugt?

Structs werden genutzt, da sie beim Übergeben kopiert werden, was in mobilen Anwendungen mit hoher Nebenläufigkeit die Datensicherheit und -konsistenz erhöht.

Fin de l'extrait de 89 pages  - haut de page

Résumé des informations

Titre
Datenvisualisierung Softwarequalität auf iOS-Geräten
Université
University of Applied Sciences - Beuth
Note
1,3
Auteur
Master of Engineering Fabian Schaffner (Auteur)
Année de publication
2017
Pages
89
N° de catalogue
V383532
ISBN (ebook)
9783668592438
ISBN (Livre)
9783668592445
Langue
allemand
mots-clé
iOS Swift JavaScript Tableau Softwarequalität Softwaremetriken
Sécurité des produits
GRIN Publishing GmbH
Citation du texte
Master of Engineering Fabian Schaffner (Auteur), 2017, Datenvisualisierung Softwarequalität auf iOS-Geräten, Munich, GRIN Verlag, https://www.grin.com/document/383532
Lire l'ebook
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
Extrait de  89  pages
Grin logo
  • Grin.com
  • Expédition
  • Contact
  • Prot. des données
  • CGV
  • Imprint