64-184 Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme

Veranstaltungsdetails

Lehrende: Dr. Daniel Moldt

Veranstaltungsart: Projekt

Anzeige im Stundenplan: Pj Softw.Systeme

Semesterwochenstunden: 6

Credits: 9,0

Unterrichtssprache: Deutsch

Min. | Max. Teilnehmerzahl: - | 15

Anmeldegruppe: Anmeldegruppe Projekte

Kommentare/ Inhalte:
Die Entwicklung von Softwaresystemen in einem (großen) Team verlangt von den Teammitgliedern nicht nur Kenntnisse in der Softwareentwicklung selbst, sondern darüber hinaus auch Kompetenzen in Bezug auf Kommunikation, Koordination und Kooperation innerhalb des Teams. Modelle bilden dabei auf allen Arbeitsebenen die gemeinsame Kommunikationsgrundlage und werden in Softwareentwicklungsprojekten für diverse Aufgaben (Entwurf, Analyse, Implementierung, Skizze, Qualitätssicherung, etc.) eingesetzt. Domänenspezifische Sprachen (DSLs), die für spezielle Zwecke mittels Metamodellierung entworfen werden, helfen dabei effizient zu arbeiten.

Metamodell basierte Software ermöglicht es auf einer höheren Abstraktionsebene Mittel für die Software-Entwicklung und Modellierung bereit zu stellen, als dies bei bisher kennengelernter Entwicklung und Modellierung der Fall ist. Somit werden Techniken, Methoden und Werkzeuge zur Generierung von Software, Modellen, Umgebungen, Sprachen, Techniken etc. eingesetzt. Durch die wesentlich höhere Abstraktion kann produktiver gearbeitet werden. Die dafür notwendigen Kenntnisse werden im Projekt vermittelt, falls diese nicht schon bekannt sind.

In diesem Projekt werden daher Methoden der modellgetriebenen Softwareentwicklung gepaart mit einem agilen Vorgehensmodell erlernt und angewendet.
Der Fokus liegt neben dem Erlernen und der Anwendung von Modellierungstechniken zur Entwicklung verteilter Softwaresysteme auch auf der Erforschung, Entwicklung und Pflege von Softwarewerkzeugen und deren Einbettung in einen systematischen Ansatz.

Die Teilnehmenden können praktische Erfahrungen im Bereich der agilen und verteilten Softwareentwicklung sammeln / vertiefen und sich selbst in diesem Kontext erproben. In der petrinetzbasierten, agenten- und organisationsorientierten Softwareentwicklung (PAOSE) werden die dafür notwendigen Werkzeuge, Konzepte, Methoden und Techniken zusammen mit einer Projektmanagementumgebung eingesetzt. 

Die gesammelten Erfahrungen lassen sich auf andere Softwareentwicklungsprojekte übertragen. Die im Projekt erworbenen Kenntnisse und Fähigkeiten lassen sich in gleicher Weise in Projekten in der Forschung und der Wirtschaft eingesetzt.

Lernziel:
Die Teilnehmenden erhalten die Möglichkeit zu erlernen, wie Softwareentwicklungsprojekte agil und modellbasiert strukturiert werden können, was es bedeutet die Verantwortung für Teilbereiche eines Softwaresystems zu übernehmen und wie sie sich erfolgreich in ein Team integrieren. In diesem Rahmen können sie die Herausforderungen in der dynamischen Teamkoordination selbst erfahren und somit wesentliche Einblicke in das selbstorganisierte Projektmanagement gewinnen. 

Es werden u.a. der Einsatz und die Benutzung der folgenden Werkzeuge erlernt/vertieft: 
Redmine (Projektmanagementumgebung), Jira / Eclipse (Entwicklungsumgebungen), Renew (Integrierte Entwicklungsumgebung für Java Referenznetze), Mulan (Agentenframework), Gradle / Ant (Buildmanagement), Git (Versionierungssystem), CI/CD (Continuous Integration / Continuous Deployment) und andere. Darüber hinaus setzen wir Techniken wie Java, JavaScript, diverse UML-Techniken, BPMN und Java-Referenznetze (Petrinetze) ein.

