D. Software
Refine
Year of publication
Document Type
- Bachelor Thesis (15)
- Master's Thesis (15)
- Study Thesis (2)
- Working Paper (2)
- Article (1)
- Part of a Book (1)
Has Fulltext
- yes (36)
Keywords
- Datenschutz (3)
- E-Learning (3)
- Agile Softwareentwicklung (2)
- Barrierefreiheit (2)
- Cloud (2)
- Cloud Computing (2)
- Comic (2)
- Data Mining (2)
- Datenbank (2)
- Digitalisierung (2)
Faculty
- Fakultät 10 / Institut für Informatik (23)
- Fakultät 10 / Cologne Institute for Digital Ecosystems (4)
- Fakultät 10 / Advanced Media Institute (3)
- Fakultät 01 / Institut für Medienforschung und Medienpädagogik (2)
- Fakultät 07 / Institut für Nachrichtentechnik (2)
- Angewandte Naturwissenschaften (F11) (1)
- Fakultät 07 / Institut für Elektrische Energietechnik (1)
Diese Arbeit untersucht verschiedene Ansätze, Daten im Google Cloud Firestore zu strukturieren und deren Auswirkungen auf Kosten, Performance sowie Codequalität. Zunächst folgt eine Aufbereitung des aktuellen Stands der Forschung. Darauf folgt die experimentelle Methodik. Hier dient eine prototypische Implementierung der Szenarien als Grundlage. Im Zuge des Experiments werden in unterschiedlichen Disziplinen Daten erhoben und im Anschluss ausgewertet, um empfehlenswerte Lösungen für definierte Anwendungsfälle zu benennen. Am Ende gibt die Arbeit ein kurzes Fazit zu den gewonnenen Erkenntnissen sowie einen Ausblick auf weitere Optimierungspotenziale ab.
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.
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.
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.
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.
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.
Heutzutage ist das Internet, wie die sozialen Netzwerke ein fester Bestandteil unserer So nutzen Unternehmen in dem Kommunikationszeitalter die Netzwerke um in diesen Plattformen mit den Nutzern zu kommunizieren. Hierbei ist das Ziel dieser Bachelorarbeit zu untersuchen in wie weit man eine Erweiterung entwickeln kann um diese Ziele zu erreichen.
Dabei soll im Rahmen dieser Arbeit eine prototypische Implementierung stattfinden, um die Entwicklung eines Multichannel Social Media Marketingtools basierend auf Atlassian Produkten zu ermöglichen.
Die Arbeit gibt zunächst einen Überblick der wichtigsten Grundlagen. Danach wird mit einer Analyse die Anforderungen an den Prototypen erhebt und ausgewertet , sowie eine Marktanalyse durchgeführt. Darauf folgt die Konzeption, wie die Implementierung des Prototyps, was im Anschluss mit einem Test für die Gebrauchstauglichkeit ergänzt wird.
Cloud Computing ist der zentrale Faktor zur Beschleunigung der Digitalisierung in Deutschland und wird in den kommenden Jahren eine wichtige Rolle in jedem deutschen Unternehmen spielen. Für Unternehmen wird es dabei um die Umsetzung von
Cloud-Strategien und die praktische Einbindung in die täglichen Betriebsprozesse gehen. Zusätzlich müssen Unternehmen ihre bestehende Datenlandschaft in moderne Architekturen zum Datenmanagement in die Cloud migrieren. Dabei können Unternehmen auf eine Vielzahl an unterschiedlichen unternehmensweiten Datenarchitekturen
zurückgreifen. Die vorliegende Masterarbeit gibt eine Einführung in die aktuelle Entwicklung von Cloud Computing und erläutert, mit Data Fabric, Data Lakehouse und Data Mesh, drei unternehmensweite Datenarchitekturen für die Cloud. Data Fabric, Data Lakehouse und Data Mesh bilden dabei aktuell die modernsten Konzepte für unternehmensweite Datenarchitekturen. Zusätzlich werden ein Data Lakehouse und ein Data Mesh in einer ausgewählten Cloud-Umgebungen entworfen, prototypisch aufgebaut und praktisch analysiert. Ziel der Masterarbeit ist es, die unternehmensweiten Datenarchitekturen in der Cloud zu erläutern, konkrete technologische Architekturen zu entwerfen und entsprechende Hinweise zu Aufwandstreibern in Unternehmen zu identifizieren.
Architektur für ein Qualitätsmanagementsystem zur Verbesserung der Relevanz von Suchergebnissen
(2023)
Die Suchfunktion ist in vielen Softwareprodukten eine wichtige Komponente, die häufig zur Navigation in der Anwendung dient. Gerade, wenn große Datenmengen bereitgestellt werden, wie es bei Streamingdiensten (Netflix, Spotify) oder bei E-Commerce-Plattformen (Amazon, Zalando) der Fall ist, ist es wichtig, dass die Suchergebnisse für den Nutzer relevant sind. Eine für den Nutzer effektive Navigation mit der Suchfunktion ist nur möglich, wenn die Suchergebnisse eine ausreichend große Relevanz für den Nutzer bieten. Die Organisationen, welche die oben genannten Dienste betreiben, versuchen daher, die Relevanz ihrer Suchergebnisse zu optimieren. Eine Optimierung auf Relevanz ist zwar für eine spezielle Suche einfach, jedoch können dabei häufig Seiteneffekte auftreten, welche die Relevanz über alle Suchen verschlechtern. In einem E-Commerce-Shop kann das Einfiihren des Synonyms „Birne -> Glühbirne" dafür sorgen, dass Nutzer, die Gliihbirnen kaufen wollen und nach „Birne" suchen nun auch Gliihbirnen finden. Falls Nutzer aber das Obst Birne kaufen möchten, sind die Ergebnisse für diese Gruppe irrelevant. Bei einer Optimierung der Relevanz über alle Suchen können Qualitätsmanagementsysteme unterstützen. Ein Qualitätsmanagementsystem fiir die Relevanz von Suchergebnissen muss nicht nur fachliche und technische, sondern auch organisatorische Anforderungen beachten, um die Optimierungspotenziale vollständig auszuschöpfen. Diese Arbeit erläutert diese Anforderungen und stellt eine Architektur für ein Qualitätsmanagementsystem vor. Die Architektur wird hinsichtlich der Erfüllung der erläuterten Anforderungen analysiert. Desweiteren werden die Vor- und Nachteile fiir die jeweiligen Architekturentscheidungen unter Betrachtung der Anforderungen diskutiert. Das Ziel der Arbeit ist es, die Architektur entsprechend zu erläutern, sodass eine Organisation diese für sich angepasst implementieren kann.
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.