64-858-P Masterprojekt Kooperative Realisierung verteilter und nebenläufiger Software-Systeme

Veranstaltungsdetails

Lehrende: Dr. Daniel Moldt; David Christopher Mosteller

Veranstaltungsart: Projekt

Anzeige im Stundenplan: MProj - ThI

Semesterwochenstunden: 6

Unterrichtssprache: Deutsch

Min. | Max. Teilnehmerzahl: - | 12

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.

Ein Schwerpunkt dieses Masterprojektes liegt auf der Reflektion der konkreten Durchführung von Softwareentwicklungsprojekten. Diese beinhaltet es auf einer höheren Abstraktionsebene Mittel für die Software-Entwicklung und Modellierung zu reflektieren, als dies bei bisher kennengelernten Entwicklung und Modellierung der Fall ist. Somit werden Techniken, Methoden und Werkzeuge zur Generierung von Software, Modellen, Umgebungen, Sprachen, Techniken etc. eingesetzt. Durch die wesentliche höhere Abstraktion kann produktiver gearbeitet werden. Die dafür notwendigen Kenntnisse werden im Projekt vermittelt.

Lernziel:
Inhaltlich werden wesentliche Facetten eines Ansatzes erworben oder vertieft. Aufgrund deren Vielzahl können alle Teilnehmenden je nach ihren persönlichen Voraussetzungen unterschiedliche Themen erlernen, bearbeiten und vertiefen. Das betrifft die konkreten Umsetzungen im Bereich (Architektur)-Entwurf und Implementierung ebenso wie das Projektmanagement. Neben den software-technischen Aspekten lernen die Teilnehmenden, ein Projekt mit einem konkreten Ziel durchzuführen und somit zeitlich und räumlich verteilte Aufgaben mit einem großen heterogenen Team zu bearbeiten.

Das Projekt spiegelt durch das gleichzeitig stattfindende Bachelorprojekt sehr gut die Heterogenität der Beteiligten in der Praxis wider. Die jeweiligen Lernziele werden zudem studiengangs- und personenbezogen angepasst.

Kenntnisse des Ansatzes befähigen sowohl zur Kooperation in (verteilten) Teams als auch zur optimalen Realisierung verteilter und nebenläufger Software.

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. 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. Jira, Confluence / Eclipse, Redmine, Renew, Versionierungssysteme, Datenbanken, Continuous Integration, Programmiersprachen oder Metamodellierung. Die koordinierte Zusammenarbeit einer größeren Anzahl Personen mit dem Ziel, erfolgreich ein gemeinsam verantwortetes Software-Produkt 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.

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. Das Seminar vertieft die Konzepte des Projektes.

Bei Interesse die vorlesungsfreie Zeit im Oktober zu nutzen bitte bei den Veranstaltern melden.

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

Zusätzliche Hinweise zu Prüfungen:
Scheine und Noten können entsprechend der jeweiligen Prüfungsordnungen erworben werden.

Das Projekt eignet sich aufgrund der allgemeinen Themenstellung für alle Masterstudiengä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 Prüfung Datum Lehrende Bestehens­pflicht
Ü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