Berichte aus der Praxis, ein intensiver Erfahrungsaustausch zwischen den Teilnehmenden und mit erfahrenen Architekten sowie Informationen zu Zertifizierungsprogrammen runden den Kurs ab und sichern den Transfer des Erlernten in Ihre berufliche Praxis.
Module und Inhalte
Modul 1: Einführung in den Software-Architektur-Entwurf
Agile Vorgehensmodelle erfordern die kontinuierliche Integration von Architekturarbeit. Teilnehmende werden sich dieser Herausforderung bewusst und setzen sich mit der Rolle, den Aufgaben und Kompetenzen des Software-Architekten in agilen Organisationen auseinander. Sie erlernen, wann welche Entscheidungen getroffen werden müssen und wie die konzeptionelle Architekturarbeit mit der agilen Entwicklung verzahnt wird.
Modul 2: Architektur-Dokumentation
Gute, das heisst nützliche Dokumentation und Modelle erleichtern die Kommunikation für Architektinnen. Neben den Architekturentscheidungen, die dokumentiert werden müssen, spielen die Definition und Dokumentation von funktionalen und nicht funktionalen Anforderungen sowie die Erstellung von Architektur-Sichten eine wichtige Rolle in der Arbeit von Software-Architekten. Das Wissen der Teilnehmenden zu Standards wie UML 2, BPMN 2, ISO 25010 und ISO 42010 wird aufgefrischt und vertieft. Es wird diskutiert, wie diese Dokumentationsmittel im Rahmen der Architekturdokumentation nutzbringend eingesetzt werden können. Die architekturspezifischen Dokumentationsmethoden ADM/ADR, arc42 und c4 werden vermittelt und in zahlreichen Praxisbeispielen geübt.
Die Module 1+2 können auch separat als Fachkurs Software Architektur Dokumentation besucht werden.
Modul 3: Architektur-Methoden und -Mittel
Architektur-Methoden und -Mittel helfen, die richtigen Fragen beim Entwurf der Architektur eines Software-Systems zu stellen. Alternativen in der Entscheidungsfindung werden systematisch bewertet und die besten Entscheidungen im Hinblick auf die zu erreichenden Qualitätseigenschaften eines Software-Systems getroffen. Teilnehmende können moderne Technologien wie zum Beispiel Cloud, Microservices, Container, IoT, Blockchain oder Künstliche Intelligenz in ihren Architekturentwürfen einsetzen und erlernen Methoden zum zielgerichteten Einsatz der folgenden Mittel:
- Funktionale Anforderungen systematisch kategorisieren und priorisieren nach Architekturrelevanz, Einsatz von Zielhierarchien nach Cockburn
- Nichtfunktionale Anforderungen (Qualitätseigenschaften) testbar und messbar gestalten, Szenarien nach Bass, Clements, Kazman bei der Analyse und Evaluation eines Architekturentwurfs verwenden
- Systemvision und Systemidee für unterschiedliche Stakeholder aufbereiten und kommunizieren
- Systemkontext abgrenzen und praxistaugliche Betriebsmodelle als entscheidende Absicherung der Lebensfähigkeit einer Architektur entwerfen, Architektur-Sichten erstellen
- Fachdomäne mit Domain-Driven Design aus Architektursicht strukturieren
- Prinzipien, Taktiken, Architekturstile und -muster im Architekturentwurf einsetzen und erfolgreich anwenden
Modul 4: Analyse und Evaluation von System-Architekturen
Die Architektur eines Software-Systems ist massgebend für die Qualitätseigenschaften, die das System innehat. Sie beeinflusst direkt Eigenschaften wie Performanz, Zuverlässigkeit, Sicherheit oder Wartbarkeit. Eine frühzeitige Identifikation der Schwächen, Stärken und Risiken einer Software-Architektur hilft dem Entwicklungsteam, ein Vorhaben effektiv in gewünschter Qualität und Zeit umzusetzen.
ATAM (Architecture-Trad-off-Analysis Method) ist eine gut geeignete Methode, um zu überprüfen, ob eine Architektur die gewünschten Qualitätseigenschaften erfüllt. Teilnehmende erlernen die Grundlagen von ATAM und wie die Methode zielführend und mit vertretbarem Aufwand in der Praxis eingesetzt wird. Häufige Fehler im Architektur-Entwurf anhand konkreter Beispiele echter Software-Systeme werden diskutiert und es wird aufgezeigt, wie diese frühzeitig erkannt und vermieden werden können.
Modul 5: Moderne System-Architektur in der Praxis
Technologien wie Cloud, Microservices, Container, IoT oder Blockchain und Künstliche Intelligenz finden immer mehr Eingang in die Architektur von Software-Systemen. Ihr Einsatz unterstützt nicht nur neue Funktionalitäten, sondern beeinflusst auch mögliche Qualitätseigenschaften, die wir anhand von konkreten Software-Systemen mit erfahrenen Software-Architekten diskutieren. Herausforderungen im Architekturentwurf werden thematisiert und konkrete Lösungen werden vorgestellt, die diese Herausforderungen beherrschbar machen. Wege zu einer Zertifizierung als Software-Architekt werden aufgezeigt und die Zertifizierungsprogramme von iSAQB© und Open Group® vorgestellt.
Das Modul 5 kann auch separat als Fachkurs Software Architektur in der Praxis besucht werden.
Modul 6: Transferarbeit
Teilnehmende wenden ihr Wissen in einer Transferarbeit an, die kontinuierlich während des CAS bearbeitet wird. In dieser Arbeit wird die Architektur eines Software-Systems aus dem beruflichen Umfeld erarbeitet, dokumentiert und evaluiert, wobei die erlernten Architektur-Methoden und -mittel zum Einsatz kommen. Architekturentwürfe werden im Plenum präsentiert und verteidigt und dabei eingehend mit allen Teilnehmenden und den anwesenden Architekten diskutiert und evaluiert.