1/52
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Begriff: Unternehmensarchitektur
Definition: Die strategische Organisation der IT-Landschaft zur optimalen Unterstützung der Geschäftsziele eines Unternehmens.
Beispiel: Die Verwaltung eines Portfolios von hunderten IT-Systemen und deren Synchronisation mit der Geschäftsstrategie.

Begriff: Conway‘s Law
Definition: Die Beobachtung, dass die Struktur eines Softwaresystems die Kommunikationsstrukturen der erstellenden Organisation widerspiegelt.
Beispiel: Wenn drei separate Teams an einem Compiler arbeiten, wird dieser am Ende wahrscheinlich drei Phasen bzw. Komponenten haben.

Begriff: Fachliche Architektur
Definition: Eine Ebene der Architektur, die Entitäten, Prozesse und fachliche Interaktionen unabhängig von der technischen Umsetzung beschreibt.
Beispiel: Ein Domänenmodell für eine Versicherung, das die Beziehung zwischen 'Versicherter', 'Police' und 'Schadensfall' festlegt.

Begriff: Systemtechnische Architektur
Definition: Beschreibung der physischen Ressourcen, Betriebssysteme und Protokolle, die für den Betrieb der Software genutzt werden.
Beispiel: Festlegung, dass die Anwendung auf Linux-Servern mit dem HTTP/2-Protokoll und einer Middleware für Lastverteilung läuft.

Begriff: Firmitas (nach Vitruv)
Definition: Das architektonische Prinzip der Stabilität und Dauerhaftigkeit eines Bauwerks bzw. Systems.
Beispiel: Eine Datenbank-Architektur, die durch Redundanz auch bei Hardware-Ausfällen stabil bleibt.
Begriff: Utilitas (nach Vitruv)
Definition: Das Prinzip der Nützlichkeit und Zweckmäßigkeit eines Entwurfs.
Beispiel: Ein Softwaremodul, das genau die funktionalen Anforderungen der Endnutzer ohne unnötigen Overhead erfüllt.
Begriff: Venustas (nach Vitruv)
Definition: Das Prinzip der Anmut oder Schönheit im Entwurf.
Beispiel: Ein klar strukturierter und konsistent gestalteter Quellcode-Aufbau, der für Entwickler 'schön' zu lesen ist.
Was passiert, wenn die Softwarearchitektur eines wachsenden Systems schlecht ist?
Die Änderungskosten steigen überproportional an, da das System unübersichtlich wird und jede kleine Anpassung weitreichende Nebeneffekte hat.

Was passiert, wenn Millionen Zeilen Quellcode in einer einzigen Datei stehen?
Die Re-Compilation dauert technisch extrem lange und die konzeptionelle Komplexität wird für Entwickler unbeherrschbar.
Was passiert bei einem Erfolg einer Software ohne begleitende Architekturarbeit?
Die Qualität sinkt bei steigender Codebasis, da die Wartbarkeit und das Verständnis für das Gesamtsystem verloren gehen.

Was passiert, wenn ein Software-Architekt ausschließlich auf 'richtige Prinzipien' ohne fachlichen Bezug setzt?
Es entsteht Over-Engineering, bei dem das System unnötig komplex wird und am eigentlichen Bedarf der Fachabteilung vorbeigeht.
Was passiert, wenn die Softwarearchitektur zur Wissensspeicherung genutzt wird?
Die Einarbeitung neuer Teammitglieder wird beschleunigt und die Wiederverwendung bewährter Lösungen wird planbar.
Was passiert, wenn Architektur als Kommunikationsmedium dient?
Missverständnisse zwischen Kunden, Entwicklern und Testern werden reduziert, da eine gemeinsame Diskussionsgrundlage über Anforderungen existiert.
Wie unterscheidet sich 'Software-Architektur' von 'Requirements Engineering (RE)'?
1. Fokus: RE betrachtet den Problemraum (Nutzerbedürfnisse), Architektur den Lösungsraum.
2. Technik: RE ist technikunabhängig, Architektur berücksichtigt technische Rahmenbedingungen.
3. Ziel: RE sucht das 'Was', Architektur das 'Wie' auf strategischer Ebene.
Wie unterscheidet sich 'Software-Architektur' von 'Software-Entwurf'?
1. Abstraktion: Architektur arbeitet auf hohem Niveau (strategisch), Entwurf auf niedrigem Niveau (taktisch/feingranular).
2. Fokus: Architektur klärt übergreifende Strukturen, Entwurf klärt konkrete Objektstrukturen.
3. Reichweite: Architektur trifft langfristige Leitlinien, Entwurf trifft Einzelfallentscheidungen.
Wie unterscheiden sich 'Thin Client', 'Rich Client' und 'Fat Client'?
1. Präsentationslogik: Beim Thin Client auf dem Server, beim Rich/Fat Client auf dem Client.
2. Serverlast: Hoch beim Thin Client, niedrig beim Fat Client.
3. Installation: Kein lokaler Installationsaufwand beim Thin Client (Browser), hoher Aufwand beim Fat Client.

