M1 Flashcards
Welche Architekturprinzipien sehen Sie in folgendem Klassendiagramm verletzt?
- Vermeide zyklische Abhängigkeiten
- Interface Segregation Principle
Wie hängt die Verteilungssicht im SAD mit der Bausteinsicht zusammen?
- Die Verteilungssicht beschreibt die Verteilung der Bausteine auf physische Ressourcen.
- Die Bausteinsicht legt die interne Struktur und Abhängigkeiten der Bausteine fest.
- Beide Sichten sind eng miteinander verbunden
Nachfolgend ist schematisch ein verteiltes System in 2 Varianten dargestellt. Die Komponenten des Systems wurden in der 2. Variante zur Laufzeit entkoppelt, durch die Kommunikation über eine asynchrone Middleware (Messaging).
Welche der Antworten sind zutreffend?
- Die Pufferung in der asnychronen Middleware kann beim Umgang mit kurzzeitigen Last-Spitzen helfen
- Durch die Entkopplung darf erwartet werden dass sich die Verfügbarkeit des Systems erhöht
Welches sind Teile eines strukturierten Vorgehens beim Entwurf einer Software-Architektur?
- Systemidee mit Stakeholdern validieren
- Überprüfung von Risiken mittels Prototypen
- Resultate immer wieder vorstellen und im Team besprechen
- Nach Grundsätzen & Prinzipen entscheiden
Welches sind geeignete Mittel um Architektur-Dokumentation aktuell zu halten
- Eher dokumentieren “Warum” es etwas so entworfen wurde als “Wie” es umgesetzt wurde
- Aktualisierung früh in den Prozess einbinden
- Entscheide festhalten mit Varianten, Annahmen und Zeitpunkt
Welches sind Mittel um Architekturarbeit im agilen / iterativen Kontext einzubetten?
- Automatisierung von Dokumentation und Governance
- Qualitätsstories im Backlog einplanen
- Früh Feedback einholen
- Risikogetrieben priorisieren
- Mit einem Walking Skeleton Architekturkonzepte verifizieren
Was benötigen Sie zum Erstellen einer Zerlegung in Komponenten?
Anforderungen und Randbedingungen
Das Anforderungskonzept verlangt eine pro Monat bewertete Verfügbarkeit eines Systems von 99.0%.
Wieviele Minuten darf das System pro Monat maximal ausfallen (Monat = 30 Tage)?
432
Welche dieser Punkte sind spezifische Herausforderungen des Loggings in verteilten Systemen?
- Korrelation der Log-Einträge zwischen Systemen
- Einfluss auf Performance durch Streaming der Logs übers Netzwerk
Wie hilft ein “Walking Skeleton” dabei, die Architektur zu entwicklen?
Ist eine Teil-Implementation des Systems welches die aus Architektursicht wesentlichen Komponenten beinhaltet und ermöglicht so die
Architekturvision früh zu validieren
Was sind die Auswirkungen wenn eine Komponente eine geringe interne Kohäsion hat? Begründen Sie (mind. 2 Auswirkungen).
- Schwierigkeiten bei der Wartung und Erweiterung
- Beeinträchtigung der Wiederverwendbarkeit
Was verstehen Sie unter “Anti-Zähigkeit”?
Ein System braucht neben Robustheit auch die Fähigkeit, von Störungen oder Veränderungen profitieren zu können und dadurch stärker zu werden.
Geben Sie zwei Gegenbeispiele davon: Wie und warum Sie als Architekt/in die Wahrscheinlichkeit dafür verringern dass das Architektur-Konzept im Entwicklungs-Team eingehalten wird.
- Mangelnde Kommunikation und Dokumentation
- Fehlende Schulung und Unterstützung
Welche dieser UML-Diagrammtypen zeigen eine Laufzeitsicht?
- Sequenzdiagramm
- Aktivitätsdiagramm
Worauf müssen sie achten bei Caching in der Persistenz-Schicht? Nennen Sie 2 Punkte.
- Muss bei Änderungen aktualisiert werden (Data Freshness)
- Erhöht Speicherverbrauch