Fakultät 10 / Cologne Institute for Digital Ecosystems
Refine
Document Type
- Bachelor Thesis (4)
- Master's Thesis (3)
- Article (1)
Has Fulltext
- yes (8)
Keywords
- Adolescents (1)
- AngularJS (1)
- BLoC Pattern (1)
- Backend-Driven UI (1)
- Benutzerrückmeldung (1)
- Blended Learning (1)
- Blended Space (1)
- Boolesche Algebra (1)
- Code Review (1)
- Codequalität (1)
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.
Mental illnesses in adolescence and young adulthood are steadily increasing. Thus,mental disorders represent an individual and societal challenge and an enormous health economicburden, creating an urgent need for research and action. Mental health problems are omnipresent inthe life of young people and the internet is the first resource, which helps them to understand theirsituation. Young people with migration background often have more difficulties accessing health careservices. Digital technologies offer an ideal opportunity for a low-threshold platform that addressesthe needs of young people. The current project “GeKo:mental” aims to design a multilingual websitefor Cologne-based adolescents and young adults that will enable them to obtain comprehensiveinformation about mental illness and health, treatment options and first contact points. To designthis website, this study aims to find out what kind of health information is needed and how itshould best be presented. Nine focus group discussions with adolescents and young adults withand without migration background (N = 68) were conducted; the focus group discussions took placeat schools, in an association for social youth work and in an cultural association, which is linkedto a mosque in Cologne, Germany. A qualitative content analysis was conducted on the gatheredmaterial. The participants reported concrete challenges and needs. The results will form the basis forthe development and design of a website.
Die Nutzung von Gamification zur Verbesserung der User Experience - Marktanalyse & Designfaktoren
(2020)
User Experience beschreibt die Wahrnehmungen und Reaktionen Benutzender zu einem System. Es umfasst die Gedanken und Emotionen, die Benutzende vor, während und nach der Nutzung eines Systems erfahren. In einer Zeit in der es zahlreiche digitale Systeme und Alternativen auf dem Markt zur Verfügung stehen, können sich voranging Systeme mit einer guten User Experience durchsetzen. Demnach kann User Experience als messbarer Erfolgsfaktor gesehen werden und dieses Verständnis darüber ist erforderlich für das Treffen von Designentscheidungen. Ziel dieser Arbeit ist es Aspekte aus Gamification, die zu einer Verbesserung der User Experience eines Systems beitragen, zu identifizieren und darzustellen. Bei Gamification handelt es sich um einen Gestaltungsprozess, der auf den Erfahrungen und Techniken des Game Designs basiert und die Gefühle und Motivationen von Menschen anspricht. Zur Ermittlung dieser Faktoren wurden mittels Literatur von, unter anderem, Huizinga und Chou relevante Aspekte spielerischen Verhaltens und grundlegende menschliche Motivationen betrachtet. Diese Erkenntnisse wurden zur Analyse der auf, dem Markt befindlichen, Systeme KptnCook und TooGoodToGo angewandt um relevante Design Faktoren zu ermitteln und darzustellen. Es wurde festgestellt, dass User Experience ein dreidimensionales Konstrukt bestehend aus den Faktoren ease-of-use, joy-of-use und purpose-of-use darstellt. Durch die Einbringung von Aspekten aus Gamification in ein System kann dieses gezielt auf die Vermittlung der Faktoren joy-of-use und purpose-of-use gestaltet und optimiert werden. Auf dieser Grundlage ist es empfehlenswert Gamification bei der Gestaltung von Systemen zu beachten um menschlichen Motivationen zur Nutzung eines Systems anzusprechen. Durch die Gestaltung mit Gamification können Benutzererlebnisse angefertigt werden, die unterhaltsam sind und Benutzende zu einer langfristigen Verwendung des Systems motivieren.
Projects in universities challenge the students in terms of organizing the project progress and coordinating team members. In order to cover the content of the courses in more depth and to prepare the students for their future employment the technical university of cologne (Campus Gummersbach) includes various team projects into its curriculum. Procedure models are helpful ways to structure the project tasks and ensure the communication between team members and stakeholders. The course Projectmanagement presents procedure models such as Waterfall Model, V-Model and Scrum that are mostly used in business context and software engineering. An agile procedure model that is not part of the curriculum is called Design Thinking. It is a suitable approach for student projects as it combines the requirement of an open mindset, a creative, experimental working method and an interdisciplinary toolbox. The objective of this thesis is to design a concept for a procedure model that is customized to students' needs. The growing practice of the design thinking method and other agile procedures within the business world, also increases the
importance for students to apply of such models in preperation for professional work. To define the requirements for the recommended procedure model, the first step is to elaborate on the processes and challenges that are currently used in student projects. Then the procedure models Waterfall Model, V-Model and Scrum are presented and evaluated taking into account the students' preferences. Next, Design Thinking is presented structured into three parts: mindset, process and toolbox. The most suitable projects to apply this method are identified in the subsequent analysis. Finally, the most appropriate aspects of the presented procedure models as well as the Design Thinking processes are detected, framed and combined into a new procedure model. The new model is illustrated using a graphical representation and a corresponding explanation. It is clustered into the three fundamental project phases: Planning, Execution and Closure. The Planning phase forms the foundation for a well functioning team and successful project progress. Execution is based on the Design Thinking approach and integrates an iteration-loop formed by the subphases Exploration, Idea Generation, Prototyping, Test and Implementation. The final phase Closure is an incentive for a more creative approach to create final presentations. This model can be developed further and be used for example as a didactic instrument and as a link between the diverse disciplines in interdisciplinary projects across different universities. In this way students learn to apply agile procedures and work in interdisciplinary teams.
Eine gängige Form der Qualitätskontrolle von Quellcode sind Code Reviews. Der Fokus von Code Reviews liegt allerdings oft auf syntaktischer Analyse, wodurch weniger Zeit für eine semantische Überprüfung bleibt und zusätzliche Kosten verursacht werden. Code Reviews lassen sich zwar teilweise durch "Linter" automatisieren, dennoch können sie nur syntaktische Fehlermuster identifizieren, welche vorher definiert wurden. Zudem kann ein Linter nur darauf hinweisen, dass möglicherweise ein Fehler vorliegt, da die Fehler nicht durch logische Inferenz ermittelt werden. Die vorliegende Arbeit prüft, ob ein Deep Learning Modell den regelbasierten Ansatz von Lintern ablösen und die semantische Ebene erschließen kann. Dazu wurde eine Stichprobe von Java Methoden zusammengestellt und im Anschluss mit einem Supervised Learning Ansatz binär klassifiziert. Da die Analyse von Quellcode der Textanalyse stark ähnelt wird ein gängiger Ansatz für Textklassifikation verwendet. Dadurch kann gezeigt werden, dass eine Präzision von 85% bei der Erkennung von Quellcodeproblemen durch Deep Learning möglich ist.
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.