Wie unterscheiden sich 'Plattformspezialisten' von 'generellen Software-Architekten'?
1. Wissen: Detailliert auf eine Technologie (.NET/J2EE) beschränkt vs. übergreifend.
2. Abstraktion: Niedrig (Lösungsmuster der Plattform) vs. hoch (Eignungsprüfung der Plattform).
3. Entscheidungsebene: Technischer Fokus vs. fachlich-strategischer Fokus.
Szenario: Ein Unternehmen möchte eine Anwendung entwickeln, die ohne Internetverbindung voll funktionsfähig ist und lokal Daten synchronisiert.
Welches Client-Konzept ist am besten?
Konzept: Fat Client.
Lösung: Die Businesslogik und Datenhaltung liegen lokal auf dem Client, was die geforderte Offline-Arbeit ermöglicht.

Szenario: Ein Startup hat ein Team von 50 Entwicklern und muss sicherstellen, dass Aufgaben entkoppelt bearbeitet werden können.
Welche SA-Aufgabe greift hier?
Konzept: Effizienz des Entwicklungsprozesses.
Lösung: Durch Architekturarbeit werden Komponenten entkoppelt und Rahmenvorgaben gemacht, was paralleles Arbeiten ermöglicht.
Szenario: Ein Architekt muss entscheiden, wie das System in 5 Jahren erweitert werden kann, ohne alles neu zu bauen.
Welcher Aspekt der SA-Definition ist hier zentral?
Konzept: Evolution des Systems.
Lösung: Die Architektur legt Prinzipien fest, die nicht nur den aktuellen Entwurf, sondern auch die langfristige Weiterentwicklung steuern.
Szenario: Ein Team stellt fest, dass die Kosten für Bugfixes in der Mitte des Projekts explodieren.
Welches Diagramm aus Kapitel 1 erklärt das?
Konzept: Änderungskosten-Kurve bei schlechter Architektur.
Lösung: Eine gute Architektur hätte die Komplexität strukturiert und die Änderungskosten stabil gehalten.
Szenario: Ein Unternehmen will IT-Ressourcen wie Cloud-Plattformen und Netzwerke optimal für die Software bereitstellen.
Welche Ebene der Architektur ist zuständig?
Konzept: Systemtechnische Architektur.
Lösung: Hier werden die IT-Basisinfrastruktur und die physische Aufteilung der Ressourcen geplant.
Szenario: Ein Software-Architekt stellt fest, dass die Software-Module exakt wie die Abteilungen der Firma aufgebaut sind.
Welches Prinzip wirkt hier?
Konzept: Conway‘s Law.
Lösung: Die Organisationsstruktur hat die Softwarestruktur vorgegeben, was oft zu einer Architektur führt, die der internen Kommunikation entspricht.
Szenario: Ein Kunde verlangt, dass die Software in Java entwickelt wird und auf einem bestimmten Datenbankserver laufen muss.
Welcher SA-Einflussfaktor ist das?
Konzept: Technische Rahmenbedingungen.
Lösung: Diese Vorgaben (Standards, Programmiersprachen) schränken den Entwurfsspielraum des Architekten ein.
Was ist Software-Architektur als 'Disziplin'?
Der Bereich, der sich mit der strukturierten Entwicklung von Systemen sowie der Bereitstellung nützlicher Methoden und Werkzeuge befasst.
Was ist Software-Architektur als 'Aktivität'?
Der Prozess der Erstellung, Strukturierung und Unterteilung von Software auf Basis von Fachwissen inklusive der Dokumentation.
Was ist Software-Architektur als 'Artefakt'?
Die dokumentierten Ergebnisse (z. B. Diagramme, Beschreibungen), die als verbindliche Basis für die Entwicklung dienen.
Nenne die drei historischen Prinzipien der Architektur nach Vitruv.
Firmitas (Stabilität)
Utilitas (Nützlichkeit)
Venustas (Anmut/Schönheit).
Was ist die Kernaufgabe eines Architekten im Entwurf?
Funktionale Ziele unter Einhaltung von Rahmenbedingungen (Budget, Gesetze, Technik) zu erfüllen und als Bindeglied zwischen Analyse und Umsetzung zu agieren.
Was versteht man unter der 'Bauüberwachung' in der Softwarearchitektur?
Die frühzeitige Erkennung von Planungsfehlern
Die Abnahme der vereinbarten technischen Leistungen während der Implementierung.
Warum ist ein Gleichgewicht zwischen Feature-Entwicklung und Architekturarbeit wichtig?
Weil reine Feature-Entwicklung ohne Struktur langfristig zu technischer Schuld führt, die die Weiterentwicklung blockiert.
Welche zwei Dinge ist Software-Architektur laut Vorlesung ausdrücklich NICHT?
Sie ist NICHT nur ein Diagramm und NICHT nur Quellcode.
Was sind 'qualitative Ziele' in der Software-Architektur?
Anforderungen wie z.B
Performance
Sicherheit
Wartbarkeit
die oft standardisierbar sind, aber seltener explizit vereinbart werden als funktionale Ziele.
Welche vier Ebenen beschreibt die Modellpyramide der Architektur?
Unternehmensarchitektur
Facharchitektur
Softwaretechnische Architektur
Systemtechnische Architektur
Was ist das Hauptziel der 'Softwaretechnischen Architektur'?
Die Aufteilung der Software in Module/Komponenten
Die Definition ihrer Interfaces und Aufrufbeziehungen
Warum kann ein guter Software-Architekt laut Fehlvorstellung NICHT alles alleine entscheiden?
Weil große Freiheit ohne Team-Abstimmung zu Over-Engineering und mangelnder Akzeptanz im Entwicklungsteam führt.
Was bedeutet 'form follows function' im Kontext der Architektur?
Dass die Gestaltung (Venustas) der Nützlichkeit (Utilitas) untergeordnet ist bzw. sich aus ihr ableiten muss.
Welche organisatorischen Bedingungen beeinflussen eine Architektur neben Conway‘s Law?
Langfristige Unternehmensziele und die Einbindung externer Lieferanten.
Was ist das 'Domänenmodell' in der Facharchitektur?
Eine Darstellung der fachlichen Entitäten und ihrer Beziehungen zueinander, losgelöst von technischer Implementierung.
Was umfasst die IT-Strategie in der Unternehmensarchitektur?
Das Zusammenspiel aller Softwaresysteme im Unternehmen zur Erreichung der Geschäftsziele.
Warum sind Prinzipien in der Architektur nur 'Leitplanken'?
Weil sie konsequent, aber mit Blick auf den konkreten fachlichen Bedarf angewendet werden müssen, um Starrheit zu vermeiden.
Welche Rolle spielt die 'Planung und Organisation' für einen Architekten?
Er legt fest, welche Leistungen wann, wie schnell und von welchem Anbieter erbracht werden müssen.
Welches Client-Modell nutzt einen Browser als GUI, während die Logik auf dem Server liegt?
Thin Client.
Was ist das Problem bei 'Technischen Architekten', die nur ihre Plattform beherrschen?
Sie können oft nicht objektiv über die generelle Eignung ihrer Plattform für ein spezifisches Problem entscheiden.
Warum ist die Abgrenzung zum Quellcode wichtig?
Weil Architektur strategische Entscheidungen trifft, während Quellcode die taktische Umsetzung dieser Entscheidungen ist.
Welche technische Komponente ist beim Fat Client im Vergleich zum Thin Client zusätzlich auf dem Client vorhanden?
Die Businesslogik (Anwendungsschicht).
Welcher Grund für Architektur adressiert die Koordination vieler Entwickler?
Der organisatorische Grund.
Welcher Grund für Architektur befasst sich mit der Strukturierung in übersichtliche Einheiten?
Der konzeptionelle Grund (Beherrschung von Komplexität).
Was ist die Motivation hinter 'Softwaretechnischer Architektur' laut Definition?
Ein Modell des gesamten Systems bereitzustellen, das alle für die Konstruktion relevanten Anforderungen integriert.
Welche Disziplinen in der Informatik nutzen den Begriff 'Architektur'?
Rechnerarchitektur
Prozessorarchitektur
Netzwerkarchitektur
Softwarearchitektur
Was ist der Unterschied zwischen präskriptiver und deskriptiver Anwendung von Prinzipien?
Präskriptiv bestimmt den Entwurf (Vorgabe)
Deskriptiv dient der Bewertung bestehender Systeme (Beschreibung)
Was ist ein 'Designspezialist' im Gegensatz zum Architekten?
Jemand, der feingranulare Objektstrukturen mit Entwurfsmustern entwirft, aber auf einem zu niedrigen Abstraktionsniveau für das Gesamtsystem arbeitet.
Warum ist 'Gute Software bleibt wartbar' ein Kernziel der Architektur?
Damit bei Erfolg der Software die Qualität auch bei steigender Entwickleranzahl und Codebasis erhalten bleibt.