Hinweis: Für alle Abschlussarbeiten vereinbare ich mit den Studierenden ein 2-wöchentliches Statusgespräch. Die aktuellen Termine und Teilnehmer für Statusgespräche und das Projekttreffen finden Sie hier: Termine Status- und Projekttreffen

Angebote für Masterarbeiten

In Fortsetzung einer Bachelorarbeit zum gleichen Thema sollen in dieser Arbeit gebräuchliche und für die Softwaretechnik verfügbare UML-Tools bezüglich ihrer Eignung für die Lehre untersucht und verglichen werden. Der Fokus soll dabei auf User Experience und funktionaler Vollständigkeit liegen. Die Untersuchung soll empirische Methoden nutzen und so breit angelegt sein, dass das Ergebnis für die allgemeine Softwaretechnik-Hochschullehre anwendbar ist.

Wir machen eine Info-Veranstaltung mit Vorstellung von möglichen Themen im Bereich Microservices und ArchiLab am Fr 2.3. um 14:00 in Raum 1522.

Die Lehr-/Lernplattform ArchiLab versucht, ein umfassendes Angebot für das Erlernen von Softwarearchitektur zu machen. Für die Weiterentwicklung des Selbsttest-/Quizmoduls soll diese Arbeit Möglichkeiten definieren, auch die höheren Taxonomiestufen 3-5 der Revised Bloom’s Taxonomy online zu prüfen. Dies sind „Apply“, „Analyze“ und „Evaluate“. Ein einfaches Abfragen von Wissen genügt hier nicht mehr.

Die Viadee Unternehmensberatung bietet Masterarbeiten im Bereich „Blockchain-Prototyp mit Hyperledger Fabric“ an: viadee-Abschlussarbeit – Blockchain

Zu diesem Themenfeld wird es möglicherweise auch ein Guided Project im WS 16/17 geben, das als thematische Vorbereitung dienen kann.

Nichts gefunden?

Ich betreue natürlich nicht nur die oben aufgeführten Themen. Kontaktieren Sie mich gern direkt, wenn Sie …

  • eine eigene Idee für eine Abschlussarbeit haben, die thematisch zu meiner fachlichen Ausrichtung passt, oder
  • noch keine Idee für eine Arbeit haben, aber gern in Richtung Architektur, EAM oder Agilität arbeiten möchten, oder
  • einen potentiellen Projektpartner (Firma) haben, aber noch nicht genau wissen, wie eine in Kooperation betreute Arbeit aussehen könnte.

Im Gespräch können wir dann unverbindlich Optionen und/oder mögliche weitere Themen ausloten.

Laufende oder abgeschlossene Arbeiten

Die Masterarbeit Entwicklung nachhaltiger KPI-Systeme zur Überwachung der Operationalisierung von Geschäftsstrategien im Bereich EAM von Markus Engelke wurde mit dem Steinmüller-Engineering-Förderpreis ausgezeichnet.

Die Bachelor- / Masterarbeit soll in einer Art von Machbarkeitsstudie klären, inwieweit für ein stark eingeschränktes UML-Subset ein kollaborativer Editor im „Google-Docs-Stil“ machbar wäre. 

Eine der ersten Phasen in Softwareentwicklungsprojekten und somit die Grundlage für zu entwickelnde Softwaresysteme, stellt der Domänenschnitt und die Komponentenbildung dar.  Diverse Autoren beschreiben Ansätze und Patterns für verschiedene Domänen und Architekturstile. Zudem haben viele Unternehmen eigene Ansätze entwickelt, welche sie in ihren Kundenprojekten nutzen. Im Projektalltag ist es aber nicht immer möglich, diesen Ansätzen und Patterns zu folgen. Somit ergeben sich Unterschiede zwischen den dokumentierten Vorgehen und den realen Prozessen in Projekten. Die Arbeit geht diesen Unterschieden nach und versucht eine Systematisierung.

Die Arbeit untersucht, welche Anforderungen heutzutage an ein Microservice-basiertes verteiltes System gestellt werden. Die Frage nach den Herausforderungen bei der praktischen Umsetzung und Anwendung des Microservice-Konzeptes soll beantwortet werden.

Problemstellung

