Hinweis zur Privatsphäre: Wenn Sie sich mit Ihrem GitHub-Konto anmelden, werden Ihre Quiz-Versuche in Google Firebase gespeichert, damit Sie Ihren Fortschritt verfolgen können. Diese Daten sind nur für den Kursleiter einsehbar, werden nicht anderweitig weitergegeben und nach Semesterende gelöscht. Frühere Löschung auf Anfrage beim Kursleiter. Möchten Sie anonym bleiben? Nutzen Sie den Gastmodus oder ein GitHub-Konto ohne Ihren echten Namen.
Lädt...
Melden Sie sich an, um Ihren Fortschritt zu speichern und auf allen Geräten zu sehen.
●Fortschritt wird gespeichert
06 Quiz: Softwarearchitektur
Punkte:0 / 12
Fragen-Übersicht
OffenRichtigFalsch
Anleitung
Dies ist ein interaktives Quiz. Melde dich mit GitHub an, um deinen Fortschritt zu speichern, oder fahre als Gast fort.
Wähle deine Antwort für jede Frage
Erhalte sofortiges Feedback zu deinen Entscheidungen
Wiederhole Fragen so oft du möchtest
Verfolge deinen Fortschritt über Sitzungen hinweg
Frage1
Warum Architektur wichtig ist
Twitters “Fail Whale”-Fehlerseite (2008-2010) wurde ikonisch. Welches grundlegende Problem offenbarte sie über ihr System?
✓Richtig!
Twitters Fail Whale illustrierte, was passiert, wenn die Architektur eines Systems seinen Erfolg nicht unterstützen kann. Ihre monolithische Ruby on Rails-Anwendung konnte nicht skaliert werden, um das schnelle Wachstum der Benutzer zu bewältigen. Das Problem waren nicht die Entwickler, die Anzahl der Server oder Ruby selbst — es war die architektonische Entscheidung, alles als eine eng gekoppelte Anwendung zu bauen, die nicht unabhängig skaliert werden konnte.
✗Nicht ganz.
Frage2
Definition
Was beschreibt Softwarearchitektur laut der Vorlesung?
✓Richtig!
Softwarearchitektur beschreibt, wie ein System als eine Menge kommunizierender Komponenten organisiert ist und wie sich diese Komponenten verhalten und interagieren. Sie beantwortet Fragen wie: Wie werden Verantwortlichkeiten verteilt? Wie kommunizieren Komponenten? Wie wird das System bereitgestellt? Was passiert, wenn eine Komponente ausfällt?
✗Nicht ganz.
Frage3
Designprozess
Warum wird architektonisches Design als “kreativer Prozess” bezeichnet und nicht als formelhafter?
✓Richtig!
Architektonisches Design ist grundlegend kreativ, weil es Kompromisse beinhaltet, die vom Typ des zu entwickelnden Systems, dem Hintergrund und der Erfahrung des Architekten und den spezifischen Anforderungen des Projekts abhängen. Anders als Algorithmen mit beweisbar optimalen Lösungen hat Architektur keine “richtige” Antwort — es geht darum, informierte Entscheidungen unter Berücksichtigung von Einschränkungen und Zielen zu treffen.
✗Nicht ganz.
Frage4
Designentscheidungen
Welche der folgenden ist KEINE der zentralen Fragen, die Architekten während des architektonischen Designs berücksichtigen müssen?
✓Richtig!
Die Vorlesung identifiziert 8 zentrale architektonische Fragen: Templates, Hardware-Verteilung, Muster, grundlegende Strukturierung, Komponenten-Zerlegung, Betriebskontrolle, NFR-Organisation und Dokumentation. Die Präferenzen einzelner Entwickler für Programmiersprachen sind persönliche Entscheidungen, keine architektonischen Entscheidungen. Architektur befasst sich mit systemweiten Belangen, nicht mit individuellen Coding-Präferenzen.
✗Nicht ganz.
Frage5
Performance
Warum laufen Lenk- und Bremssysteme in der Architektur eines autonomen Fahrzeugs mit Regelkreisen bei 1 kHz (1000 Mal pro Sekunde)?
✓Richtig!
Bei 100 km/h legt ein Auto in 100ms ungefähr 2,8 Meter zurück. Für sicherheitskritische Funktionen wie Lenken und Bremsen muss das Steuerungssystem schnell genug reagieren, dass Verzögerungen nicht wahrnehmbar und sicher sind. Bei 1 kHz (1ms-Zyklen) legt das Auto nur 2,8 Zentimeter zwischen den Steuerungsaktionen zurück, was einen reibungslosen und sicheren Betrieb ermöglicht.
✗Nicht ganz.
Frage6
Sicherheit
Was ist das Prinzip der “Verteidigung in der Tiefe” (Defense in Depth) in der Sicherheitsarchitektur?
✓Richtig!
Verteidigung in der Tiefe verwendet eine Schichtenarchitektur, bei der jede Schicht zusätzliche Sicherheit bietet. Zum Beispiel: WAF (Web Application Firewall) → API Gateway → Geschäftslogik → Datenzugriff → Datenbank. Wenn ein Angreifer eine Schicht durchbricht, steht er vor weiteren Barrieren. Dies ist widerstandsfähiger als sich auf eine einzige Sicherheitsmaßnahme zu verlassen.
✗Nicht ganz.
Frage7
Verfügbarkeit
Was bedeutet “99,99% Verfügbarkeit” (vier Neunen) in der Praxis?
✓Richtig!
99,99% Verfügbarkeit (“vier Neunen”) erlaubt etwa 52,6 Minuten Ausfallzeit pro Jahr. Vergleiche: 99% = 3,65 Tage, 99,9% = 8,76 Stunden, 99,999% = 5,26 Minuten. Jede zusätzliche “Neun” erfordert exponentiell ausgefeiltere Architektur — mehrere Rechenzentren, keine Single Points of Failure und Active-Active-Replikation.
✗Nicht ganz.
Frage8
Verfügbarkeit
Welche architektonische Strategie verwendet Netflix, um hohe Verfügbarkeit zu erreichen?
✓Richtig!
Netflix erreicht 99,99% Verfügbarkeit durch mehrere Strategien: Deployment über mehrere AWS-Regionen in Active-Active-Konfiguration, Verwendung von Chaos Engineering (Chaos Monkey), um absichtlich Fehler einzuschleusen und Widerstandsfähigkeit zu verifizieren, und Aufbau zustandsloser Services, bei denen kein einzelner Service kritische Zustände hält. Das bedeutet, dass jede Instanz jede Anfrage bearbeiten kann, was Failover nahtlos macht.
✗Nicht ganz.
Frage9
Wartbarkeit
Warum ist “Trennung der Zuständigkeiten” (Separation of Concerns) das Kernprinzip wartbarer Architektur?
✓Richtig!
Trennung der Zuständigkeiten bedeutet, verschiedene Verantwortlichkeiten zu isolieren, sodass Änderungen in einem Bereich nicht durch das gesamte System wellenartig wirken. Wenn du änderst, wie Daten gespeichert werden, solltest du nicht die UI ändern müssen. Wenn du eine Berechnung korrigierst, solltest du nicht die Authentifizierung kaputt machen. Diese Isolation macht das System einfacher zu verstehen, zu testen und zu ändern — kritisch, weil 80% der Softwarekosten Wartung sind.
✗Nicht ganz.
Frage10
Kompromisse
Was wird laut Vorlesung typischerweise geopfert, wenn für Performance optimiert wird?
✓Richtig!
Performance-optimierte Architekturen opfern oft Modularität und Testbarkeit. Eng gekoppelte, monolithische Komponenten minimieren Kommunikationsaufwand und sind schnell, aber sie sind schwer zu verstehen, zu testen und zu ändern. Die Vorlesung betont, Performance-Optimierung nur dann zu wählen, wenn die Anforderungen es wirklich erfordern, nicht als Standard.
✗Nicht ganz.
Frage11
4+1-Sichten
Welche Sicht im 4+1-Sichtenmodell zeigt, wie die Software in Pakete und Module für Entwicklungszwecke zerlegt ist?
✓Richtig!
Die Entwicklungssicht zeigt, wie Code in Pakete und Module organisiert ist. Sie beantwortet Fragen wie “Wo befindet sich diese Funktionalität in der Codebasis?” und hilft bei der Koordination der Entwicklung (“Anna arbeitet an services/, Ben arbeitet an presentation/”). Die Logische Sicht zeigt Domänenabstraktionen, die Prozesssicht zeigt Laufzeitverhalten, und die Physische Sicht zeigt Hardware-Deployment.
✗Nicht ganz.
Frage12
4+1-Sichten
Laut dem 4+1-Sichtenmodell, wer sind die primären Stakeholder für die Physische Sicht?
✓Richtig!
Jede Sicht im 4+1-Modell dient verschiedenen Stakeholdern: Logische Sicht → Entwickler, Domänenexperten. Prozesssicht → Performance-Ingenieure, Integratoren. Entwicklungssicht → Programmierer, Projektmanager. Physische Sicht → System-Ingenieure, Betrieb. Szenarien (+1) → alle Stakeholder. Die Physische Sicht befasst sich mit Deployment-Fragen wie Hardware, Netzwerke und Skalierung.