Softwarearchitektur (Subject) / Einführung (Lesson)

There are 11 cards in this lesson

VL01

This lesson was created by jan_kirsch.

Learn lesson

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)