In der Entwicklung von größeren objektorientieren Softwareprodukten entstehen zumeist eine Vielzahl von Utility- und Helperklassen sowie Methoden in weiteren Klassen verschiedener Schichten, die bestimmte Aspekte der Fachlichkeit wie zum Beispiel Validierung oder Konvertierungen behandeln und in unterschiedlichsten Paketen zu finden sind. Dies führt zu doppeltem Code, da die Codestücke anderen Entwicklern nicht bekannt sind und schwierig gefunden werden. Vor allem spätere Änderungen der Fachlichkeit führen zu Mehraufwand, da diese an mehrere Stellen verteilt ist und erstmal gefunden werden muss. Manchmal fallen diese Probleme erst in späten Testphasen oder gar im Produktionsbetrieb auf, das zu weiteren Problemen führt. Zudem sind auch die APIs und Konstruktoren durch eine Aneinanderreihung von nativen Datentypen fehleranfällig, schlecht les- und wartbar. Dem Code fehlt eine Robustheit, die sich vor allem bemerkbar macht, sobald Entwickler die Projekte verlassen oder neu hinzukommen, die sich im spezifischen Projekt nicht auskennen.

Abgeleitete Forschungsfrage

  • Wie kann die vorhandene Fachlichkeit im Code so positioniert werden, dass ein sprechendes Domain Model entsteht und von Entwicklern schneller gefunden und besser verstanden wird?
  • Warum lohnt es sich, auch native Attribute in Entitäten als vollwertige fachliche Klassen auszumodellieren?
  • Welche Probleme treten bei der Umsetzung in JavaEE-Frameworks auf? Wie können diese gelöst werden?

Vorgehen

Zuerst werden an Hand einer Literaturrecherche die wichtigsten Aspekte des DomainDrivenDesigns mit Prinzipien der Softwareentwicklung (Objektorientierung, Clean Code, Design Patterns, Refactoring) in Verbindung gebracht. Dabei wird besonderen Wert auf Fachlichkeit an der richtigen Stelle, lesbaren Code und Auffindbarkeit gelegt.
Anschließend werden diese Eigenschaften als Anforderungen an ein auf JavaEE-basierendes Framework gestellt. Dabei steht besonders JPA und EJB als Backend, sowie JSF als Frontend im Fokus. Dabei werden auch Negativbeispiele herkömmlicher Programmierung aufgezeigt. Insgesamt wird ein Framework für Rich Domain Models entworfen, welches für eine erhebliche Reduzierung von Utility-Klassen und eine bessere Auffindbarkeit der Fachlichkeit sorgt.
Danach wird das Framework mittels Praxisbeispiele entwickelt und deren Funktionalitäten gezeigt. Abschließend findet noch eine Handlungs- und Einsatzempfehlung des entstandenen Frameworks im Vergleich zur herkömmlichen Programmierung statt.

Bearbeiter

Daniel Janßen

Abgabe

Ende 2017

Die Arbeit untersucht aus Usability-Sicht, wie komplex es sich gestaltet, auf verschiedenen Plattformen, insbesondere PC und MacOS, das gleiche „Look-And-Feel“ zu erreichen. Hierfür wird die Plattform Electron genauer analysiert. Aus Entwicklersicht soll untersucht werden, wie kompatibel Electron mit bestehenden Javascript-Bibliotheken sowie bestehenden Programmstücken in anderen Sprachen ist. Außerdem soll geprüft werden, ob und in welchem Maß plattformspezifischer Code erforderlich ist.

Die Arbeit untersucht, wie eine Referenzarchitektur für moderne SPA-JavaScript-Clients definiert werden kann, und wie deren Umsetzung aussieht.

Am Beispiel einer konkreten Veranstaltung soll ein ganzheitliches Lehrkonzept „Agilität“ entwickelt werden, das die Herausforderungen in der Lehre auf diesem Feld adressiert. Dabei sind verschiedene Aspekte zu berücksichtigen.

In der Masterarbeit mit dem Titel „Eine Heuristik zur Eignungsprüfung von Microservice-Architekturen“ wird ein Vorgehen erarbeitet, mit dem die Entscheidung einer Neuentwicklung auf Basis von MS oder der Transition von einem Deployment-Monolithen hin zu einer MS Architektur evaluiert werden kann.

Die Arbeit klärt die Frage, wie KPIs im EAM Umfeld nachhaltig erhoben und nutzbar gemacht werden können. Abgeschlossen im Januar 2017.

Collaborative Enterprise Architecture kombiniert TOGAF ADM mit der agilen Methodik KANBAN. Im Rahmen einer Einzelfallstudie soll anhand eines konkreten IT Projektes die Anwendbarkeit dieses Ansatzes untersucht und überprüft werden. Ziel ist es, alle Phasen des Collaborative-Enterprise-Architecture-Modells zu durchlaufen und wiederverwendbare Artefakte zu generieren. Die Arbeit wurde im September 2016 abgeschlossen.