Dokumentation von Softwarearchitektr Flashcards
Wozu dient eine Architekturdokumentation?
-hilft Softwarearchitektur zu verstehen und Wissen über den Architekturentwurf zu verbreiten
-dokumentierte Architektur kann analysiert werden
Was für Diagramme gibt es und was modellieren sie?
Komponentendiagramme: modellieren die Organisation und Abhängigkeiten eines Systems
Verteilungsdiagramme: modellieren die Architektur verteilter Systeme zur Laufzeit
Wie ist der Zusammenhang zwischen Softwarearchitekturmodellen und der Softwarearchitektur?
Es gibt verschiedene Sichten auf Softwarearchitekturen:
-logische Sicht: Klassendiagramm, Komponentendiagramm
-Prozesssicht: Aktivitätsdiagramme, Zustandsdiagramme, Sequenzdiagramme
-Physische Sicht: Verteilungsdiagramm
-Entwicklungssicht: Komponentendiagramm, Schichtenmodell
Wie werden Komponentendiagramme angewendet?
Im Entwurf werden die Aufgaben des Gesamtsystems auf Subsysteme aufgeteilt.
-definieren der einzelnen Komponenten mit ihren Aufgaben und der Kommunikation zwischeneinander
Was ist eine Komponente?
-eine Komponenten ist ein ersetzbarer modularer Bestandteil eines Systems
-kann aus wenigen Klassen bis ganzem Softwaresystem bestehen
Nenne die Notationselemente eines Komponentendiagramms
Komponenten: Viereck mit schatten
bereitgestellte Schnittstelle: kleiner Kreis außerhalb der Komponente
genutzte Schnittstelle: Halbkreis außerhalb
Ports: Vierecke am Rand der Komponente
Klasse: Viereck in Komponente ohne Schatten
Bauteilkonnektoren: Halbkreis mit Kreis
stellt Verbindung zwischen Bauteilen dar
Artefakt: Viereck
repräsentiert Informationseinheit, die bei der Entwicklung verwendet oder hergestellt wird
Manifest Beziehung: gestrichelte Linie
beschreibt die Realisierung einer Komponente durch ein Artefakt
Delegationskonnektoren: durchgehende Linie
stellt Verbindung zwischen externen Schnittstellen und inneren Bestandteilen einer Komponente her
gibt noch mehr aber muss ich einfach üben wahrscheinlich besser als auswendig lernen
Häufige Fehler bei Komponentendiagrammen
-jede Komponenten muss einen Namen besitzen
-Artefakte können sich nicht gegenseitig manifestieren
-Artefakte sollen Komponenten zugeordnet sein um klar zu machen welche Artefakte welche Komponente manifestiert
Was ist ein Verteilungsdiagramm?
-spezifiziert physische Hardware und Softwareumgebung und die Verteilung der Komponenten in der Umgebung
-werden meist parallel zu Komponentendiagrammen entwickelt
-auf ihrer Basis werden Entscheidungen über anzuschaffende Hardware und Softwarekomponenten sowie deren Kommunikationswege getroffen
-so kann während der Implementierung bereits Laufzeitumgebung aufgebaut, installiert und getestet werden
Was ist ein Klassendiagramm und wozu dient es?
Diagramm zur Visualisierung von objektorientierten Systemen
-zeigt Klassen, deren Attribute und Methoden sowie die Beziehungen zwischen Klassen
Was ist ein Objektdiagramm und wozu dient es?
-stellen die Ausprägungen von Klassen (Objekte) dar
-dient zur Veranschaulichung der Daten und Verhaltensweisen von Objekten
-hilft bei Veranschaulichung von Szenarien und Testfällen
-kann als Teil der Dokumentation oder des Entwicklungsprozesses dienen