D. Software
Refine
Document Type
- Master's Thesis (15) (remove)
Language
- German (15)
Has Fulltext
- yes (15)
Keywords
- Cloud Computing (2)
- Neuronale Netze (2)
- Neuronales Netz (2)
- Technische Hochschule Köln (2)
- Agile Softwareentwicklung (1)
- Automatische Spracherkennung (1)
- Backend-Driven UI (1)
- Blended Learning (1)
- Blended Space (1)
- Captcha (1)
Die Digitalisierung hat Auswirkung auf die Entwicklung von Produkten. Die Teams werden agiler, die Kunden haben als Eigentümer eines Produktes Mitspracherecht und bestimmen gemeinsamen mit den Entwicklern, welche Features als Nächstes aus dem vordefinierten Backlog in dem nächsten Sprint als Inkrement eingebaut und ausgeliefert werden. Durch die enge Zusammenarbeit werden die Release-Zyklen eines Produktes kürzer und es werden mehr Features als in der Vergangenheit bei nicht agilen Methoden deployt. Durch die kurzen Release-Zyklen werden viele unterschiedlichen Versionen ausgerollt. Dies hat zur Folge, dass Fehler, die vorher durch das Testen nicht entdeckt worden sind, auf einer produktiven Umgebung ausgerollt werden. Hat der Fehler eine starke Auswirkung auf die Benutzung der Anwendung, dann besteht die Möglichkeit, die Änderung manuell durchzuführen. Diese muss beim nächsten Release eingebaut werden. Wenn die Release-Zyklen länger werden, birgt es die Gefahr, dass viele manuelle Änderungen in der Zeit entstehen. Der ausgerollte Zustand entspricht nach einer bestimmten Zeit nicht mehr dem eingecheckten Zustand im Git-Repository. An der Stelle bietet der GitOps-Ansatz eine mögliche Abhilfe, um den ausgerollten Ist-Zustand durch regelmäßiges Pullen so nah wie möglich an dem im Repository eingecheckten Soll-Zustand zu halten.
CAPTCHAs (Completely Automated Public Turing test to tell Computers and Humans Apart), auch HIPs (Human Interaction Proof) genannt, sind weit verbreitete Sicherheitsmaßnahmen im World Wide Web, die Online-Dienste vor dem Missbrauch durch automatisierte Programme schützen sollen. Dazu werden die Benutzer aufge-fordert, eine Aufgabe zu lösen, welche von Computern nicht gelöst werden kann, wie beispielsweise das Entziffern von verkrümmten Buchstaben. Durch die immer weiter verbesserten Fähigkeiten der Computerprogramme auf diesen Gebieten, wird es für die Entwickler der HIPs immer anspruchsvoller eine ausreichende Sicherheit zu garantieren. Daraus resultiert ein Zielkonflikt zwischen der Sicherheit und Gebrauchstauglichkeit der HIPs. Da die Sicherheit garantiert werden muss, leidet die Gebrauchstauglichkeit und die Benutzer sind oftmals nicht in der Lage das HIP zu lösen. Dies führte bereits in der Vergangenheit zu einer Abneigung gegenüber diesen Systemen.
In dieser Arbeit wurde überprüft ob diese Abneigung durch die Verwendung von Gamifizierung, also Spielelementen, in einem neu entwickelten HIP verringert werden kann. Zusätzlich sollte geprüft werden, ob anstelle der Tastatur die Sensoren mobiler Endgeräte als Eingabe-medium dienen können.
Dazu wurde durch eine Analyse von durchgeführten Angriffen auf bestehende HIPs sowie Studien zur Gebrauchs-tauglichkeit derselben ein Rahmenwerk erstellt. Dieses Rahmenwerk definiert Anforderungen, die ein sicheres und zugleich benutzerfreundliches HIP erfüllen muss. Anhand dieser Anforderungen wurde ein neues spielbasiertes HIP in Form eines Kugellabyrinths auf Basis von JavaScript und HTML5 implementiert. Der Benutzer muss durch die Neigung des Geräts eine Kugel steuern und diese innerhalb der vorge-gebenen Zeit in das Loch lenken. Die Gebrauchstauglichkeit dieses HIPs konnte durch eine Onlineumfrage bestätigt werden. Dies gilt jedoch nicht für die Sicherheit, welche durch den lesbaren Quellcode stark beeinträchtigt wird. Für diese Schwach-stelle konnte eine Lösung in Form einer Browsererweiterung durch eine Public-Key-Signatur konzipiert werden. Durch diese Erweiterung könnte auf den Einsatz von HIPs in vielen Bereichen verzichtet und andere Webanwendungen sicherer gestaltet werden.
Aufgrund ihrer aktuellen Bedeutung im Zusammenhang des Internet of Things werden in der vorliegenden Arbeit Time Series Databases und Event Stores miteinander vergli-chen. Ziel ist, die Gemeinsamkeiten und Unterschiede der beiden Arten von Datenbank Management Systemen herauszustellen.
Der erste, theoretische Teil des Vergleichs erfolgt anhand der funktionalen Kriterien Speichersystem, Performance und Funktionen sowie der nicht-funktionalen Kriterien Usability und Support. Im zweiten Teil des Vergleichs wird anhand eines konkreten An-wendungsfalls untersucht, ob sich Time Series Databases und Event Stores gleicher-maßen für die Speicherung und in einem zweiten Schritt für die Abfrage von Zeitreihen-daten eignen.
Zumal der theoretische Vergleich Unterschiede zwischen einzelnen Time Series Data-bases und Event Stores in Bezug auf die betrachteten Kriterien erkennen lässt, wird für den praktischen Vergleich unter Berücksichtigung der im konkreten Anwendungsfall gegebenen Anforderungen nur die am besten geeignetste Time Series Database (In-fluxDB) und der am besten geeignetste Event Store (Event Store) ausgewählt. Der prak-tische Vergleich zeigt, dass die Zeitreihendaten im konkreten Anwendungsfall zwar in beiden Arten von Datenbank Management Systemen gespeichert werden können, die Nutzung der auf Zeitreihendaten spezialisierten Time Series Database InfluxDB jedoch offensichtliche Vorteile gegenüber dem Event Store aufweist.
Untersuchung des Potentials Neuronaler Netze für Regelungsprozesse am Beispiel eines Betonverteilers
(2018)
Ziel der Arbeit ist die Entwicklung eines Ansatzes zur Nutzung Neuronaler Netze für die Steuerung eines Betonverteilers. Nach der Erläuterung der Grundlagen Neurona-ler Netze wird ein Netz entworfen und ein Test anhand realistischer Testdaten durch-geführt. Nach einer ausführlichen Beschreibung des Umfelds des Anwendungsfalls (Betonverteiler), sowie der Grundlagen Neuronaler Netze, ihrer Lernverfahren und ihrer Einsatzmöglichkeiten in der Regelungstechnik erfolgt der Entwurf eines Ansatzes zur Konstruktion eines Netzes für den Betonverteiler als Anwendungsfall sowie die Beschreibung der Implementation von Simulationsmodell und neuronalem Netz.
In dieser Arbeit wird ein System zur Modellierung von IT-Compliance-Anforderun-gen in einer Graph-Datenbank entwickelt. Dabei werden organisationsinterne Com-pliance-Maßnahmen, ihre Umsetzungsdokumentation und die zwischen ihnen entstehenden Beziehungen berücksichtigt. Anschließend werden die Stärken und Schwächen des Systems anhand einer Erprobung mit Anforderungen an ein fiktives IT-Projekt der deutschen Versicherungsbranche herausgestellt und so die Praxistauglichkeit bewertet. Es wird unter anderem aufgezeigt, wie Compliance- Daten in die Datenbank aufgenommen werden können und welche Unterschiede es zu bisher verbreiteten Prozessen in diesem Gebiet gibt.
Smartphones und die Nutzung von mobilen Anwendungen gewinnen aufgrund der stetig voranschreitenden Digitalisierung weiter an Relevanz. Im April 2022 lag die Zahl der genutzten mobilen Endgeräte bei knapp 6 Milliarden, wobei die Hersteller Apple
und Google einen Marktanteil von knapp 99 % einnehmen. Um als Entwickler eine möglichst große Zielgruppe anzusprechen, ist es daher wichtig, die eigene Anwendung auf möglichst vielen Plattformen zur Verfugung stellen zu können. Die native Entwicklung ist einer der am meist verbreitetste Entwicklungsansatz für mobile Anwendungen. Dort werden plattformspezifische Tools sowie native Programmiersprachen verwendet. Hierbei ergeben sich allerdings diverse Herausforderungen für Entwickler entlang des gesamten Entwicklungsprozesses. Neben der nativen Entwicklung existiert der Ansatz von Cross-Plattform. Hierbei handelt es sich um einen Sammelbegriff für verschiedene Ansätze, welche das Ziel verfolgen eine Anwendung durch die Nutzung einer einheitlichen Codebasis auf mehreren Plattformen zur Verfugung zu stellen. Einer dieser Unteransätze ist
Backend-Driven UI, worin die gesamte Anwendung innerhalb eines strukturierten Datenformats beschrieben und serverseitig verwaltet wird. Der Client kann diese Daten dann dynamisch anfragen und zur Laufzeit in native UI überführen. Das Konzept von Backend-Driven UI wird bereits durch Unternehmen wie Airbnb oder SiriusXM eingesetzt, ist hier allerdings stark auf anwendungsbezogene Prozesse zugeschnitten. Es bedarf daher eines Backend-Driven UI Frameworks, welches es Entwicklern ermöglichen soll, mobile Anwendungen, ohne anwendungsspezifische Einschränkungen plattformübergreifend zu entwickeln. Im Rahmen dieser Arbeit wurde daher zunächst eine plattformunabhängige und erweiterbare Architektur eines solchen Frameworks entwickelt und in Form eines ersten Prototyps auf ihre Umsetzbarkeit geprüft. Insgesamt stellt der Prototyp eine mögliche Umsetzung von Backend-Driven UI dar und ist in der Lage erste Anwendungsszenarien abzudecken. Es konnten dennoch Bereiche ermittelt werden, welche im Zuge zukünftiger Entwicklung ausgebaut werden können. Dazu zählt unter anderem das Umsetzen von serverseitig bestimmter Anwendungslogik sowie der Umgang mit Unterschieden im plattformspezifischen Funktionsumfang.
More and more often, spoken information must and should be available in written form. For this purpose, various transcription programs try to support the user with various conveniences when transcribing the source material. A variety of online services go one step further and provide a ready-to-use, automatically generated transcription for a fee. Since the fees can be very expensive for the individual user and the online services may not always be used for privacy reasons, the goal of this work is to implement an open offline alternative. This alternative should be an open source editor based on the open speech-to-text-engine DeepSpeech and should on one hand provide the user with an offline transcription and on the other hand support him in correcting it. To achieve this goal, first the traditional speech recognition and eventually DeepSpeech will be described. This is followed by the conception and implementation of the editor. Since this project is explicitly intended to be an open source project, the last part will take a closer look at the release.
Konzeption einer flexiblen Systemarchitektur zur dynamischen Konfiguration hybrider Lernräume
(2021)
In dieser Arbeit wird eine dynamische Systemarchitektur für die Schaffung hybrider Ökosysteme konzipiert, welche eine flexible und kontextgerechte Konfiguration hybrider Lernräume ermöglichen. Aufgrund der variierenden Definitionen hybrider Lehre und Lernräume sowie der schwachen Abgrenzung zu verwandten Begriffen findet hierfür zunächst eine Konkretisierung eigener Arbeitsdefinitionen statt. Aufbauend auf diesen Begriffsbestimmungen und ausführlichen Literaturrecherchen, werden anschließend sich interdisziplinär überschneidende Kernelemente hybrider Lehre und Lernräume identifiziert sowie in einem Übersichtsmodell zusammengefasst. Durch die Literaturrecherche ersichtliche Charakteristiken des hybriden Paradigmas werden ebenso in
Beziehung gesetzt und zusammenfassend aufgeführt. Auf Basis dieser Übersichten und unter Berücksichtigung weiterer Forschungsergebnisse wird nachfolgend ein Vorgehensmodell kreiert, welches kontextgerechte Designs hybrider Systeme strukturiert ermöglicht. Neben didaktischen, physischen und digitalen Komponenten werden dafür diverse Typen von Lernaktivitäten identifiziert, welche als Ausgangspunkt eine effiziente und praxisorientierte Planung ermöglichen.
Alle erstellten Modelle bilden abschließend die Grundlage der konzipierten Systemarchitektur, in welcher die hybriden Kernkonzepte aus einer technischen Perspektive beleuchtet werden. Das hierdurch repräsentierte Microservice-Websystem beinhaltet neben notwendigen Basis-Services vor allem einen dynamischen Plugin-Mechanismus, welcher die flexible Integration neuer Bestandteile ermöglicht. So kann der Funktionsumfang auf sich wandelnde Anforderungen der Nutzer angepasst werden und die Anwendung mit der Zeit zu einem umfassenden Ökosystem heranwachsen.
Kategorisierung und Bewertung plattformübergreifender Ansätze für die Auswahl eines Frameworks
(2023)
Die plattformübergreifende Entwicklung ist eine populäre Art der Anwendungsentwicklung, die in der Forschung und Industrie immer weiter an Relevanz gewinnt. Dabei wird eine Codebasis geschrieben, die auf mehreren Betriebssystemen lauffähig ist. Das Ziel dieses Ansatzes ist es unter anderem, die Zeit- und Kosteneffizienz zu optimieren. Es gibt verschiedene Ansätze der plattformübergreifenden Entwicklung. Die einzelnen Frameworks lassen sich wiederum in diese Ansätze einteilen. Durch die steigende Akzeptanz dieser Art der Entwicklung herrscht eine zu große Auswahl an Frameworks, von denen jedes eigene Stärken und Schwächen aufweist. Dies ist ein Problem, da Entwickelnde keine Übersicht und Einordnung der Frameworks für ihre individuellen Bedürfnisse haben. Um diesem Problem entgegen zu wirken, wird in dieser Arbeit ein Verfahren entwickelt, mit dem das passende Framework für die Rahmenbedingungen des jeweiligen Projekts ermittelt werden kann. Dazu werden die Frameworks Kotlin Multiplatform, Flutter, React Native und Vue.js, das zur Umsetzung einer PWA genutzt wird, für eine mobile Anwendung getestet, die auf Android und iOS Geräten laufen soll. Zusätzlich werden 44 Kriterien ermittelt, anhand derer die Frameworks bewertet werden. Mit dem resultierenden Verfahren kann sowohl eine objektive, als auch eine subjektive Auswertung der Frameworks erfolgen, um eine geeignete Auswahl zu treffen.
As a customer, it can be frustrating to face an empty shelf in a store. The market does not always realize that a product has been out of stock for a while, as the item is still listed as in stock in the inventory management system. To address this issue, a camera should be used to check for Out-of-Stock (OOS) situations.
This master thesis evaluates different model configurations of Artificial Neural Networks (ANNs) to determine which one best detects OOS situations in the market using images. To create a dataset, 2,712 photos were taken in six stores. The photos clearly show whether there is a gap on the shelf or if the product is in stock. Based on the pre-trained VGG16 model from Keras, two fully connected layers were implemented, with 36 different ANNs differing in the optimization method and activation function pairings. In total, 216 models were generated in this thesis to investigate the effects of three different optimization methods combined with twelve different activation function pairings. An almost balanced ratio of OOS and in-stock data was used to generate these models.
The evaluation of the generated OOS models shows that the FTRL optimization method achieved the least favorable results and is therefore not suitable for this application. Model configurations using the Adam or SGD optimization methods achieve much better results. Of the top six model configurations, five use the Adam optimization method and one uses SGD. They all achieved an accuracy of at least 93% and were able to predict the Recall for the OOS class with at least 91%.
As the data ratio between OOS and in-stock data did not correspond to reality in the previously generated models, the in-stock images were augmented. Including the augmented images, new OOS models were generated for the top six model configurations. The results of these OOS models show no convergences. This suggests that more epochs in the training phase lead to better results. However, the results of the OOS model using the Adam optimization method and the Sigmoid and ReLU activation functions stand out positively. It achieved the best result with an accuracy of 97.91% and a Recall of the OOS class of 87.82%.
Overall, several OOS models have the potential to increase both market sales and customer satisfaction. In a future study, the OOS models should be installed in the market to evaluate their performance under real conditions. The resulting insights can be used for continuous optimization of the model.