Weiterhin besteht, je nach Interesse der Teilnehmenden, die Option, dass Data Mining / Process Mining / Business Intelligence Werkzeuge zur Erfassung, Analyse und Unterstützung des Projektablaufes eingesetzt werden.

Letztendlich erwerben die Teilnehmenden Kenntnisse und Fähigkeiten, die sie in die Lage versetzen effizient komplexe Systeme mittels höherer Modellabstraktion zu realisieren.

Vorgehen:
Alle Teilnehmenden werden kollaborativ als ein Team ein Ziel verfolgen. Dabei wird ein Ansatz verwendet, der Heterogenität der Teilnehmenden explizit unterstützt, so dass sowohl in unterschiedlichen Bereichen als auch mit unterschiedlichen Geschwindigkeiten gearbeitet werden kann. Dies ist vor dem Hintergrund des gemeinsam stattfindenden Masterprojekts 64-858-P auch notwendig, damit unterschiedliche Wissensstände genutzt und gefördert werden können.

Eine kurze Einführung in die relevanten Facetten des verwendeten Ansatzes wird zu Beginn durch die Veranstalter gegeben. Dies umfasst, in Abhängigkeit von den Vorkenntnissen der Teilnehmenden, z.B. Eclipse, Redmine, Renew, Versionierungssysteme, Datenbanken, Continuous Integration, Programmiersprachen etc.. Die koordinierte Zusammenarbeit einer größeren Anzahl Personen mit dem Ziel, erfolgreich gemeinsam verantwortete Software-Produkte zu entwickeln, ist zentraler Bestandteil des vorgestellten Ansatzes.

Unter Verwendung der agentenorientierten Konzepte werden die Möglichkeiten der existierenden Werkzeuge für ein Rapid-Prototyping Verfahren ausgenutzt. Es wird dem Vorgehen "Programmierung durch Modellierung" in agiler Weise gefolgt. Diese seit langem angewandte modellgetriebene Software-Entwicklung erlaubt eine nahtlose Integration von Spezifikationsmodellen mit den letztendlich laufenden Programmen. Die Möglichkeiten von Metamodellierung werden an den geeigneten Stellen zielgerichtet eingesetzt. Dazu werden ausgewählte domänenspezifische Sprachen von den Teilnehmenden im Team konzipiert und implementiert.

Parallel zur praktischen Arbeit wird im Projekt eine gemeinsame Dokumentation erstellt. In dieser werden alle Teilnehmer gemeinsam die konzeptionellen und technischen Grundlagen ihrer jeweiligen Arbeiten festhalten. Diese Ausarbeitungen können optional mit denen des 64-160 Seminars Herausforderung und Lösungsansätze in der verteilten Software-Entwicklung zusammengefasst werden.

Literatur:
Literatur kann vorab bei den Veranstaltern erfragt werden und wird zudem in der Veranstaltung bekanntgegeben.
 

Zusätzliche Hinweise zu Prüfungen:
Zumindest in der Einführungsphase ist eine Anwesenheit während der Präsenzzeiten notwendig. In Absprache mit den Beteiligten kann ein Teil der Projektzeit in die vorlesungsfreie Zeit verlagert werden, sodass mehr Zeit für den Vorlesungs- und Übungsbetrieb als Vorbereitung für Klausuren verbleibt. Die zeitlichen Abstimmungen erfolgen im Konsens aller Beteiligten, damit es keine Terminkollisionen mit anderen Veranstaltungen / Prüfungen gibt. 

Diese Veranstaltung ist Bestandteil des semesterübergreifenden Forschungsprojekts "Agentenorientierung" des Labors für agenten- und organisationsorientierte Softwareentwicklung (Laos). Im Rahmen des Forschungsprojektes besteht die Möglichkeit zur Abfassung von Projekt-, Bachelor-, Baccalaureats-, Master- und Diplomarbeiten.

