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)
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.
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.
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.
Der erste Teil dieser Arbeit gibt einen Überblick über die Themenfelder der modellgetriebenen Softwareentwicklung und der objektrelationalen Abbildung. Durch eine Kombination dieser beiden Themen wird schließlich der Begriff der modellgetriebenen O/R-Mapping-Frameworks definiert und näher erläutert. Im zweiten Teil bestätigt ein Vergleich von drei dieser Frameworks (Bold for Delphi, MDriven sowie Texo mit EclipseLink) die Vor- und Nachteile des modellgetriebenen Ansatzes auch in Bezug auf die Persistenz. Der Vergleich macht außerdem deutlich, was aktuell in der Praxis möglich ist (und was nicht) und in welchem Umfang Standards genutzt werden (insbesondere MDA und UML). Daneben werden auch die Schwächen in diesem Bereich aufgezeigt. Abschließend gibt es eine kurze Bewertung der Frameworks, auch im Hinblick auf mögliche Anwendungsszenarien.
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.
Text-Mining auf Basis von SAP HANA am Beispiel von Social-Media-Beiträgen eines Handelsunternehmens
(2018)
Die wesentlichen Hauptthemen, die in der vorliegenden Arbeit miteinander in Zusammenhang stehen, sind die Anwendung von Verfahren im Text-Mining und die IMDB, HANA, des europäischen Softwareherstellers SAP. Hierbei soll die HANA-Technologieplattform als Basis verwendet werden, um ein Text-Mining-Anwendungsfall zu bearbeiten, die die Analyse von Social-Media-Beiträgen vorsieht.
Untersuchung der Cross-Plattform-Entwicklung am Beispiel von visueller Darstellung von Messdaten
(2022)
In speziellen Fällen ist es notwendig oder gewünscht, eine Anwendung für unterschiedliche Plattformen wie beispielsweise Webbrowser, PCs, Smartphones und Tablets zu entwickeln um möglicherweise eine breitere Nutzerzahl anzusprechen oder einen plattformunabhängigen Betrieb zu ermöglichen. Dies hat in der Vergangenheit dafür gesorgt, dass der Entwicklungs- aufwand potenziert wurde, da für jede Plattform eigener Quellcode implementiert werden musste. Aufgrund dieser Tatsache ist in Einzelfällen für weniger verbreitete Platt-formen nicht entwickelt worden. Für genau dieses Problem versprechen die Cross-Plattform-Entwicklungsmöglichkeiten eine Lösung, welche in den letzten Jahren durch die Entwicklung entsprechender Frameworks ermöglicht worden ist.
In dieser Arbeit werden unterschiedliche Frameworks untersucht und für eine Auswahl wird eine detaillierte Untersuchung angestellt. Diese erfolgt anhand einer beispielhaften Implementierung zur visuellen Darstellung von Funkversorgungsdaten. Wichtige Punkte bei der Bewertung dieser Untersuchung sind, wie viele Änderungen für die einzelnen Plattformen am Quellcode gemacht werden müssen und wie gut die Unterstützung der einzelnen Frameworks mit Bibliotheken für die konkrete Problemstellung ist.
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.
With Google’s Flutter framework continuing to grow in popularity for companies and developers alike, the need for an understanding of how to utilize the framework in a large-scale context has become more relevant than ever. The purpose of this thesis is to document the crucial steps most development teams using Flutter in a large-scale application will face. Additionally, a fully documented, large-scale reference application was generated so that other developers may use it as an aid when creating their own Flutter projects on a similar scale. Multiple steps were taken to ensure that optimal solutions were chosen for each aspect of the development process. For each of those aspects, a wide range of possible solutions were explored, compared and analysed. Finally, one of the possible solutions was chosen based on a wide range of scientific papers and community-generated sources. Additionally, an interview with an expert in the field was conducted to further validate those decisions. After the application was fully implemented, ten crucial aspects of the development process were identified. Those ten aspects are now explained in detail in this thesis. Ultimately, the knowledge provided by this thesis can act as a map for peers using Flutter in a large-scale context and help them overcome the crossroads they will most likely come to face.
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.
Vergleich von verteilten Datenbanksystemen hinsichtlich ihrer Clusterbildung und Skalierbarkeit
(2017)
Die vorliegende Ausarbeitung geht der Frage nach, wie sich die Datenbankmanagementsysteme MariaDB, MongoDB und Cassandra hinsichtlich ihres Clusteraufbaus,
sowie den damit verbundenen Möglichkeiten der Skalierbarkeit unterscheiden. Dazu werden zunächst Grundlagen zum Aufbau von verteilten Datenbanksystemen, zu den verschiedenen Transaktionskonzepten, sowie zu den möglicherweise auftretenden Probleme vermittelt. Anschließend werden die drei Systeme im Detail untersucht und herausgearbeitet, wie sie genau funktionieren und in welchen Punkten sie sich von einander unterscheiden. Als Abschluss wird ein Fazit gezogen, welches System in verteilten Computerumgebungen
am geeignetsten ist, insofern ein klarer Sieger hervorgeht.
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.
Aufbauend auf einer vorherigen Arbeit, die sich mit der Implementierung einer Komponentezum Auslesen mdizinischer Sensordaten mithilfe eines Arduino und eines Raspberry Pi befasst hat, beschäftigt sich diese Arbeit mit der Visualisierung sowie Auswertung der durch das System gesammelten Daten. Das Ziel dieser Arbeit ist es, über einen Zeitraum von etwa drei Monaten mithilfe der Komponente Daten zu sammeln und diese Daten in einem sinnvollen Kontext visuell darzustellen. Zudem sollen diese Daten mithilfe unterschiedlicher Algorithmen des Maschinellen Lernens ausgewertet werden,
um mögliche Muster und Zusammenhänge erkennen zu können. In diesem Kontext konnte die Hypothese aufgestellt werden, dass ein Zusammenhang zwischen der Körpertemperatur und der Sauerstoffsättigung im Blut besteht.
Die vorliegende Bachelorarbeit in Kooperation mit der Deutsche Sporthochschule Köln hat die Konzeption und Entwicklung eine Software, mit der Daten aus der Fußball-Bundeliga 2011–2012 mit Hilfe einer Heatmap erzeugt werden, zum Inhalt. Die Software soll die Torpositionen vor einem Offensivspiel zu verschiedenen Zeitpunkten des Spieles veranschaulichen.
Bei der Arbeit wurden zwei Cluster-Methoden betrachtet, nämlich die Density-Based Spatial Clustering of Applications with Noise (DBSCAN) und der Kerndichtschätzer (kernel density estimation). DBSCAN ist ein bekannter Cluster-Algorithmus und wurde mit dem Software-Tool WEKA untersucht. Es zeigte sich, dass dieses Verfahren nicht so gut für diese Aufgabenstellung geeignet ist, da einzelnen Cluster nicht so gut unterschieden werden konnten. Der Kerndichtschätzer ist dagegen ein statistisches Verfahren zur Schätzung einer Dichte, der auch in Geoinformationssystemen verwendet wird. Dieses Verfahren ist besser für die Aufgabenstellung geeignet.
Nach der Analyse der Daten im XML-Format wurde der Algorithmus Kerndichtschätzer für die Deutsche Sporthochschule Köln in detr Programmiersprache Java implementiert. Die Software untersucht die Bildung von Clustern bzw. die Torschussdichte mit der Absicht, ein Verhalten oder Muster vor einem Offensivspiel zu erkennen. Sie enthält eine sehr gute Visulisierung der verschiedenen Situationen, die zum Torschuss führten, anhand eines Fußballfeldes
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.