SAQT
...
...
-
- 1 / 71
-
Flashcards
Wie werden Architekturmuster beschrieben?
Kontext
- Anwendungssituation, die das Problem generiert
Problem
- die verschiedenen Kräfte, die im Problem wirken
- welche Problemvarianten auftreten können
- Qualitätsattribute, die erfüllt werden müssen
Lösung
- Elementtypen und ihre Interaktion
- Topology der Elemente
- Constraints
- Erfüllungsgrad der Qualitätsattribute
Welche Qualitätsattribute beeinflussen die Auswahl einer synchronen oder asynchronen Kommunkation?
- Eigenschaften des Systems zur Laufzeit = beobachtbares Verhalten
- Availability
- Nachricht kommt zu früh/spät/nicht
- Performance
- Blockieren beim Warten
- Usability
- Siehe Performance
- Interoperability
- Security
- man in the middle? Kommunikation
- Availability
- Eigenschaften des Systems zur Entwicklungszeit
- Modifiability
- Testability
- andere dinge testen je nach impl.
- Reusability
Worin unterscheiden sich Architekturpattern von Designpattern?
Architekturpattern
- Gross / weiterer Kontext
- über gesamtes System oder Sub-System
Designpattern
- Auf Code ebene
- Kleinerer Kontext
Wie setzt die Schichtenarchitektur die folgenden Taktiken um: abstract common services, encapsulate, use an intermediary?
...
Diskutieren Sie den Unterschied zwischen Taktiken, Stilen und Mustern.
! Muster auswählen um Taktik umzusetzten. !
Taktik
Eine Taktik ist eine Entwurfsentscheidung, die Einfluss nimmt auf die Realisierung der Reaktion eines Qualitätsattributszenarios. (Richtlinien zur Verbesserung der Architektur)
Stil
Fundamentale Struktur eines Software-Systems und dessen Eigenschaften, Grundlegende Muster (Schichten, Layers, Tiers, Pipes & Filters, SOA...)
Architekturmuster ~ Stil
Grundlegende Organisation und Interaktion zwischen den Komponenten einer Anwendung.
Erkläre die Schichten Architektur.
SOA beinhaltet dynamic service registry und discovery. Welche Qualitätsattribute werden dadurch positiv oder negativ beeinflusst?
Attribut: Verfügbarkeit
- Höhere Verfügbarkeit durch discovery, sofern Services redundant sind.
- Services einzeln Testbar.
Attribut: Performance
- Ein langsamer Service kann die Performance herunter ziehen
Viele P2P Architekturen verwenden late binding der Topology. Welche Qualitätsattribute können das verlangen oder verhindern?
... Keine Antowort erhalten ...
Was sind Vor und Nachteile von Schichten?
Vorteile
- Leicht verständliches Strukturkonzept
- Minimiert Abhängigkeiten zwischen Komponenten
- Schichten sind voneinander unabhängig in Erstellung und Betrieb
- Änderungen in einer Schicht können maximal eine andere Schicht betreffen
Nachteile
- Kann die Performance eines Systems beeinträchtigen, wenn Anfragen durch mehrere Schichten weitergereicht werden müssen
- Änderungen im Datenmodell können alle Schichten betreffen (Datenverwaltung, Applikation, Präsentation)
Erkläre Pipes und Filter.
- Folge von Verarbeitungseinheiten (Filter), miteinander durch Datenkanäle verbunden (Pipes)
- Jeder Filter gibt sein Ergebnis direkt an den nächsten Filter weiter
- Pipes sind keine eigenen Komponenten in der Architektur (sind Konnektoren)
- Verschiedene Koordinationsmodelle denkbar
- Dezentrale/zentrale Steuerung
- Pipes passiv oder aktiv
- Datenübergabe komplett, stückchenweise, zeitversetzt
Was sind Vor und Nachteile von Pipes und Filters?
Vorteile
- Einfache Implementierung
- Klar verständliche Struktur
- Klar strukturierte Abläufe
- Mächtige Pipes können entscheiden, an welche Instanz eines Filters (Load balancing) oder an welchen Filter (Kapselung) sie die Daten weitergeben
Nachteile
- Filter kennen einander nicht
- Folgefehler können von ihnen nicht behandelt werden
- Konfiguration der Verarbeitungskette kann schwierig sein
- Filter können nur über Daten kommunizieren
- Gesamte Verarbeitungsinformation muss in den Daten oder der zentralen Steuerung enthalten sein
Was sind Vorteile und Nachteile der Client/Server Architektur?
Vorteile
- Zentralisierung wichtiger, rechenintensiver oder sensibler Berechnungen im Server
- Thin Clients einfach in Verteilung und Wartung
- Rich Clients oft bei Server-Ausfall noch verwendbar
Nachteile
- Netzbelastung hoch (besonders bei Thin Clients)
- Verteilung der Funktionalität nicht immer einfach
- Grenzen der Skalierung bei sehr hohen Clientzahlen
Erkläre Peer-To-Peer (P2P)
- Gleichberechtigte, über ein Netzwerk verteilte Komponenten (Peers), die sowohl die Rolle von Clients als auch Servern wahrnehmen und sich Ressourcen teilen
- Eine Art von Konnektor («interpeer connection»)
- In der Regel das Internet
- Keine zentrale Kontrolle, Peers sind frei in der Kommunikation (jeder mit jedem)
- Lokalisierung der Peers durch
- dezentrale Kommunikation (Peers tauschen untereinander ihre Listen bekannter Peers aus) oder
- einen zentralen Service
Was sind die Vor- und Nachteile von P2P?
Vorteile
- Hohe Ausfallsicherheit (kein single point of failure)
- Rechenintensive Aufgaben können verteilt werden
- Seti@Home
Nachteile
- Auffinden und Erkennen von Peers in grossen Netzen
- Potentielle Gefahr des Zerfalls des P2P Netzes
- Nur bestimmte Gruppen von Peers kennen sich
- Fehlerbehandlung (Wer reagiert, wenn ein Peer seine Aufgaben falsch löst?)
- Keine garantierten Antwortzeiten
Wie definieren Sie Architektur aus Sicht des Arbeitsprozesses und der Arbeitsergebnisse des Architekten?
Architekturentwurf- Wie verläuft der Prozess:
- Denken in Systemen
- Welches sind die grundlegenden Systemelemente?
- Wie grenzen sie sich ab?
- Welche Beziehungen treten auf?
- Anwendung von Mustern
- Welche Muster treten in den Elementen und ihren Beziehungen auf?
- Bewertung des Systementwurfs
- Wieder oben anfangen
Erkläre die Blackboard Archtektur.
- Ursprünglich aus der Künstlichen Intelligenz zur Lösung komplexer Probleme, für die kein deterministisches Lösungsverfahren existiert
- Kollaborative Problemlösung durch ansonsten unabhängige Programme
- Keine Aufrufe zwischen den Programmen, Kommunikation nur über Blackboard
- Zentrale Steuerungskomponente bewertet den Lösungsfortschritt auf dem Blackboard und aktiviert die verfügbaren Programme
Welches sind die ersten Schritte des Architekturentwurfs?
...
Wie kommen Sie von der Systemidee zur Struktur des Systems?
...
Womit dokumentieren Sie die Systemstrukturen?
...
Welche Anforderungen erfüllen gute Sichten?
...
Was sollte in einer Architekturdokumentation enthalten sein?
...
Wie dokumentieren Sie Entscheidungen nach ISO 42010?
...
Was sind Vorteile und Nachteile von Blackboards?
Vorteile
- Einfache Integration komplexer Systeme
- Parallelisierung der Berechnungen möglich
- Moderne Variante: Tuple Space
Nachteile
- Keine Garantie der Lösungsfindung
- Finden der richtigen Kontrollstrategie ist schwierig
- Keine garantierten Antwortzeiten und Lösungen
Erläutere Vor- und Nachteile einer SOA Architektur.
Vorteile
- Sehr flexible Architekturform mit einfachem Grundmodell
- Systemfunktionalitäten als wiederverwendbare Assets verkapselt
- Binden von Services zur Laufzeit und Lookup in Registries möglich
- Vielzahl von ausgereiften Standards
- Verbindung von Business und IT
- Voraussetzung für Cloud, Mashups, …
Nachteile
- Inhärente Komplexität offener, dezentralisierter Systeme
- Vielzahl schwieriger Fragestellungen
- Service design, Interoperabilität, Standards
Unterschied Testen und Experimentieren?
Testen unterscheidet sich von Experimentieren dadurch, dass es beim Testen eine Erwartuntg gibt die belegt werden soll,
während das Ergebnis beim Experimentieren offen ist oder nur vermutet werden kann.