Systementwurf allgemein Auswirkungen von Entscheidungen verstehen, z.B. Virtualisierung und Cloud-Infrasturkturen, Entwurfsmuster... → mit Module | Kohäsion (cohesion) | Kopplung (coupling Entwurfsziele festlegen: Einschränkung möglicher Alternativen im Entwurf ermöglichen Entwurfsentscheidungen (Quality Tree)→ durch Nichtfunktionale Anforderungen | Termine mit dem Auftraggeber | Studium der Anwendungsdomäne Subsysteme definieren Softwarearchitektur – Festlegung der Organisation eines Softwaresystems fest durch Komponenten und Verbindungen → Spezifikation der wesentlichen Strukturen eines Anwendungssystems, dh. der Komponenten und Schnittstellen (Bausteinsicht) Fachliche Architektur – Architektur des Softwaresystems aus fachlicher Sicht, d.h. aus Sicht der FachabteilungTechnische Architektur – Realisierung der logischen Komponenten auf der Grundlage der technischen Infrastruktur Architekturmuster – Lösungsansatz, der für Element der Architektur durchgängig und ausnahmslos angewandt wird Beispiele: Datenzentrierte Architektur | Schichtenarchitektur | Ereignisbasierte Architektur | Service-orientierte Architektur Datenzentriete Architektur: Komponenten kommunizieren über eine Datenbank→Etablierung eines einheitlichen Datenmodells ist organisatorisch und technisch höchst anspruchsvoll Schichtenarchitektur: Komponenten mit Zusammenhang werden einer Schicht zugewiesen.→ Komponenten einer Schicht dürfen nur die Komponenten dieser und der Schicht nutzen→ Aufrufe passieren Schichten von oben nach unten.→ Ergebnisse werden von unten nach oben durchgereicht. Verteilung – Festlegung, auf welchen Rechnern die Komponenten einer verteilten Anwendung installiert werden Datenhaltung | Geschäftslogik | Ergebnisdarstellung | verschiedene Architektueren → Ein-Ebenen-Architektur: Komponenten der Anwendung werden auf einem Rechner installiert. (Zentralrechner) (ERP-Systeme)→ Zwei-Ebenen-Architektur: Komponenten der Anwendung werden auf zwei Rechnern installiert (Client und Server) (Datenbank)→ Drei-Ebenen-Architektur: Komponenten auf drei Rechnern (Datenbankserver, Applikationsserver, Client) (ERP-Systeme)→ Mehrebenen-Architektur: mehrere Rechnern (Datenbankserver, Applikationsserver, Websever, Client-Rechner) (Onlineshops) Zwei-Ebenen-Architektur