Softwarearchitektur (Subject) / Einführung (Lesson)
There are 11 cards in this lesson
VL01
This lesson was created by jan_kirsch.
This lesson is not released for learning.
- Aktivitäten von Softwarearchitekten Entwerfen Dokumentieren Bewerten Anwenden
- Spannungsdreieck (Herausforderungen der Softwareentwicklung) Kosten ("Komplexität") Qualität Zeit Maßnahmen: Verbesserung der Entwicklungsprozesse Wiederverwendung von Artefakten
- Was ist Softwarearchitektur? innere Struktur eines Systems reduziert auf ihre Essenz (Abstraktion) beschreibt Systemstruktur ist präzise aber auch kompakt
- Bestandteile von Softwarearchitektur Bausteine / Komponente deren Schnittstellen Beziehungen / Interaktionen untereinander nach außen sichtbares Verhalten von Bausteinen
- Diagramme für Sichten Static View, Dynamic View, Deployment View Static View: Komponentendiagramm Dynamic View: Sequenzdiagramm Deployment View: Deployment Diagramm
- Ziele von Softwarearchitektur Effiziente Entwicklung (Grundlage für Projektplanung, Integrationsrahmen) Risikominimierung (Bewertung, Bestimmung von Einflussfaktoren) Kommunikation ziwschen Stakeholdern Konservierung von Wissen / Wiederverwendung
- Was passiert ohne Sofwarearchitektur? Qualtiätsmerkmale werden zu spät berücksichtigt Probleme bei Wartung und Änderungen Machtlose Projektleiter, ineffiziente Entwickler Keine systematische Wiederverwendung
- Softwarearchitektur im Entwicklungsprozess V-Modell: in Grobentwurf und Feinentwurf -> einfluss auf alle weiteren Phasen!
- Qualitätseigenschaften / Bewertungskriterien Performance (Kommunikation minimieren) Security (Schichtenarchitektur Kritische Ressourcen in inneren Schichten) Safety (Safety-kritische Features in kleiner Anzahl von Subsystemen lokalisieren) Verfügbarkeit (Redundanz) Wartbarkeit (ersetzbare Komponenten, Kapselung)
- Was ist eine gute Softwarearchitektur? Niedrige Kopplung zwischen Bauteilen Hohe Kohäsion innerhalb der Bauteile Zulänglichkeit (Bauteile erfüllen ihre Aufgaben) Vollständigkeit (Bauteile decken ihren Bereich komplett ab) Einfachheit (Komposition / Hierarchien)
- Entwurfsprinzipien von Architekturen Abstraktion (Reduzierung, Idealisierung) Kapselung (Information Hiding, z. B in Schichtenarchitekturen) Modularität (lose Kopplung, hohe Kohäsion, Arbeitsteilung) Hierarchie (Abstraktion, Vererbung, Generalisierung) 2 Typen: Enthalten in / Bestehen aus, Substitutionsprinzip Trennung von Zustädigkeiten (Ein Element -> Eine Aufgabe) Konzeptuelle Integrität (Durchgängige Anwendung von Entwurfsentscheidungen)
