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)
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.
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.
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.
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.
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.
Entwicklung einer freien Software zur Verwaltung von digitalen Comics auf Basis von Web Technologien
(2019)
Mit dem Aufkommen von E-Books sind auch Comics im digitalen Zeitalter angekommen. Digitale Comicsammlungen bestehen meistens aus Dateien unterschiedlicher, teils proprietärer Dateiformate. Da Comics in proprietären Formaten nur in den Anwendungen der Hersteller geöffnet werden können, gestaltet sich die gemeinsame Verwaltung aller Comics einer Sammlung schwierig. Da die Verwaltung der Comics bei diesen Herstellern zentralisiert auf deren Servern erfolgt, ist das Lesen von Comics bei diesen über deren Apps standortunabhängig möglich. Diesen Vorteil bieten Comics in nicht-proprietären Formaten nicht. Für den maximalen Komfort muss man sich also für einen einzelnen Anbieter entscheiden und eine Fragmentierung der eigenen Comicsammlung über mehrere Anbieter hinweg vermeiden. Diese Probleme soll dieses Projekt lösen und dazu mit ComicLib eine freie Software zur zentralen Verwaltung und Bereitstellung digitaler Comicsammlungen schaffen. Da ein Öffnen der proprietären Dateien nicht möglich ist, soll die Beschaffung von Informationen zu Comics, Serien und Verlagen über den Zugriff auf die ComicVine API1 von Gamespot2 erfolgen. Bei Comics in nicht-proprietären Dateiformaten soll das Lesen direkt in der Software möglich sein, bei den proprietären Formaten soll die Datei stattdessen nur zum Download bereitgestellt werden. Eine eigene Programmierschnittstelle soll die Erweiterung von ComicLib um mobile Apps ermöglichen. Die Implementation als Webanwendung soll eine Nutzung der Comicverwaltung auf Computern, Tablets und Smartphones ermöglichen.
Neben den großen Anbietern digitaler Comics mit elektronischem Kopierschutz (DRM) haben sich auch Anbieter für DRM-freie Comics etabliert. Als Open Source-Alternative zu den Plattformen Ersterer wurde im Rahmen des Praxisprojekts die Software ComicLib als Web-App zur Verwaltung digitaler Comicsammlungen geschaffen. Diese ermöglicht die gemeinsame Verwaltung DRM-geschützter sowie -freier Comics. Letz-tere sind außerdem im Webbrowser lesbar. Die im Rahmen dieser Arbeit entstandene And-roid-App soll eine Open Source-Alternative zu den mobilen Apps der Plattformen der gro-ßen Anbieter sein und ComicLib um eine mobile App zur Offline-Nutzung der Comics erwei-tern. Der erste Prototyp wird im Nachgang des Projekts weiter getestet und verbessert, be-vor die erste stabile Version veröffentlicht wird.
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.