Inhalt
Softwarearchitekturkonzepte gehören zu den fundamentalen Bausteinen jeder Softwareentwicklung. Was aber verbirgt sich hinter Softwarearchitektur? Welche Aufgaben hat ein Softwarearchitekt in einem Projekt? Was führt Projekte zum Erfolg und was führt sie zum Mißerfolg? Was zeichnet gute und was weniger gute Softwarearchitektur aus?
Das sind einige der Fragen, denen sich das Seminar unter anderem widmet. Das Seminar fokussiert sich auf die fundamentalen Grundlagen von Softwarearchitektur und richtet sich sowohl an alle Softwareentwickler und auch an Softwarearchitekten, die sich einen entsprechenden Werkzeugkasten aneignen wollen und an (angehende Architekten), die ein konkretes Vorgehen erlernen wollen. Die Teilnehmer bekommen ein grundlegendes Themenpaket an die Hand.
Ausgangspunkt ist die Frage: Wenn die Entwicklung eines neuen Softwaresystems ansteht oder die Bewertung eines existierenden Softwaresystems, welche Aktivitäten sind hierfür notwendig, welche Werkzeuge und Konzepte lassen sich sinnvoll einsetzen, und welche Aufgaben hat dabei ein Softwarearchitekt.
Thematisiert werden u.a.:
- Was ist Softwarearchitektur
- Die Rolle des Softwarearchitekten
- Entwicklungsprozesse
- Anforderungen
- Modellierung und Dokumentation (UML)
- Agile Architekturtechniken (Refactoring, Unit-Testing, C/V-Analysen)
- Fundamentale Architekturkonzepte (Patterns, Frameworks, Plattformen)
- Fortgeschrittene Architekturkonzepte (Modelle, Aspekte, Produktlinien)
- Spezielle Architekturen (Komponentbasierte Ansätze, SOA, Embedded)
- Bewertung von Softwarearchitekturen
- Requirement Engineering
- Themen wie UML oder Patterns werden detailliert erklärt
- Die Gruppenübungen dienen dazu, in 3-4 Personenteams die Grundlagen anhand praktischer Beispiele zu vertiefen.