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

Veranstaltungsdetails

Lehrende: Dr. Daniel Moldt; David Christopher Mosteller

Veranstaltungsart: Projekt

Anzeige im Stundenplan: Pj Softw.Systeme

Semesterwochenstunden: 6

Credits: 9,0

Unterrichtssprache: Deutsch

Min. | Max. Teilnehmerzahl: - | 20

Anmeldegruppe: Anmeldegruppe Projekte

Kommentare/ Inhalte:
Interesse an professioneller Softwareentwicklung in einem verteilten Kontext?
Dann ist dies das richtige Projekt.


Das Projekt bietet die Möglichkeit relevante software-technische Erfahrungen im Bereich der verteilten Software-Entwicklung zu sammeln und dabei neuste Konzepte des agilen, kooperativen Arbeitens kennen zu lernen und zu erproben. Da dieses Projekt mit einem BSc-Projekte gemeinsam stattfindet, sollen Projektmanagementaufgaben insbesondere von den MSc-Studierenden übernommen werden. Dies erfordert ein entsprechendes Engagement.
Aktuelle Hinweise zum Projekt finden sich unter https://www.inf.uni-hamburg.de/inst/ab/art/teaching.html

Entwicklung komplexer Software erfordert hinreichend leistungsfähige Software-Entwicklungsansätze. Diese werden innerhalb eines Kontextes angewendet:Paradigmen (z.B. Objekt-, Komponenten-, Dienst- oder Agentenorientierung),


  • Prinzipien (Teile-und-Herrsche, Musterverwendung, Standards, Teamgeist, etc.),
  • Techniken (Programmiersprachen (Java, Javascript), Spezifikations- und Entwurfstechniken (UML, Petrinetze, BPMN, eEPKs, etc.)),
  • Methoden (agiles Vorgehen, Prototyping, RUP, Paose, etc.),
  • Werkzeuge (IDEs, Compiler, Ticketing-Systeme, Wikis, Rahmenwerke (Gitlab, Docker, Kubernetes, …) sowie
  • Ressourcen jeglicher Art.

Im diesem agentenorientierten Projekt werden diese Facetten eines agilen, kooperativen Ansatzes ganzheitlich angewendet. Dazu wird im Projekt nach einer Einarbeitungsphase gemeinsam an einem einzigen Software-Produkt gearbeitet. Den Herausforderungen, die sich durch die notwendige Kommunikation, Koordination und Kooperation ergeben, wird gezielt durch den verwendeten Ansatz im Projekt begegnet. Die Teilnehmenden erwerben so neue, relevante software-technische Kenntnisse und Fähigkeiten, die bisher im Studium nur bedingt behandelt wurden, da diese Art von Herausforderungen sich nur in einem größeren Team ergeben.

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 eignen sich in gleicher Weise für den Einsatz in Projekten in der Forschung und der Wirtschaft, so dass man in diesem Projekt Erfahrungen sammeln kann, die denen professioneller Softwareentwicklung entsprechen.

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: 
Confluence, Jira / Redmine (Projektmanagementumgebung), Idea / Eclipse (Entwicklungsumgebungen), Renew (Integrierte Entwicklungsumgebung für Java Referenznetze), Mulan (Agentenframework), Gradle / Ant (Buildmanagement), Git (Versionierungssystem), CI/CD (Continuous Integration / Continuous Deployment), DevOps 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 deckt alle relevanten Facetten professioneller Softwareentwicklung ab. 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.

Als Entwicklungsgegenstand dient ein mittelgroßes Open-Source-Projekt mit 300.000 Zeilen Code. Zentrale Programmiersprache ist Java, wobei andere Sprachen für spezielle Bereiche ebenfalls relevant sind. Insbesondere Aspekte der Modularisierung auf unterschiedlichsten Abstraktionsebenen werden im Projekt behandelt. Ein zentraler Gegenstand ist die Gestaltung einer verbesserten Softwarearchitektur auf der Basis von Schichten und Modulen. Dieses hochaktuelle Thema der Softwaretechnik wird gemeinsam ganzheitlich vom gesamten Team adressiert.
Je nach Vorkenntnissen und Vorlieben können Schwerpunkte z.B. bei der Softwarearchitektur, der Programmierung, verschiedenen DevOps Tätigkeiten, dem Projektmanagement, der Projektanalyse mittels Business Intelligence Analysen oder Algorithmenentwurf liegen.

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:
Bei Interesse die vorlesungsfreie Zeit im Oktober zu nutzen bitte bei den Veranstaltern melden.

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, 5. Nov. 2020 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
2 Fr, 6. Nov. 2020 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
3 Do, 12. Nov. 2020 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
4 Fr, 13. Nov. 2020 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
5 Do, 19. Nov. 2020 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
6 Fr, 20. Nov. 2020 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
7 Do, 26. Nov. 2020 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
8 Fr, 27. Nov. 2020 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
9 Do, 3. Dez. 2020 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
10 Fr, 4. Dez. 2020 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
11 Do, 10. Dez. 2020 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
12 Fr, 11. Dez. 2020 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
13 Do, 17. Dez. 2020 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
14 Fr, 18. Dez. 2020 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
15 Do, 7. Jan. 2021 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
16 Fr, 8. Jan. 2021 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
17 Do, 14. Jan. 2021 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
18 Fr, 15. Jan. 2021 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
19 Do, 21. Jan. 2021 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
20 Fr, 22. Jan. 2021 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
21 Do, 28. Jan. 2021 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
22 Fr, 29. Jan. 2021 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
23 Do, 4. Feb. 2021 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
24 Fr, 5. Feb. 2021 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
25 Do, 11. Feb. 2021 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
26 Fr, 12. Feb. 2021 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
27 Do, 18. Feb. 2021 12:00 16:00 Digital Dr. Daniel Moldt; David Christopher Mosteller
28 Fr, 19. Feb. 2021 14:15 15:45 Digital Dr. Daniel Moldt; David Christopher Mosteller
Prüfungen im Rahmen von Modulen
Modul (Startsemester)/ Kurs Leistungs­kombination Prüfung Datum Lehrende Bestehens­pflicht
InfB-Proj Projekt (WiSe 20/21) / InfB_Proj_Projekt  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller Ja
InfB-Proj/1 Projekt (einsemestrig) (SoSe 20) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 2  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller 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 3  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller Ja
InfB-Proj/1/MCI Projekt Mensch-Computer-Interaktion (einsemestrig) (WiSe 20/21) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller Ja
InfB-Proj/LA Projekt (WiSe 20/21) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller Ja
InfB-Proj/LA-1UF Projekt (WiSe 20/21) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller Ja
InfB-WI-Proj/1 Projekt (einsemestrig) (WiSe 20/21) / WiInf-BAProjekt  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller Ja
InfB-WI-Proj/1 Projekt (einsemestrig) (SoSe 20) / WiInf-BAProjekt  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 2  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller 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 3  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller Ja
InfM-Proj/LA Projekt für Lehramtsstudierende (M.Ed.) (WiSe 20/21) / InfB_PJ_13.1  Projekt Von der Modellierung zur Realisierung verteilter und nebenläufiger Software-Systeme Projektabschluss 1  Projektabschluss ohne Termin Dr. Daniel Moldt; David Christopher Mosteller 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
  • 28
Lehrende
Dr. Daniel Moldt
David Christopher Mosteller