Lehrplan „Grundlagen der Software- Architektur“ - bei BITPlan!
Lehrplan „Grundlagen der Software- Architektur“ - bei BITPlan!
Lehrplan „Grundlagen der Software- Architektur“ - bei BITPlan!
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Lehrplan</strong> <strong>„Grundlagen</strong> <strong>der</strong> <strong>Software</strong>-<strong>Architektur“</strong><br />
Auswahl an Stilen<br />
Was ist <strong>bei</strong> <strong>der</strong> Erstellung einer Architektur<br />
zu beachten?<br />
Wie kann vorgegangen werden?<br />
45<br />
Fachliche und technische Rahmenbedingungen sowie das politische und organisatorische Projektumfeld<br />
prägen den Architekturstil.<br />
Welche Art von Anwendung soll entworfen werden? Ein hostbasiertes System, eine Client-Server-<br />
Anwendung, ein Embedded-System, eine plattformübergreifende Anwendung?<br />
Welche Rolle spielt die Wie<strong>der</strong>verwendung des Ergebnisses? Können vorhandene Ergebnisse wie<strong>der</strong>verwendet<br />
werden?<br />
Die Summe <strong>der</strong> Antworten auf diese Fragen führt dazu,<br />
• eine Teamaufteilung zu finden<br />
• die Anwendungen in Schichten (Layering) zu entwerfen<br />
• bestehende Komponenten/Systeme zwecks Wie<strong>der</strong>verwendung zu kapseln<br />
• das System auf mehrere logische/physische Plattformen, z. B. als Client/Server-Systeme zu verteilen<br />
• eine Fat-, Thin- o<strong>der</strong> Ultra-Thin-Client-Architektur zu wählen<br />
• die Entwicklungsergebnisse von Hand zu erstellen o<strong>der</strong> teilweise bzw. vollständig zu generieren<br />
Eine Grundlage dieser Entscheidungen bilden bereits erprobte Designmuster und Architekturstile.<br />
Deren Beschreibung folgt einer klaren Definition. Schichtenbildung auf Basis von Themengebieten<br />
ermöglicht auch <strong>bei</strong> großen Systemen, Komplexität zu beherrschen. Sowohl innerhalb <strong>der</strong> Themen<br />
als auch an <strong>der</strong>en Schnittstellen untereinan<strong>der</strong> werden Designmuster und Architekturstile eingesetzt.<br />
Als Komponente wird typischerweise eine in sich schlüssige entwe<strong>der</strong> allein ablauffähige o<strong>der</strong> durch<br />
an<strong>der</strong>e <strong>Software</strong>einheiten verwendbare <strong>Software</strong>einheit bezeichnet. Komponentenbildung ermöglicht<br />
im Idealfall das „Zusammenstecken“ von Anwendungen, wo<strong>bei</strong> Einzelteile bedarfsgerecht ausgetauscht<br />
werden können.<br />
Kapselung ermöglicht das Verstecken von Details und macht ebenfalls Komplexität beherrschbar.<br />
Die Prinzipien <strong>der</strong> Objektorientierung för<strong>der</strong>n dieses Vorgehen.<br />
Aufgrund verschiedener Anfor<strong>der</strong>ungen ist es erfor<strong>der</strong>lich, Systeme zu verteilen. Dies kann im einfachsten<br />
Falle nur logisch erfolgen und dient wie<strong>der</strong>um <strong>der</strong> Komplexitätsbeherrschung. Typischerweise<br />
wird eine Verteilung auch physisch vollzogen. Logische und physische Verteilung müssen<br />
nicht identisch sein.<br />
Fat-Client bezeichnet eine Architektur, in <strong>der</strong> <strong>der</strong> Rechner des Anwen<strong>der</strong>s die Hauptlast trägt. Beim<br />
Thin-Client sind diese Aufgaben auf einen o<strong>der</strong> mehrere leistungsstarke Server verteilt. Ultra-Thin-<br />
Clients geben auch noch einen Teil <strong>der</strong> Präsentationslogik an den Server ab.<br />
Mittels Generierungstechniken ist es möglich, viele sich wie<strong>der</strong>holende o<strong>der</strong> systematische Implementierungen<br />
automatisch zu erstellen. Konzepte wie Model Driven Architecture führen <strong>der</strong>zeit zu<br />
einem konsolidierten Vorgehen in diesem Bereich.<br />
v1.0 Seite 28 von 46<br />
© iSQI – Veröffentlichung, auch auszugsweise, nur mit schriflicher Genehmigung