Nachfolgend sind studentische Angebote im Bereich ArchiLab aufgelistet.

Informatik-und QQ-Projekte

Für alle Abschlussarbeiten vereinbare ich mit den Studierenden ein 2-wöchentliches Statusgespräch. Dies gilt auch für die vorbereitenden Praxisprojekte für die Bachelorarbeit.

Ab diesem Semester veranstalten meine Mitarbeiter und ich zusätzlich ein Projekttreffen (Mittwochs vormittags alle 4 Wochen), bei dem jeder Studierende, der ein Projekt oder eine Abschlussarbeit im thematischen Umfeld „ArchiLab / Microservices“ bearbeitet, seinen/ihren Stand kurz (ca. 10 min pro Person) vorträgt. Zusätzlich stellt auch das ArchiLab-Team seinen aktuellen Stand vor. Dieses Treffen findet im Raum 1522 statt.

Die aktuellen Termine und Teilnehmer für Statusgespräche und das Projekttreffen finden Sie hier: Termine Status- und Projekttreffen

Dokumentation ist in der Regel ein ungeliebtes Thema. Die agile Community hat dieses Thema entformalisiert und pragmatischer gemacht, kämpft aber immer noch mit der richtigen Mischung aus „Der Code ist die Dokumentation“ und „Wir pflegen ein Extra-Architektur-Dokument“. ThoughtWorks hat LightWeight Architecture Decision Record in den Status „Adopt“ seines Technology Radars erhoben. Was heißt das konkret und in der gelebten Praxis? Ziel der Arbeit ist eine umfassende Literatur-, Technologie- und Empiriestudie (Expertenbefragungen). Am Ende sollte ein Vorschlag mit einem oder mehreren sinnvollen Varianten zur Dokumentation stehen. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, sollte die Arbeit abrunden. Als Produktivsystem kann dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab darstellen.

Aus Sicht eines effizienten System-Monitorings wäre es sehr attraktiv, Machine-Learning-Techniken zu nutzen, um Ausfälle/Störungen von bestimmen IT-Komponenten oder -Services frühzeitig vorhersagen zu können. ThoughtWorks klassifiziert diese Technik als „zu beobachten“ (Assess). Die Arbeit sollte zunächst eine umfassende Literatur- und Technologierecherche zu diesem Thema durchführen. Dann sollte ein Forschungsdesign für einen Prototypen konzipiert werden, um einen Proof-of-Concept umzusetzen und das Potential dieser Technik zu bewerten. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem kann dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab darstellen.

Ein API-Gateway stellt APIs für Clients und/oder externe IT-Systeme zur Verfügung. Bei komplexen Microservice-Landschaften wird Service Discovery zu einer Notwendigkeit, um nicht zu viel manuellen Konfigurations- und Wartungsaufwand zu haben. Besonders interessant wäre daher eine Kombination von Service Discovery und einer API-Gateway-Implementierung. Die internen Services sollten dabei die Möglichkeit haben, APIs als Public oder Private zu kennzeichen. Die Services könnten dann entsprechend automatisch zur Verfügung gestellt werden. In dieser Arbeit sollten zunächst die Anforderungen an ein solches kombiniertes API Gateway definiert werden. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.

Die Arbeit sollte zunächst analysieren, ob man Geschäftsprozesse nach bestimmten Kriterien klassifizieren kann, anhand deren man eine Entscheidung für eins der beiden Paradigmen „Orchestrierung“ vs. „Choreographie“ treffen kann. Ein praktisches Prozessbeispiel sollte definiert werden, das eine gewisse realistische Komplexität simuliert, gern anhand eines Versicherungs-Beispiels. Dann sollte für die Bewertung ein Kriteriensystem definiert werden, anhand dessen sich die beiden Paradigmen bewerten lassen. Beide Paradigmen sollten prototypisch implementiert und anhand der Kriterien verglichen werden. Abschließend sollte eine Empfehlung ausgesprochen werden. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem kann dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab darstellen.

In dieser Arbeit soll zunächst recherchiert werden, welche visuellen Programmiersprachen sich für Microservices eignen.  Dafür ist ein Anforderungskatalog zu erstellen und eine Technologie-Recherche durchzuführen. Eine „Shortlist“ sollte dann per Proof-of-Concept praktisch verprobt werden. Als zweite Hauptaufgabe sollte ein Standard-Chassis für die anfallenden „Boilerplate“ Aufgaben eines MS definiert und analog wie oben verprobt werden. Abschließend sollte eine Empfehlung ausgesprochen werden. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.

