- TBD: Links zu Stisys etc...
- Motivation und Grundlagen
- Hibernate
- Entwurf von Architekturen
- Architekturansichten -> Vier Sichten auf Architekturen
- UML -> Die gleichen vier Sichten
- Vorgehensweise bei der Architekturentwicklung
- Qualität von Lösungsstrategien
- Konnektoren / Schnittstellen
- Prinzipien des Architekturentwurfs (Architekturmuster)
- Architekturstile (auch Muster?)
- NoSQL als Fallbeispiel
- Organisation & Motivation
- Begriffe
- Geschichte und Trends
- Sichten auf Architekturen
- Qualiät und andere nichtfunktionale Anforderungen
- Architekturmuster
- Dokumentation von Architekturen
- Technologien und Frameworks
- Vorstellung: Wer bin ich?
- Überblick über die Veranstaltung
- 12 Vorlesungen
- 4 Praktika: Aufeinander aufbauende Aufgaben
- Eine Klausur
- Termine
- Motivation
- Was ist Softwarearchitektur?
- Was ist nicht Softwarearchitektur?
- Wozu braucht man Softwarearchitektur?
- Die Rolle des Softwarearchitekten (Status, Aufgaben, Karriere, ...)
- Großrechner mit Thin-clients
- Personalcompuer
- Web / Smartphones / Tables -> Browser als OS
- Internet of Things
- Statische vs. Dynamische Sichten
- Jeweils einige Details wichtig
- UML als Anwendung der Sichten
- Was ist Qualität?
- Skalierbarkeit
- Performance
- Sicherheit
- Wartbarkeit
- Testbarkeit
- Schichten, speziell MVC
- Plugin
- Pipes & Filters
- ...
- -> Ausblick auf Designpatterns
- Warum dokumentieren?
- Wie dokumentieren?
- Beispiele
- ARC42 Framework
- ISO Normen (Luftfahrt, Safety)
- Framework-Dokumentation
- JavaDoc
- Lesen von Framework-Dokumentation
- Tools zur Dokumentation
- Swagger als API Dokumentation
- Was sind Architketurframeworks?
- Vorteile/Nachteile von Frameworks?
- Beispiele für Frameworks
- Ruby on Rails
- .NET
- Twitter Bootstrao
- Kriterien für die Auswahl eines Frameworks
- Funktionale Anforderungen: Wieviel Framework brauche ich?
- nichtfunktionale Anf.: Was muss das FW noch so können?
- Unternehmensanforderungen: Was gibt es schon? (Vorgängerprojekte, Sprachen im Einsatz, ...)
- Verbreitung des Frameworks? (Reife, gibt es in x Jahren noch Entwickler, Wartung, Breaking Changes, ...)