Inhalt
Beschreibung:
Die Architektur eines Software-Systems beeinflusst in entscheidender Weise dessen Erfolg. Sie bestimmt, ob dieses System effektiv und kostengünstig entwickelt werden kann, ob es produktiv einsetzbar ist und ob es im Laufe seiner Lebenszeit optimiert, erweitert und an veränderte Technologien, Nutzungs-Szenarien oder kundenspezifische Bedürfnisse angepasst werden kann.
Doch was genau ist eine Software-Architektur? Und was sind die Aufgaben eines Software-Architekten? Wie geht ein Software-Architekt bei der Erstellung einer Software-Architektur vor? Welche strategischen Entwurfsziele darf er dabei nicht aus den Augen verlieren und auf welche Qualitätsmerkmale muss er acht geben?
In diesen 3-tägigen intensiven Architekturseminar vermittelt der Architektur-Experte Frank Buschmann den Teilnehmern das Praxiswissen zu wesentlichen Themen moderner Software-Architekturerstellung. Anhand von realen Beispielen und Übungen am eigenen Projekt wird systematisch vermittelt:
* was die Aufgaben eines Software-Architekten sind
* wie er bei der Entwicklung von Software-Architekturen vorgehen sollte
* wie er konstruktiv Architekturentscheidungen treffen kann
* wie er die Qualität von Software-Architekturen überprüfen kann
* wie er die Weiterentwicklung von Software-Architekturen sicherstellen kann
Folgende Themengebiete werden in dem Seminar behandelt:
* Rollenprofil und die Verantwortlichkeiten des Software-Architekten
* Praktiken agiler Software-Entwicklung aus der Sicht der Architekturerstellung: System Scoping, Base-Line Architecture, Test- und Risikogetriebenes Entwerfen, Strategisches und Taktisches Design, Design für Operational and Developmental Quality, Design für Usability, Design ökonomischer Architekturen, Vermeidung von Architektonischer Drift und Architekturerosion
* Patterns, Practices und Methoden für wichtige Qualitätsattribute von Software-Architekturen: z.B. Performance und Erweiterbarkeit
* Refactoring, Re-Engineering und Re-Writing Die Lerninhalte der Akademie sind für alle Arten von Software-Systemen relevant, ob Enterprise Anwendungen oder Embedded Systeme, Individuallösungen, Produkte oder Plattformen.
Alle Themen werden sowohl im Überblick als auch selektiv im Detail betrachtet, beispielsweis testbasiertes Entwerfen oder konkrete Patterns und Practices für Performance und Erweiterbarkeit.