In dieser Arbeit sollen Architekturmuster und Technologien recherchiert werden, die Resilienz in Microservice-Architekturen ermöglichen, wie beispielsweise Bulkhead oder Cicruit Breaker. Als nächster Schritt sollte ein Szenario definiert werden, das eine große Menge von Microservices in einer realistisch großen IT-Landschaft wie der von Otto, Zalando, Netflix oder Amazon nahekommt – also mehrere 100 Services. Anhand dieser Landschaft können Konzepte / Patterns / Technologien als Proof-of-Concept verprobt und nach vorher bestimmten Kriterien bewertet werden. Hierbei muss das Verhalten der gesamten Landschaft betrachtet werden. Abschließlich soll die gewählte Lösung als Prototyp in einem Produktivsystem umgesetzt werden. Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.

In dieser Arbeit sollen Architekturmuster und Technologien recherchiert werden, die den Umgang mit Datenmigration und Backup in Microservice-Architekturen erleichtern. Diese sollen als Proof-of-Concept verprobt, nach vorher bestimmten Kriterien bewerten und schließlich als Prototyp in einem Produktivsystem umgesetzt werden. Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.

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.

Das Projekt ArchiLab und seine Verankerung in der Lehre ist mit einer Fellowship „Innovation in der digitalen Hochschullehre“ ausgezeichnet worden.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, eine Continuous Integration / Continuous Deployment – Umgebung (CI/CD) für das Projekt ArchiLab (und andere verwandte studentische Projekte) zu konzipieren und zu implementieren.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, einen Editor für das zentrale Modul der Plattform ArchiLab zu konzipieren: die Verwaltung von rekursiven Learning Outcomes. Dieses Modul wird mit den anderen ArchiLab-Modulen zentral verknüpft und ermöglicht, alle Lernergebnisse auf die Zielkompetenzen (die in den Learning Outcomes festgelegt sind) abzubilden. Ziel ist es, komplexe Strukturen komfortabel zugreifbar zu machen. Zu der Arbeit gehören Anforderungsermittlung und ein UI-Konzept in Form von Mockups oder Wireframes.

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.

Das Kickoff für das ArchiLab Informatikprojekt Informatikprojekt WS17/18 findet am Fr 13.10. 10:00 in Raum 1522 (Ferchau-Gebäude) statt.

Für das Wintersemester 17/18 biete ich ein Informatikprojekt an, bei dem die Studierenden in agilen Teams die Lehr- und Lernplattform ArchiLab weiterentwickeln. Bitte in ILIAS-Projekt „ArchiLab WS17/18“ unverbindlich anmelden!

Für die Softwaretechnik-1-Klausur am 7.4.2017 habe ich (wie in der Vorlesung versprochen) eine Sammlung von Probeaufgaben für die Klausur bereitgestellt.

Im QQ2-Projekt sammeln Sie – begleitend zu ST2 im SS17 – Quizfragen für das Selbsttest-Quiztool von ArchiLab.

Getreu dem olympischen Motto „Dabei sein ist alles“ haben wir (Fabian Krampe, Marco Reitano, Stefan Bente) uns für den Lehrpreis 2017 der TH Köln beworben …

Auch im Sommersemester 2017 werde ich wieder ein Informatikprojekt zur Weiterentwicklung von ArchiLab anbieten. Kontaktieren Sie mich für nähere Details oder melden Sie sich direkt in ILIAS an.

Die Idee, den wissenschaftliche Hintergrund, die Planung und den aktuellen Stand von ArchiLab finden Sie in der Konzeptbeschreibung „Was ist ArchiLab?“.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, die Eignung des Architekturstils „MicroServices“ für die Plattform ArchiLab auszuloten. Im Rahmen des Projekts / der Arbeit(en) sollen dann konkrete Regeln, Empfehlungen, Architekturmuster etc. erarbeitet werden. Diese sollen als Architektur-Leitlinie für die weitere Arbeit an ArchiLab dienen.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, eine Scriptsprache zu konzipieren und zu implementieren. Ziel der Sprache ist es, im Rahmen der Plattform ArchiLab Reports über Selbsttestergebnisse von Studierenden zu erstellen. Auf diese Weise kann dann der Lernerfolg der Studierenden effektiv ausgewertet werden.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, Machine-Learning-Techniken anzuwenden, um den ArchiLab-Quizclient als Instrument zum Selbsttest zu verbessern.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, die Usability der im IP ArchiLab (WS 16/17) erstellten Komponenten „Quizeditor“ und „Quizclient“ mit den passenden Methoden zu untersuchen und zu optimieren.

In einem großen Informatikprojekt (drei Teams, insgesamt 22 Teilnehmer und 3 Betreuer) wurde während dem WS 16/17 ein erster Prototyp des ArchiLab-Quiztools erstellt. Dieser dient jetzt als Basis für die weitere Entwicklung an ArchiLab.

