Software Architektur Flashcards
Zentrale Begriffe der Softwarearchitektur
Kontextabgrenzung
Prinzipien
Querschnittskonzepte
Bausteine, Struktur, Schnittstelle, Laufzeitverhalten, Verteilung
Definition Baustein
Ein allgemeiner Begriff für Komponenten, Subsysteme, Pakete, Module, Klassen, Funktionen, Prozeduren, Frameworks oder andere Abstraktionen von Quellcode
Definition Schnittstelle
Zugangspunkt zum System oder Baustein
Kommunikation nach aussen
Fäden des gesamten Systems
Ziele der Softwarearchitektur
Beschreiben
Nachweisen
Vorschreiben
Risiken vermeiden
Architektur-Aktivitäten
Einflussfaktoren: Ziele, Stakeholderanliegen, Rahmenbedingungen, Anforderungen und Szenarien
Stakeholder & Kommunikation: Stakeholderzusammenarbeit, Architekt (Berater, Verkäufer, Entscheidungsträger), Sichten
Leitfaden: Annahmen & Risiken, Vorgehen, Hilfmittel/Werkzeuge, Prinzipien
Lösungsstrategie: Kontextabgrenzung, Architekturstruktur -> Auswahl der Alternativen
Lösungsentwurf: Bausteine, Laufzeitverhalten, Verteilung, Querschnittskonzepte, Architekturentscheidungen, Prototyp, Feedback, Vorgaben, Bewertung/Feedback
Zusammenfassung der Architekturaufgaben
Einflussfaktoren klären Kommunizieren Leitfaden bestimmen Lösungsstrategie erstellen Lösungsentwurf erstsellen Bewertung & Feedback einholen
Was für Randbedingungen gibt es?
Ressourcen Standards Organisation Trends Technologien juristische Aspekte
Welche Einflussfaktoren schränken die Lösungsmöglichekeiten ein?
Ziele
Anforderungen
Randbedingung
Stakeholder Anliegen
Projektmanagement magisches Dreieck
Ressourcen, Scope, Zeitplan
Conways Law
Organisationen, die Systeme entwerfen… sind gezwungen, Designs zu produzieren, die Kopien der Kommunikationsstrukturen dieser Organisation sind.
Umgekehrt beeinflussen Architekturentscheidungen die Organisationen
Definition: funktionale Anforderungen
Die Fähigkeit, die Arbeit auszuführen, für die es bestimmt war. Beschreibt was das System zu leisten hat.
Definition: Qualitätsanforderungen (Non- Funktional)
Eigenschaften eines Systems. die den Erfüllungsgrad der angegeben und implizierten Bedürfnisse seiner Stakeholder spezifiziert. Sie formen die Architektur und beschreiben die Eignung des Systems für seinen Zweck.
Was für Qualitätsanforderungen nach ISO 25010 gibt es?
Benutzbarkeit Sicherheit Portabilität Skalierbarkeit Funktionale Eignung Leistungseffizienz Kompatibilität Wartbarkeit Zuverlässigkeit
Qualitätsszenario
Wie ein System beim Eintreffen eines Stimulus in bestimmten Situationen reagiert.
Auslöser -> Quelle -> Umstände -> Antwort -> Antwortmetrik -> Artefakte
Qualitätsbaum: Blätter priorisieren
Negative Wechselwirkungsbeispiele von Qualität
Benutzbarkeit <> Sicherheit Anpassbarkeit <> Leistungseffizienz Sicherheit <> Leistungseffizienz Testbarkeit <> Leistungseffizienz Hohe Qualität <> niedrige Ressourcen