Scheine und Noten können entsprechend der jeweiligen Prüfungsordnungen erworben werden.

Das Projekt eignet sich für alle Bachelorstudiengänge!

Termine
Datum Von Bis Raum Lehrende
1 Do, 17. Okt. 2019 14:00 18:00 D-118/119 Dr. Daniel Moldt
2 Fr, 18. Okt. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
3 Do, 24. Okt. 2019 14:00 18:00 D-118/119 Dr. Daniel Moldt
4 Fr, 25. Okt. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
5 Fr, 1. Nov. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
6 Do, 7. Nov. 2019 14:00 18:00 D-118/119 Dr. Daniel Moldt
7 Fr, 8. Nov. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
8 Do, 14. Nov. 2019 14:00 18:00 D-118/119 Dr. Daniel Moldt
9 Fr, 15. Nov. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
10 Do, 21. Nov. 2019 14:00 18:00 D-118/119 Dr. Daniel Moldt
11 Fr, 22. Nov. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
12 Do, 28. Nov. 2019 14:00 18:00 D-118/119 Dr. Daniel Moldt
13 Fr, 29. Nov. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
14 Do, 5. Dez. 2019 14:00 18:00 D-118/119 Dr. Daniel Moldt
15 Fr, 6. Dez. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
16 Do, 12. Dez. 2019 14:00 18:00 D-118/119 Dr. Daniel Moldt
17 Fr, 13. Dez. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
18 Do, 19. Dez. 2019 14:00 18:00 D-118/119 Dr. Daniel Moldt
19 Fr, 20. Dez. 2019 12:15 13:45 D-118/119 Dr. Daniel Moldt
20 Do, 9. Jan. 2020 14:00 18:00 D-118/119 Dr. Daniel Moldt
21 Fr, 10. Jan. 2020 12:15 13:45 D-118/119 Dr. Daniel Moldt
22 Do, 16. Jan. 2020 14:00 18:00 D-118/119 Dr. Daniel Moldt
23 Fr, 17. Jan. 2020 12:15 13:45 D-118/119 Dr. Daniel Moldt
24 Do, 23. Jan. 2020 14:00 18:00 D-118/119 Dr. Daniel Moldt
25 Fr, 24. Jan. 2020 12:15 13:45 D-118/119 Dr. Daniel Moldt
26 Do, 30. Jan. 2020 14:00 18:00 D-118/119 Dr. Daniel Moldt
27 Fr, 31. Jan. 2020 12:15 13:45 D-118/119 Dr. Daniel Moldt
Prüfungen im Rahmen von Modulen
Modul (Startsemester)/ Kurs Leistungs­kombination Prüfung Datum Lehrende Bestehens­pflicht
InfB-Proj/1 Projekt (einsemestrig) (SoSe 19) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 2  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-Proj/1 Projekt (einsemestrig) (WiSe 19/20) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-Proj/1 Projekt (einsemestrig) (WiSe 18/19) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 3  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-Proj/1/MCI Projekt Mensch-Computer-Interaktion (einsemestrig) (WiSe 19/20) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-Proj/LA Projekt (WiSe 19/20) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-Proj/LA Projekt (SoSe 19) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 2  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-Proj/LA-1UF Projekt (WiSe 19/20) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-WI-Proj/1 Projekt (einsemestrig) (SoSe 18) / WiInf-BAProjekt  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 4  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-WI-Proj/1 Projekt (einsemestrig) (WiSe 18/19) / WiInf-BAProjekt  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 3  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-WI-Proj/1 Projekt (einsemestrig) (WiSe 19/20) / WiInf-BAProjekt  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfB-WI-Proj/1 Projekt (einsemestrig) (SoSe 19) / WiInf-BAProjekt  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 2  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
InfM-Proj/LA Projekt für Lehramtsstudierende (M.Ed.) (WiSe 19/20) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt Ja
Übersicht der Kurstermine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
Lehrende
Dr. Daniel Moldt