Die fünf Teilnehmer dieses QQ-Projekts sammelten anhand von Interviews und einer studentischen Umfrage Anforderungen für das in Planung befindliche Modul „Fallstudienverwaltung“ von ArchiLab.

In diesem QQ-Projekt mit 15 Teilnehmern wurde ein Pool von ersten Quizfragen zu Softwaretechnik 2 (rückblickend auf die Veranstaltung im SS 16) erarbeitet. Zusätzlich wurden Learning Outcomes von den Teilnehmern erstellt.

In diesem QQ-Projekt mit acht Teilnehmern wurde ein Pool von ersten Quizfragen zu Softwaretechnik 1 (im WS 16/17) erarbeitet. Die Sammlung war vorlesungsbegleitend angelegt, so dass die Teilnehmer das QQ-Projekt gleichzeitig als Wiederholung des Stoffs nutzen konnten.

Praxisprojekte und Bachelorarbeiten

Dokumentation ist in der Regel ein ungeliebtes Thema. Die agile Community hat dieses Thema entformalisiert und pragmatischer gemacht, kämpft aber immer noch mit der richtigen Mischung aus „Der Code ist die Dokumentation“ und „Wir pflegen ein Extra-Architektur-Dokument“. ThoughtWorks hat LightWeight Architecture Decision Record in den Status „Adopt“ seines Technology Radars erhoben. Was heißt das konkret und in der gelebten Praxis? Ziel der Arbeit ist eine umfassende Literatur-, Technologie- und Empiriestudie (Expertenbefragungen). Am Ende sollte ein Vorschlag mit einem oder mehreren sinnvollen Varianten zur Dokumentation stehen. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, sollte die Arbeit abrunden. Als Produktivsystem kann dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab darstellen.

In dieser Arbeit soll zunächst recherchiert werden, welche visuellen Programmiersprachen sich für Microservices eignen.  Dafür ist ein Anforderungskatalog zu erstellen und eine Technologie-Recherche durchzuführen. Eine „Shortlist“ sollte dann per Proof-of-Concept praktisch verprobt werden. Als zweite Hauptaufgabe sollte ein Standard-Chassis für die anfallenden „Boilerplate“ Aufgaben eines MS definiert und analog wie oben verprobt werden. Abschließend sollte eine Empfehlung ausgesprochen werden. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.

In dieser Arbeit sollen Architekturmuster und Technologien recherchiert werden, die Resilienz in Microservice-Architekturen ermöglichen, wie beispielsweise Bulkhead oder Cicruit Breaker. Als nächster Schritt sollte ein Szenario definiert werden, das eine große Menge von Microservices in einer realistisch großen IT-Landschaft wie der von Otto, Zalando, Netflix oder Amazon nahekommt – also mehrere 100 Services. Anhand dieser Landschaft können Konzepte / Patterns / Technologien als Proof-of-Concept verprobt und nach vorher bestimmten Kriterien bewertet werden. Hierbei muss das Verhalten der gesamten Landschaft betrachtet werden. Abschließlich soll die gewählte Lösung als Prototyp in einem Produktivsystem umgesetzt werden. Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.

In dieser Arbeit sollen Architekturmuster und Technologien recherchiert werden, die den Umgang mit Datenmigration und Backup in Microservice-Architekturen erleichtern. Diese sollen als Proof-of-Concept verprobt, nach vorher bestimmten Kriterien bewerten und schließlich als Prototyp in einem Produktivsystem umgesetzt werden. Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.

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.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, eine Continuous Integration / Continuous Deployment – Umgebung (CI/CD) für das Projekt ArchiLab (und andere verwandte studentische Projekte) zu konzipieren und zu implementieren.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, einen Editor für das zentrale Modul der Plattform ArchiLab zu konzipieren: die Verwaltung von rekursiven Learning Outcomes. Dieses Modul wird mit den anderen ArchiLab-Modulen zentral verknüpft und ermöglicht, alle Lernergebnisse auf die Zielkompetenzen (die in den Learning Outcomes festgelegt sind) abzubilden. Ziel ist es, komplexe Strukturen komfortabel zugreifbar zu machen. Zu der Arbeit gehören Anforderungsermittlung und ein UI-Konzept in Form von Mockups oder Wireframes.

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.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, eine Scriptsprache zu konzipieren und zu implementieren. Ziel der Sprache ist es, im Rahmen der Plattform ArchiLab Reports über Selbsttestergebnisse von Studierenden zu erstellen. Auf diese Weise kann dann der Lernerfolg der Studierenden effektiv ausgewertet werden.

In diesem Praxisprojekt mit Option auf anschließende Bachelorarbeit geht es darum, die Usability der im IP ArchiLab (WS 16/17) erstellten Komponenten „Quizeditor“ und „Quizclient“ mit den passenden Methoden zu untersuchen und zu optimieren.