Softwarearchitektur für Entwickler: innen

Jetzt anmelden

Dieses Architektur-Seminar, das sich in erster Linie an Entwickler:innen richtet, zeigt wie Architekt:innen und Entwickler:innen optimal zusammenarbeiten.

Das Seminar vermittelt die Verantwortung, die die/der Entwickler:in am Entstehen der Architektur trägt und welche Auswirkungen Architektur auf den Entwickleralltag hat. Die Teilnehmer:innen lernen, dass Architektur sowohl von einem einzelnen Architekt:innen als auch vom Team selbst entwickelt werden kann und welche Voraussetzungen und Konsequenzen die Vorgehen jeweils haben.

Die Entwickler:innen sehen an vielen Beispielen, wie sie Architektur konstruktiv und iterativ-inkrementell mit- und weiterentwickeln können, welche Rolle Architekt:innen und Entwickler:innen dabei jeweils spielen und wie Softwarearchitektur ein leichtgewichtiges Werkzeug zur Sicherstellung der Qualität der Software sein kann.

Du erlebst an einem konkreten Fallbeispiel, in Rollenspielen und Übungen, was es für Entwickler:innen konkret bedeutet nicht einfach nur zu programmieren, sondern auch eine explizite Architektur zu haben und welche Vorteile und Auswirkungen das hat.

Inhalt

  • Unterscheiden zwischen Design und Architektur
  • Zweck und Nutzen von expliziter Architektur - wann ist Architektur "gut"
  • Agile Architektur
  • Mit Szenarien arbeiten
  • Betrachtung des Konfliktes "Features oder Architektur"?
  • Rollen im Zusammenhang mit Architektur
  • Modularisierung im Großen
  • Abhängigkeitsmanagement
  • Arten von Abhängigkeiten
  • Querschnittliche Aspekte (cross cutting concerns)
  • "Konzepte" in der Architektur
  • Arbeiten mit Mustern und Prinzipien
  • Quick Hacks, aber richtig (wenn die Vorgaben zur Last werden)
  • Arc42 effektiv nutzen
  • Qualität in Architektur und Implementierung
  • Architektur und Tests
  • Konsistenz zwischen Code und Architektur
  • Feedback aus der Implementierung als Architekturtreiber
  • Prototyping für Architektur
  • Rolle von Entwickler:innen bei der Architekturbewertung
  • Risiken kommunizieren

Voraussetzungen

  • Programmierkenntnisse
  • Erfahrungen aus Softwareprojekten