Refine
Document Type
- Bachelor Thesis (5)
- Book (1)
- Part of a Book (1)
- Conference Proceeding (1)
- Master's Thesis (1)
- Article (unreviewed) (1)
Conference Type
- Konferenzartikel (1)
Language
- German (10) (remove)
Keywords
- Software (10) (remove)
Institute
Open Access
- Closed (4)
- Closed Access (3)
- Open Access (1)
Das Softwareunternehmen HRworks implementiert eine Personalverwaltungssoftware unter Verwendung der Programmiersprache Smalltalk und des Model-View-Controller (MVC) Musters. Innerhalb des Unternehmens erfordert jede Model-Klasse des Patterns das Vorhandensein einer korrespondierenden Controllerklasse. Controller verfügen über ein wiederkehrendes Grundgerüst, das bei jeder neuen Implementierung umgesetzt werden muss. Die Unterscheidungen innerhalb dieses Grundgerüsts ergeben sich lediglich aus dem Namen und der spezifischen Struktur der korrespondierenden Model-Klasse. Die vorliegende Arbeit adressiert die Herausforderung der automatischen Generierung dieses Controllergrundgerüsts, wobei die Besonderheiten jeder Model-Klasse berücksichtigt wird. Dies wird durch den gezielten Einsatz von Metaprogrammierung in der Programmiersprache Smalltalk realisiert und durch eine Benutzeroberfläche in der Entwicklungsumgebung unterstützt. Zusätzlich wird der Controller um eine Datentypprüfung erweitert, wofür ein spezialisierter Parser implementiert wurde. Dieser extrahiert aus einem definierten Getter der Model-Klasse den entsprechenden Datentyp des Attributes. Im Ergebnis liefert die Arbeit eine Methodik zur automatisierten Generierung und Anpassung von Controllergrundgerüsten sowie dazugehörigen Teststrukturen basierend auf der jeweiligen Model-Klasse. Zusätzlich wird die Funktionalität der Controller durch eine integrierte Datentypprüfung erweitert.
Im Rahmen dieser Abschlussarbeit wurde ein automatisertes Test-Framework für eine Datenanalyse-Software namens MARS entwickelt. Der Zweck der Entwicklung dieses Frameworks ist es, die von der Software, zurückgegebenen Ergebnisse zu testen und zu vergleichen. In Zukunft soll dieses Framework verwendet werden, um den Start von Tests bei jeder neuen Version von MARS zu automatisieren.
Darüber hinaus ist dieses Framework in zwei Versionen erhältlich. Die erste ist eine grafische Version, um bestimmte Tests gezielt auszuführen und zu evaluieren. Die zweite Version ist eine Kommandozeilenversion, die es ermöglicht, schnell mehrere Tests zu generieren. Diese Version kann bspw. von einem Jenkins-Server aus gestartet werden.
Das Test-Framework wurde mit der Programmiersprache Python erstellt und mit dem Qt-Framework grafisch unterstützt. Die Vielzahl an Modulen und die große Anzahl an Nutzern machen Python zu einer beliebten Sprache für diese Art von Anwendungen. Die hohe Modularität von Qt für Python und die einfache Handhabung machen es zu einem reichhaltigen Werkzeug für die Erstellung von grafischen Benutzeroberflächen.
Mit zunehmender Komplexität von Softwaresystemen wird es immer schwieriger Performance Auswirkungen durch Änderungen an der Software zu erkennen. Meist werden Performance-Probleme zu spät erkannt und die Ursachensuche stellt dann eine große Hearusforderung dar, da es viele Einflussfaktoren gibt und oft nicht bekannt ist, wie lange das Problem schon besteht. Hier setzt das kontinuierliche Performance Monitoring an, denn damit wird die Performance fortlaufend zu jeder Softwareversion gemessen und der Verlauf der Performance über die Zeit erfasst.
In dieser Arbeit wird ein Konzept zu diesem Monitoring entwickelt. Konkret wird dabei die Performance eines 2D Laserscanners untersucht, der mit der Zynq Ultrascale+ MPSoc Plattform realisiert wurde. Eine wichtige Komponente des Systems stellt das verwendetete Embedded Realtime Linux dar. Deshalb wird dessen Performance, anhand definierter Parameter aus der Literatur, gemessen. Dafür werden vorhandene Tools zum Auslesen dieser Parameter untersucht und schließlich eingesetzt, um diese auf dem System zu erfassen. Eine weitere wichtige Performancekenngröße stellen die Durchlaufzeiten von Daten durch das System dar. Diese Laufzeiten werden an bestimmten Punkten im C++ Programmcode gemessen und anschließend mit einer Python Anwendung ausgewertet.
Für jede neue Softwareversion wird automatisch eine Messung der Linux Performance, sowie der Durchlaufzeiten durchgeführt. Die dabei gewonnenen Daten werden mit einem Datei basierten Ansatz in Artifactory abgelegt, aus welchen schlussendlich Auswertungen, in Form von HTML Dateien, erstellt werden. Diese enthalten verschiedene Visualisierungen der Messergebnisse einer Messung, sowie den Verlauf der Durchschnittswerte je Softwareversion. Das Ausführen der Messungen auf dem Gerät, sowie die Auswertung der Messergebnisse führt ein dafür entwickeltes Python Programm aus.
Diese Arbeit beschäftigt sich mit der Einführung von Digital Asset Management Systemen in einem Unternehmen. Ein Digital Asset Management dient der Verwaltung von digitalen Dateien von besonderer Bedeutung, sogenannte digitale Assets. Meist handelt es sich dabei um Bilder, aber auch Videos, Textdokumente und viele andere Dateitypen können in einem solchen System verwaltet werden. Unternehmen verfolgen dabei in der Regel das Ziel, einen zentralen Speicherort für alle relevanten Assets zu schaffen, um von dort aus die Verteilung steuern und die Dateien aktuell halten zu können. Systeme dieser Art werden beispielsweise in Marketingabteilungen eingesetzt, um Markeninhalte zentral verwalten und verteilen zu können. Die Einführung eines solchen Systems erfordert aufgrund der damit verbundenen Komplexität ein strukturiertes Vorgehen. Hierzu wird in dieser Arbeit ein mehr phasiges Vorgehen vorgeschlagen, das zu einer erfolgreichen Einführung eines Digital Asset Management Systems führt. Darüber hinaus werden auf Basis dieses Phasenansatzes Erfolgsfaktoren identifiziert und vorgestellt, auf die bei der Einführung besonders zu achten ist. Die Fallstudie einer tatsächlichen Einführung aus der Praxis beleuchtet die theoretisch erarbeiteten Erkenntnisse nochmals aus praktischer Sicht und erlaubt Rückschlüsse auf das vorgestellte theoretische Vorgehen.
Softwareverträge
(2016)
Durch den digitalen Wandel, sowie durch die an Benutzerfreundlichkeit und Leistung zunehmenden technischen Geräte im Endbenutzer-Bereich beginnt die Bedeutung von Augmented-Reality Applikationen zu wachsen. Daher ist das Ziel dieser Arbeit die Entwicklung einer Engine auf iOS Basis, zur Dastellung von Augmented-Reality Inhalten. Die Engine wurde nach dem Vorbild von Komponenten-basierten Game Engines entworfen, da diese beinahe identische Anforderungen besitzen. Die, im Rahmen dieser Arbeit erstellte Engine wurde mit Unterstützung der 5d lab Gmb entwickelt. Durch die Verwendung des, nach Erfahrungswerten, schnellsten Mobile Augmented Reality SDK und einer gelungenen Engine-Architektur konnte ein Produkt entwickelt werden, dass mit bestehenden Applikationen konkurrenzfähig ist.