16 Architekturentwurf Flashcards

1
Q

Was ist das Ziel des Architekturentwurfs in der Softwareentwicklung?

A

Das Ziel des Architekturentwurfs ist es, die Struktur eines Softwaresystems festzulegen, indem die einzelnen Komponenten definiert werden, die Dienste anbieten oder nutzen. Der Entwurf legt die Grundlage für eine nachhaltige, skalierbare, erweiterbare und wartbare Architektur, die den Anforderungen des Projekts gerecht wird.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Warum ist eine nachhaltige Softwarearchitektur wichtig?

A

Eine nachhaltige Softwarearchitektur ist wichtig, weil sie sicherstellt, dass das System sowohl aktuelle als auch zukünftige Anforderungen erfüllt. Sie ermöglicht eine einfache Wartung, Erweiterung und Anpassung des Systems im Laufe der Zeit, was langfristig die Kosten senkt und die Systemstabilität erhöht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Welche Grundprinzipien gibt es beim Architekturentwurf?

A

Die Grundprinzipien des Architekturentwurfs sind:

  • Modularisierung
  • Geringe Kopplung und hoher Zusammenhalt
  • Information Hiding
  • Trennung von Zuständigkeiten
  • Hierarchische Gliederung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was bedeutet Modularisierung im Kontext des Architekturentwurfs?

A

Modularisierung bedeutet, eine Softwarearchitektur in sinnvolle und überschaubare Komponenten (Module) zu zerlegen, die über definierte Schnittstellen miteinander kommunizieren. Jedes Modul sollte einfach und leicht verständlich sein, austauschbar implementiert werden können und mögliche Änderungen sollten die Schnittstelle nach außen nicht beeinflussen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was versteht man unter geringer Kopplung und hohem Zusammenhalt?

A

Geringe Kopplung bedeutet, dass Module nur über einfache, begrenzte Schnittstellen miteinander verbunden sind. Hoher Zusammenhalt bedeutet, dass die Bestandteile eines Moduls (z.B. Methoden, Funktionen) thematisch stark zusammengehören. Diese Prinzipien führen zu besserer Wartbarkeit und Verständlichkeit des Systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist Information Hiding und warum ist es wichtig?

A

Information Hiding bedeutet, dass ein Modul so wenig Informationen wie möglich nach außen preisgibt. Interne Details, wie Implementierungen und Datenstrukturen, bleiben verborgen. Dies verbessert die Wartbarkeit, da Änderungen an einem Modul keine anderen Module beeinflussen, solange die Schnittstellen unverändert bleiben.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was bedeutet die Trennung von Zuständigkeiten (Separation of Concerns)?

A

Die Trennung von Zuständigkeiten bedeutet, dass jedes Modul nur für eine bestimmte Aufgabe zuständig ist. Es sollte keine Überlappung der Zuständigkeiten mit anderen Modulen geben. Dies erleichtert die Wartbarkeit, da Änderungen nur in einem Modul vorgenommen werden müssen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist eine hierarchische Gliederung in einer Softwarearchitektur?

A

Eine hierarchische Gliederung verfeinert Komponenten so lange, bis sie spezifiziert und implementiert werden können. Hierarchien helfen, die Komplexität zu reduzieren, z.B. durch Aggregationshierarchien, Schichtenhierarchien oder Generalisierungshierarchien.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Warum sind Änderungen an der Architektur teuer?

A

Änderungen an der Architektur sind teuer, weil sie oft grundlegende Anpassungen im gesamten System erfordern. Da die Architektur die Basis des gesamten Systems bildet, können Änderungen weitreichende Auswirkungen haben, die viel Zeit und Ressourcen in Anspruch nehmen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was sind Software Design Patterns und warum sind sie nützlich?

A

Software Design Patterns (Entwurfsmuster) sind bewährte Standardlösungen für häufig auftretende Probleme im Softwareentwurf. Sie bieten wiederverwendbare Lösungen, die die Entwicklung beschleunigen und die Qualität des Designs verbessern.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly