Kontakt
stefan.bente[at]th-koeln.de
+49 2261 8196 6367
Discord Server
Prof. Bente Personal Zoom
Adresse
Steinmüllerallee 4
51643 Gummersbach
Gebäude LC4
Raum 1708 (Wegbeschreibung)
Sprechstunde nach Vereinbarung
Terminanfrage: calendly.com Wenn Sie dieses Tool nicht nutzen wollen, schicken Sie eine Mail und ich weise Ihnen einen Termin zu.

Softwaretechnik 1 (ST1), WS23

Die Veranstaltung ST1 beschäftigt sich damit, wie man aus eine natürlich-sprachliche Anforderungsbeschreibung Schritt für Schritt ein Software erstellt. Dabei formalisieren wir die Anforderungen, um wesentliche Modelle (Use Cases und Datenmodell) zu erstellen. Aus diesen Modellen wird dann dann mit Hilfe von Java und Spring Boot eine erste lauffähige Version der Software. Dabei nutzen Sie die Grundlagen der objektorientierten Programmierung und des Domain-Driven Designs.

Studiengang und Modulbeschreibung
Informatik Bachelor (siehe auch Modulbeschreibung auf der Studiengangs-Seite)
Zeitraum und zeitliche Organisation der Veranstaltung
09.10.2023 - 22.01.2024. Organisiert als 7 Ganztages-Workshops (Montags 10:00 - 17:00). Genaue Daten und Inhalte stehen weiter unten.
Ort der Veranstaltung
Die Veranstaltung findet in Präsenz statt. In Ausnahmefällen (aber nur wenn explizit für den Tag kommuniziert) weichen wir auf eine Remote-Option (Videokonferenz) aus. Wenn mehrere Räume angegeben sind, dann schauen schauen Sie bitte bei dem jeweiligen Zeitschlitz oder Workshoptag nach (siehe unten auf dieser Seite), welcher Raum an welchem Tag genutzt wird. Falls auf dieser Seite keine Angaben sind, prüfen Sie bitte die sonstigen Kommunikationkanäle für diese Veranstaltung (z.B. Discord).
Raum: 0501 (Gebäude LC6, gegenüber dem Haupteingang der Schwalbe-Arena), siehe auch detaillierte Wegbeschreibung
Videokonferenz-Link: https://th-koeln.zoom-x.de/j/63296199418?pwd=aU00Z0JoQWViK0tOUEMrTko0dy8wUT09 (nur in Ausnahmefällen und wenn explizit vorher für den Tag kommuniziert)
ILIAS/ILU-Kurs zur Veranstaltung
https://ilu.th-koeln.de/ilias.php?ref_id=71292&cmd=frameset&cmdClass=ilrepositorygui&cmdNode=xp&baseClass=ilRepositoryGUI
Praktikum
Das Praktikum wird über eine Folge von personalisierten und individuell für Sie generierten Git-Repos durchgeführt. Für jeden Meilenstein erhalten Sie ein neues Repo von uns. Jede*r Teilnehmer*in muss eine eigenständige Bearbeitung der Praktikumsaufgabe durchführen. Wir ermutigen Sie ausdrücklich, Ihre Lösungen in Arbeitsgruppen zu diskutieren. Ein einfaches Copy-Paste von Lösungen (unter Anpassung der Personalisierung) werten wir aber als Täuschungsversuch. Studierende, bei denen wir dieses sehen (und wir haben automatisierte Möglichkeiten, dies zu sehen) werden ohne Vorwarnung vom Praktikum ausgeschlossen. Das gilt sowohl für die Person, die kopiert hat, wie auch für die-/denjenigen, die/der die Lösung zur Verfügung gestellt hat.
Anmeldung zum Praktikum
Bitte werden Sie Mitglied in dieser ILIAS/ILU-Gruppe . (liegt in diesem ILIAS/ILU-Kurs). Die Deadline ist 09.10.2023. Bitte denken Sie daran, dass Sie sich zusätzlich noch über PSSO zur Prüfung anmelden müssen. Die Anmeldefristen dafür finden Sie auf den F10-Informationsseiten der TH Köln.
Git-Repo für das Praktikum
https://git.archi-lab.io/. Bitte loggen Sie sich unbedingt vorab einmal mit Ihrer campusId dort ein. Sonst kann das Repo Ihnen nicht automatisch zugewiesen werden. (Achtung, wir sind auf einen neuen Gitlab-Server umgezogen. Wenn Sie die Veranstaltung vor einiger Zeit absolviert haben, müssen Sie sich erneut einloggen.)
Discord-Server für schnelle Kommunikation
Discord hat sich als sehr effektive Plattform für den Informationsaustausch, Diskussionen und Fragen an Lehrende/Betreuer:innen erwiesen. Deshalb sollten Sie dem ArchiLab-Discord-Server beitreten unter https://discord.gg/YYNYb5whU8. Navigieren Sie zum Channel #rollenzuweisung und klicken Sie auf st1. Die entsprechenden Kanäle zur Veranstaltung werden anschließend für Sie freigeschaltet.
Youtube-Kanal
Für diese Veranstaltung sind Lehrvideos auf Youtube verfügbar. Abonnieren Sie dafür am besten den Kanal ArchiLab. Für die Videos zu dieser Veranstaltung gibt es eine Playlist. (Disclaimer - die Videos auf diesem Kanal sind nicht monetarisiert. Weder ich persönlich noch das Labor ArchiLab verdienen damit Geld. Wir nutzen YouTube vor allem deshalb, weil es für Studierende ein leicht zugänglicher Kanal ist. Außerdem bekommen wir als Labor an der TH Köln so auch Sichtbarkeit nach außen, was z.B. bei dem Einwerben von externen Gastvorträgen hilft.)
Script
Für diese Veranstaltung ist ein Script verfügbar (in den Videos verwendete Folien als PDF, mit abschnittsweisen Links auf das entsprechende Video).

Learning Outcome

Im ST1-Praktikum wird großer Wert darauf gelegt, das theoretische Wissen auch praktisch umzusetzen. Folgendes Learning Outcome liegt der Veranstaltung zugrunde - das sollten Sie am Ende können, wenn Sie für sich das Beste aus der Veranstaltung herausholen.

Als SW-Entwickler:in kann ich aus einer textuellen Anforderungsbeschreibung das Backend einer Software konzipieren und implementieren,

indem ich ...

  • das fachliche Datenmodell aus einer textuellen Anforderungsbeschreibung ableite,
  • Use Cases und Szenarien (als Text und als Aktivitätsdiagramm) ausgehend vom Anforderungstext spezifiziere,
  • die Geschäftslogik in Form von Zustandsdiagrammen beschreibe,
  • das logische Datenmodell aus dem fachlichen Datenmodell ableite, um die Implementierung vorzubereiten,
  • aufbauend auf den vorherigen Schritten die Implementierung in Java und Spring Boot umsetze,
  • diese Implementierung mittels Unit-Tests teste,

damit ich eine gut strukturierte, robuste und leicht weiter zu entwickelnde erste Version meines Backends habe.

Regeln für das Praktikum

Für das Praktikum gelten die nachfolgenden Regeln.

Zusammenarbeit ist gewollt, simples Copy-Paste ist ein Täuschungsversuch

Jede*r Teilnehmer*in muss eine eigenständige Bearbeitung der Praktikumsaufgabe durchführen. Wir ermutigen Sie ausdrücklich, Ihre Lösungen in Arbeitsgruppen zu diskutieren. Ein einfaches Copy-Paste von Lösungen (unter Anpassung der Personalisierung) werten wir aber als Täuschungsversuch.

Wir haben die Möglichkeit, die Lösungen automatisiert zu vergleichen und “merkwürdige” Ähnlichkeiten zu erkennen. Das Tooling vergleicht Repos paarweise und deckt Code-Ähnlichkeiten mit großer Zuverlässigkeit auf. Ein solches Kopieren von Lösungen ist ein Betrugsversuch und zieht einen sofortigen Ausschluss aus dem Praktikum nach sich - und zwar sowohl für den “Nehmer” wie auch für den “Spender” einer solchen Lösung.

Was geht?

Wir möchten ausdrücklich, dass Sie über Lösungen diskutieren und diese auch gern gemeinsam erarbeiten. Das werden wir dadurch aktiv fördern, dass Sie in den Workshops schon an den Praktikumsaufgaben arbeiten. Sie können da also ausgiebig miteinander drüber diskutieren und die Lehrenden um Hilfe bitten.

Das Folgende ist also ok:

  • Das Modell, die Klassenstruktur und einen Algorithmus gemeinsam überlegen
  • Fragen diskutieren
  • Das Ergebnis dann jede/r für sich aufschreiben, modellieren oder implementieren

In diesem Fall gibt unser Tooling keinen Match aus, weil Modelle und Code so individuell wie Handschrift sind. Ähnliche Klassenstrukturen sind ok, die werden nicht als Match gewertet, wenn der Code erkennbar einzeln geschrieben wurde.

Was geht NICHT?

  • Arbeitsteilig arbeiten (ich mache Service A, und du machst Service B, und dann tauschen wir die Klassen aus und passen die Individualisierung an)
  • Gemeinsam im Pair Programming-Modus eine Lösung entwickeln und dann die Individualisierung anpassen (Pair Programming ist ein guter und in der beruflichen Praxis oft genutzter Weg, um Software zu entwickeln. Im Beruf machen das aber Entwickler:innen, die ihre Qualifikation schon praktisch bewiesen haben. Hier möchten wir das bewusst ausschließen, damit jede/r von Ihnen sich einmal daran gewöhnt, eigenständig komplexen Code zu schreiben.)
  • ganze Lösungen kopieren und die Individualisierung anpassen (oder Lösungen weitergeben).

So etwas findet unser Tooling.

KI-Tools wie ChatGPT und Github Co-Pilot sind erlaubt, auf eigenes Risiko

KI-Tools wie ChatGPT und Github Co-Pilot stellen gerade eine Disruption der Arbeitsweise von Softwareentwickler*innen dar. Sie stellen mächtige Werkzeuge dar, die es ermöglichen, Code wesentlich schneller zu schreiben. Trotzdem sind sie noch nicht so weit, dass sie die Arbeit von Softwareentwickler*innen ersetzen können. Sie müssen also weiterhin den generierten Code lesen und verstehen, um ihn zu verbessern. Außerdem müssen Sie die Konzepte kennen, die dem generierten Code zugrunde liegen.

Die entsprechenden Kompetenzen kann man anhand der sogenannten Bloom’s Revised Taxonomy einordnen. Im Beruf braucht man eigentlich immer die Kompetenzen ab Stufe 4 (Analyse). Damit Sie sich das aneignen können, müssen Sie die entsprechenden Aktivitäten auch selbst und eigenständig durchgeführt haben.

Sie dürfen KI-Tools im Praktikum auf eigene Gefahr nutzen. “Auf eigene Gefahr” bedeutet, dass wir die Nutzung dieser Tools im Praktikum nicht kontrollieren oder einschränken werden. Wenn Sie diese Tools nutzen, müssen Sie also die nötigen Kompetenzen mitbringen, um die generierten Lösungen zu verstehen und sinnvoll einzusetzen.

In der Klausur wird eine Nutzung solcher Tools allerdings NICHT möglich sein (siehe unten). Sie müssen also sicherstellen, dass Sie die Aufgabenstellungen des Praktikums auch ohne solche Tools lösen können.

Langfristiges Ziel muss es sein, solche Tools in der Softwareentwicklung zu nutzen, und ihre Verwendung zu erlernen. Wir möchten sie also langfristig sowohl im Praktikum wie auch in der Klausur erlauben. Dafür müssen wir aber Praktikum und Klausur so gestalten können, dass die “kompetente” Nutzung dieser Tools geprüft werden kann, und man nicht einfach mit “Aufgabe in den ChatGPT-Prompt pasten” auskommt. In einer zukünftigen Lehrveranstaltung würde ich gern, wenn es die Kapazitäten hergeben, gezielter auf diese Kompentenzen eingehen und diese KI-Tools auch aktiv in die Lehre integrieren. Momentan ist das aus diversionen Gründen noch zu früh.

Disclaimer zur Auswertung der Repo-Daten

Wir behalten uns vor, die Daten Ihrer Commits in dieses Repo zur Lernstandskontrolle sowie - in anonymisierter Form - für die Beforschung der eigenen Lehre (SoTL, Scholarship of Teaching and Learning) und bei der (Weiter-)Entwicklung von Lehrunterstützungs-Tools zu verwenden.

Bewertung (Klausur)

Die Bewertung von ST1 erfolgt über die ST1-Klausur in der Prüfungsphase in Februar. Die Klausur wird im PC-Pool der Hochschule geschrieben. Wie gewohnt erhalten Sie für die Klausur ein individualisiertes Repo, das nur Sie selbst und wir sehen können. Vorher müssen wir Ihre Identität sicherstellen. Im Hörsaal ist das einfach - Kontrolle von MultiCa und Personalausweis, plus Sichtkontrolle, ob Sie es selbst sind.

Die Klausur ist eine Closed-Book-Klausur mit Erlaubnis, bestimmte Hilfsmittel zu nutzen. Dazu zählen:

  • Eigene Praktikumsmaterialien (z.B. Lösungen, die Sie im Praktikum entwickelt haben)
  • Eigene Notizen (Papier oder digital, wenn Sie diese z.B. in Ihrem eigenen Repo angelegt haben)
  • Die Materialien aus https://www.archi-lab.io/, allerdings weder die Videos noch verlinkte Materialien, nur die auf der Seite direkt zugänglichen Materialien
  • Noch genauer festzulegende Resourcen zum Nachschauen technischer Details zu Spring (z.B. Stackoverflow, Baeldung und/oder die Spring-Dokumentation)

Blockiert und verboten sind:

  • Kommunikation mit anderen Personen, z.B. über Discord-Chat, Telefon, SMS, WhatsApp, etc.
  • Nutzung von KI-Tools wie z.B. ChatGPT oder Github Co-Pilot

Die KI-Tools sind deshalb verboten, weil sie bei den vergleichsweise kurzen und in sich abgeschlossenen Klausuraufgaben die Kompetenz-Prüfung von Ihnen als Studierende aushebeln würden. Sollte wir einen Verstoß gegen diese Regeln feststellen, so ist dies ein Täuschungsversuch im Sinne der Prüfungsordnung. Sie müssen dann mit den entsprechenden Konsequenzen rechnen.

Inhalte der Klausur

Inhalt und Form der Klausur werden den Meilensteinen des Praktikums ähneln, allerdings natürlich - wegen der begrenzten Zeit - in deutlich komprimierter Form. Die Klausur wird aus mehreren Aufgaben bestehen, die Sie in beliebiger Reihenfolge bearbeiten können. Die Aufgaben werden in sich abgeschlossen sein und bauen nicht aufeinander auf.

Es wird Code in der Klausur zu schreiben sein. Anders als im Praktikum wird der Code aber nicht automatisiert getestet, sondern manuell von uns bewertet. Es wird vermutlich auch keine vordefinierten Tests in der Klausur geben. Sie können gern selbst Tests schreiben. Bonuspunkte gibt es dafür (und für andere Extraleistungen) nur, wenn in der Klausuraufgabe ausdrücklich vermerkt. Ihr Code muss nicht notwendig compilieren, allerdings kann nicht compilierender Code Abzüge geben. Auch hierfür stehen die Details noch nicht fest, und ich verweise auf die Aufgabenbeschreibungen in der Klausur.

Sie sollten davon ausgehen, dass alle Inhalte der Praktikums-Meilensteine vorkommen können.

Workshops

Mon 09.10.2023, 10:00 - 15:30: ST1-Kickoff

Wir starten mit einer Einführung in das Praktikum und die Rahmenbedingungen. Danach geht es direkt mit dem ersten Meilenstein los. Sie bearbeiten den Meilenstein in Gruppen und können Fragen stellen.

Ort des Workshops

Raum: 0501 (Gebäude LC6, gegenüber dem Haupteingang der Schwalbe-Arena), siehe auch detaillierte Wegbeschreibung.

Ziel des Tages

Sie kennen die Rahmenbedingungen für ST1 und können mit dem ersten Meilenstein beginnen.

Schauen Sie bitte vorab nachfolgende Videos

Agenda

  • 10:00 - 11:00:  Organisatorisches
    • Zeitplan
    • Youtube-Channel
    • Discord als präferiertes Kommunikationsforum
    • Klausur
    • Inhalt der Praktikums-Meilensteine
  • 11:00 - 11:45:  Regeln fürs Praktikum (ChatGPT, Github Co-Pilot und die Bloom'sche Taxonomie)
    • Neue Möglichkeiten in der Programmierung durch KI
    • Was muss ich selbst als Programmierer:in zukünftig können?
    • Bloom'sche Taxonomie zur Einordnung von Praktikumsaufgaben, siehe Übersicht zur Bloom'schen Taxonomie
    • Regeln für Praktikum und Klausur
  • 11:45 - 12:30:  Mittagspause

Aufgabe bis zum nächsten Workshop

Nach dem Workshop bearbeiten Sie bitte Meilenstein M0.

Mon 23.10.2023, 10:00 - 17:00: Fachliches Datenmodell und Glossar

In diesem Workshop gibt es Impulse und Erklärungen zum Thema des Meilensteins. Sie können Fragen stellen und dann in Gruppen an Ihren Lösungen arbeiten.

Ort des Workshops

Raum: 0501 (Gebäude LC6, gegenüber dem Haupteingang der Schwalbe-Arena), siehe auch detaillierte Wegbeschreibung.

Ziel des Tages

Sie sind in der Lage, den Meilenstein zu bearbeiten.

Schauen Sie bitte vorab nachfolgende Videos

Agenda

  • 10:00 - 10:15:  Retrospektive zu M0
  • 10:15 - 10:45:  Vorstellung von M1
  • 10:45 - 17:00:  Gemeinsames Bearbeiten von M1
    • Offene Diskussion in Gruppen
    • Sie können schon einmal anfangen, am Meilenstein zu arbeiten
    • Fabian ist vor Ort, kann gefragt werden und hilft

Aufgabe bis zum nächsten Workshop

Nach dem Workshop bearbeiten Sie bitte Meilenstein M1.

Mon 06.11.2023, 10:00 - 17:00: Use Cases, Szenarios und Aktivitätsdiagramme

In diesem Workshop gibt es Impulse und Erklärungen zum Thema des Meilensteins. Sie können Fragen stellen und dann in Gruppen an Ihren Lösungen arbeiten.

Ort des Workshops

Raum: 0501 (Gebäude LC6, gegenüber dem Haupteingang der Schwalbe-Arena), siehe auch detaillierte Wegbeschreibung.

Ziel des Tages

Sie sind in der Lage, den Meilenstein zu bearbeiten.

Schauen Sie bitte vorab nachfolgende Videos

Agenda

  • 10:00 - 10:15:  Retrospektive zu M1
  • 10:15 - 10:45:  Vorstellung von M2
  • 10:45 - 17:00:  Gemeinsames Bearbeiten von M2
    • Offene Diskussion in Gruppen
    • Sie können schon einmal anfangen, am Meilenstein zu arbeiten
    • Fabian ist vor Ort, kann gefragt werden und hilft

Aufgabe bis zum nächsten Workshop

Nach dem Workshop bearbeiten Sie bitte Meilenstein M2.

Mon 20.11.2023, 10:00 - 17:00: Zustandsmodellierung

In diesem Workshop gibt es Impulse und Erklärungen zum Thema des Meilensteins. Sie können Fragen stellen und dann in Gruppen an Ihren Lösungen arbeiten.

Ort des Workshops

Raum: 0501 (Gebäude LC6, gegenüber dem Haupteingang der Schwalbe-Arena), siehe auch detaillierte Wegbeschreibung.

Ziel des Tages

Sie sind in der Lage, den Meilenstein zu bearbeiten.

Schauen Sie bitte vorab nachfolgende Videos

Agenda

  • 10:00 - 10:15:  Retrospektive zu M2
  • 10:15 - 10:45:  Vorstellung von M3
  • 10:45 - 17:00:  Gemeinsames Bearbeiten von M3
    • Offene Diskussion in Gruppen
    • Sie können schon einmal anfangen, am Meilenstein zu arbeiten
    • Fabian ist vor Ort, kann gefragt werden und hilft

Aufgabe bis zum nächsten Workshop

Nach dem Workshop bearbeiten Sie bitte Meilenstein M3.

Mon 04.12.2023, 10:00 - 17:00: Logisches Datenmodell und Implementierung eines Zustandsmodells

In diesem Workshop gibt es Impulse und Erklärungen zum Thema des Meilensteins. Sie können Fragen stellen und dann in Gruppen an Ihren Lösungen arbeiten.

Ort des Workshops

Raum: 0501 (Gebäude LC6, gegenüber dem Haupteingang der Schwalbe-Arena), siehe auch detaillierte Wegbeschreibung.

Ziel des Tages

Sie sind in der Lage, den Meilenstein zu bearbeiten.

Schauen Sie bitte vorab nachfolgende Videos

Agenda

  • 10:00 - 10:15:  Retrospektive zu M3
  • 10:15 - 10:45:  Vorstellung von M4
  • 10:45 - 17:00:  Gemeinsames Bearbeiten von M4
    • Offene Diskussion in Gruppen
    • Sie können schon einmal anfangen, am Meilenstein zu arbeiten
    • Fabian ist vor Ort, kann gefragt werden und hilft

Aufgabe bis zum nächsten Workshop

Nach dem Workshop bearbeiten Sie bitte Meilenstein M4.

Mon 18.12.2023, 10:00 - 17:00: Implementieren des Logischen Datenmodells mit Businesslogik und Unit Tests

In diesem Workshop gibt es Impulse und Erklärungen zum Thema des Meilensteins. Sie können Fragen stellen und dann in Gruppen an Ihren Lösungen arbeiten.

Ort des Workshops

Raum: 0501 (Gebäude LC6, gegenüber dem Haupteingang der Schwalbe-Arena), siehe auch detaillierte Wegbeschreibung.

Ziel des Tages

Sie sind in der Lage, den Meilenstein zu bearbeiten.

Schauen Sie bitte vorab nachfolgende Videos

Agenda

  • 10:00 - 10:15:  Retrospektive zu M4
  • 10:15 - 10:45:  Vorstellung von M5
  • 10:45 - 17:00:  Gemeinsames Bearbeiten von M5
    • Offene Diskussion in Gruppen
    • Sie können schon einmal anfangen, am Meilenstein zu arbeiten
    • Fabian ist vor Ort, kann gefragt werden und hilft

Aufgabe bis zum nächsten Workshop

Nach dem Workshop bearbeiten Sie bitte Meilenstein M5.

Mon 22.01.2024, 10:00 - 17:00: Fragen zum Stoff und Wiederholung

In Vorbereitung auf die Klausur wiederholen wir den Stoff, der noch unklar ist.

Ort des Workshops

Raum: 0501 (Gebäude LC6, gegenüber dem Haupteingang der Schwalbe-Arena), siehe auch detaillierte Wegbeschreibung.

Ziel des Tages

Sie haben alle für die Klausur relevanten Verständnisfragen geklärt.

Agenda

  • 10:00 - 10:30:  Allgemeine Hinweise zur Klausur
    • Es wird kurz vorgestellt, was in der Klausur zu erwarten ist (siehe auch Inhalte der Klausur).
    • Sie können alle Fragen zur Klausur loswerden, die Sie noch haben.
  • 10:30 - 11:00:  Fragen zum Stoff
  • 11:00 - 17:00:  Wiederholung

Praktikums-Meilensteine

Das Praktikum gliedert sich in die folgenden Meilensteine. Alle Meilensteine müssen bestanden sein, um das Gesamtpraktikum zu bestehen. Die Tests eines Meilensteins müssen komplett 'grün' sein, um ihn zu bestehen. Eine Teilnahme an einem Meilenstein ist nur möglich, wenn alle vorigen Meilensteine bestanden wurden.

M0: Wiederholung Coding-Aufgaben

In diesem Meilenstein wiederholen wir einfache Programmieraufgaben und üben die Nutzung von Git. Außerdem schreiben Sie (als Einstieg in das automatisierte Testen) einfache Unit-Tests.

Der Meilenstein wird teils automatisch (per Unit-Tests) überprüft, teils gibt es manuelles Feedback. Manuelles Feedback geben wir frühestens dann, wenn die automatisch überprüften Aufgaben davor alle grün sind. Bitte beachten Sie, dass wir nur ein (Zwischen-)Feedback vor der Abgabe garantieren können. Nutzen Sie also die Workshops, um Fragen zu stellen und Ihre Lösung(en) zu diskutieren.

  • Ausgabe: Mon 09.01.2023, 10:00
  • Abgabe bis spätestens: Fri 20.10.2023, 09:00

Zugehörige Videos

M1: Fachliches Datenmodell und Glossar

In diesem Meilenstein erstellen Sie aus einer textuellen Anforderungsbeschreibung ein Glossar mit den wichtigen Geschäftsobjekten. Dafür wenden Sie Methoden der Textanalyse an. Auf der Basis des Glossars machen Sie dann ein fachliches Datenmodell.

Der Meilenstein wird teils automatisch (per Unit-Tests) überprüft, teils gibt es manuelles Feedback. Manuelles Feedback geben wir frühestens dann, wenn die automatisch überprüften Aufgaben davor alle grün sind. Bitte beachten Sie, dass wir nur ein (Zwischen-)Feedback vor der Abgabe garantieren können. Nutzen Sie also die Workshops, um Fragen zu stellen und Ihre Lösung(en) zu diskutieren.

  • Ausgabe: Mon 23.10.2023, 10:00
  • Abgabe bis spätestens: Fri 03.11.2023, 09:00

Zugehörige Videos

M2: Use Cases und Szenarien

Ähnlich wie in M1 beschäftigen Sie sich damit, wie man aus einem natürlichsprachlichen Anforderungstext eine formalere Beschreibung des gewünschten Verhaltens erhält (in Form von Use Cases und Szenarien).

Der Meilenstein wird teils automatisch (per Unit-Tests) überprüft, teils gibt es manuelles Feedback. Manuelles Feedback geben wir frühestens dann, wenn die automatisch überprüften Aufgaben davor alle grün sind. Bitte beachten Sie, dass wir nur ein (Zwischen-)Feedback vor der Abgabe garantieren können. Nutzen Sie also die Workshops, um Fragen zu stellen und Ihre Lösung(en) zu diskutieren.

  • Ausgabe: Mon 06.11.2023, 10:00
  • Abgabe bis spätestens: Fri 17.11.2023, 09:00

Zugehörige Videos

M3: Aktivitätsdiagramm und Zustandsmodellierung

In diesem Meilenstein lernen Sie Zustandsdiagramme als eine Möglichkeit kennen, Geschäftslogik genau und trotzdem kompakt und übersichtlich zu beschreiben. Weiterhin überführen Sie das Szenario aus M2 in ein Aktivitätsdiagramm.

Der Meilenstein wird teils automatisch (per Unit-Tests) überprüft, teils gibt es manuelles Feedback. Manuelles Feedback geben wir frühestens dann, wenn die automatisch überprüften Aufgaben davor alle grün sind. Bitte beachten Sie, dass wir nur ein (Zwischen-)Feedback vor der Abgabe garantieren können. Nutzen Sie also die Workshops, um Fragen zu stellen und Ihre Lösung(en) zu diskutieren.

  • Ausgabe: Mon 20.11.2023, 10:00
  • Abgabe bis spätestens: Fri 01.12.2023, 15:00

Zugehörige Videos

M4: Logisches Datenmodell und Implementierung eines Zustandsdiagramms

Das Fachliche Datenmodell (siehe M1) kann man im nächsten Schritt in ein Logisches Datenmodell überführen, das dann unmittelbar in Code umgesetzt werden kann. Zusätzlich bereiten Sie die Implementierung vor, indem Sie eine prototypische Implementierung des Zustandsdiagramms aus M3 vornehmen.

Der Meilenstein wird teils automatisch (per Unit-Tests) überprüft, teils gibt es manuelles Feedback. Manuelles Feedback geben wir frühestens dann, wenn die automatisch überprüften Aufgaben davor alle grün sind. Bitte beachten Sie, dass wir nur ein (Zwischen-)Feedback vor der Abgabe garantieren können. Nutzen Sie also die Workshops, um Fragen zu stellen und Ihre Lösung(en) zu diskutieren.

  • Ausgabe: Mon 04.12.2023, 10:00
  • Abgabe bis spätestens: Fri 15.12.2023, 15:00

Zugehörige Videos

M5: Implementierung des Logischen Datenmodells mit Geschäftslogik und Unit Tests

Im letzten Meilenstein führen Sie die bisherigen Ergebnisse zusammen, indem Sie das Logische Datenmodell aus M4 in Java-Code überführen. Dabei nutzen Sie Spring Boot und JPA, um persistente Objekte zu haben. Zusätzlich implementieren Sie einen kleinen Teil Geschäftslogik und testen das Ganze mit selbstgeschriebenen Unit-Tests. Damit haben Sie das Meiste zusammen, was man für ein einfaches Backend braucht.

Der Meilenstein wird teils automatisch (per Unit-Tests) überprüft, teils gibt es manuelles Feedback. Manuelles Feedback geben wir frühestens dann, wenn die automatisch überprüften Aufgaben davor alle grün sind. Bitte beachten Sie, dass wir nur ein (Zwischen-)Feedback vor der Abgabe garantieren können. Nutzen Sie also die Workshops, um Fragen zu stellen und Ihre Lösung(en) zu diskutieren.

  • Ausgabe: Mon 18.12.2023, 10:00
  • Abgabe bis spätestens: Fri 12.01.2024, 09:00

Zugehörige Videos