Software Architektur Teil 1 Flashcards

1
Q

Grundlagen Softwaretechnik

Definition Softwarearchitektur

A

Die Softwarearchitektur ist die grundlegende Organisation (Struktur) eines Systems

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

Grundlagen Software-Architektur

Abgrenzung mit physikalischer Architektur

A
  • Software-Architektur ist nicht direkt mit physikalischer Architektur vergleichbar
  • Sie folgt keinen Naturgesetzen, ist immateriell, dynamisch, sehr umfangreich und komplex
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Grundlagen Software-Architektur

Anforderungen bei der Software-Architektur

A

Die Anforderungen beschreiben was ein Software-System zu tun hat

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

Grundlagen Software-Architektur

Software-Entwurf bei der Software-Architektur

A
  • Der Software-Entwurf beschreibt WIE das WAS realisiert werden soll
  • Die Software-Architektur ist ein Teil des Entwurfs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Grundlagen Software-Architektur

Änderbarkeit in der Software-Architektur

A

Während des Architekturentwurfs kann sich vieles verändern, wegen z.B.: später Anforderungen oder Verständnisproblemen

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

Information Hiding und Modularisierung in der Software Architekur

A

Wenn beides kombiniert kann man die Komplexität und die Größe der Software beherrschen

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

Kohäsion in der Software-Architkéktur

A

Innerhalb der Module besteht eine hohe Kohäsion

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

Kopplung in der Software-Architektur

A

Innerhalb der Module ist die Kopplung gering

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

Wiederverwendbarkeit in der Software-Architektur

A
  • Wiederverwendbarkeit muss geplant sein und nicht zufällig sein
  • Wiederverwendungsansätze sind Entwurfsmuster oder Produktlinienarchitekturen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Architekturebenen in der Software-Architektur

A
  • Fachliche (konzeptuelle) Architektur
  • Softwaretechnische Architektur
  • Systemtechnische Architektur
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Architekturebenen in der Software-Architektur

Fachliche Architektur

A

Die fachliche Architektur beschreibt das Software-System in fachliche Teilsysteme und Schnittstellen

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

Architekturebenen in der Software-Architektur

Softwaretechnische Architektur

A

Die softwaretechnische Architektur beschreibt konkrete technische Komponenten und deren Beziehungen

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

Architekturebenen in der Software-Architektur

Systemtechnische Architektur

A

Die systemtechnische Architektur beschreibt wie die einzelnen Komponenten auf Recheneinheiten installiert und mit existierenden Systemen verbunden werden.

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

Architekturebenen in der Software-Architektur

Wesentliche Elemente der fachlichen Architektur

A
  • Fachliche Module
  • Statische und dynamische Beziehungen zwischen Teilsystemen/Modulen
  • Den Datenhaushalt darstellen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Architekturebenen in der Software-Architektur

Wesentliche Elemente der softwaretechnischen Architektur

A
  • Software-Komponenten
  • Interfaces und Aufrufbeziehungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Architekturebenen in der Software-Architektur

Wesentliche Elemente der systemtechnischen Architektur

A

Verteilung der softwaretechnischen Komponenten auf Ressourcen

17
Q

Vorgehensweisen bei der modularen Architektur

A
  • Der Top-down-Entwurf
  • Der Bottom-up-Entwurf
18
Q

Modulare Architektur

Nutzung des Top-Down-Entwurfs

A
  • Wenn keine Vorstellungen bzgl. der einzusetzenden Grundbestandteile existieren
  • Die Komponenten werden solange dekomponiert bis man zu überschaubaren und realisierenden Teilen gelangt
19
Q

Modulare Architektur

Nutzung des Bottom-Up-Entwurfs

A
  • Wenn es eine Menge wiederverwendbarer Komponenten gibt, die benutzt werden sollen
  • Die Komponenten werden solange komponiert, bis man zu einer überschaubaren Menge von Komponenten gelangt
20
Q

Komponenten und Beziehungen in der Softwarearchitektur

Was ist eine Komponente?

A
  • Eine abgeschlossene Einheit
  • Explizite Defintion von Diensten / Leistungen
21
Q

Komponenten und Beziehungen in der Softwarearchitektur

Wie wird eine Beziehung charakterisiert?

A
  • Es werden Leistungen angeboten (provided / Export) und bezogen (required / Import)
  • Werden als graphische Notation dargestellt
22
Q

Beziehung zwischen Komponenten

Die Relation “benutzt”

A

Die “benutzt”-Relation entspricht häufig dem Aufruf einer Operation, die von der aufgerufenen Komponente angeboten wird

23
Q

Beziehung zwischen Komponenten

Die Relation “ist_Bestandteil_von”

A

Die Relation ist_Bestandteil_von beschreibt Verfeinerung zwischen Komponenten

24
Q

Beispiel zur “benutzt” und “ist_Bestandteil von” Relation

A
  • Die benutzt Relation verbindet Komponente 1 mit Komponente 2 und 3
  • Bei der ist_Bestandteil_von Relation sind mehrere kleine Komponenten von der Komponente 1 miteinander verbunden
25
# Entwurfsmuster Wozu dient ein Entwurfsmuster?
Es dient dazu bewährte Erfahrungen im objektorientierten Entwurf zu dokumentieren und anderen zur Verfügung zu stellen
26
# Entwurfsmuster Das Entwurfsmuster besteht aus den Teilen...
* Situationen, die zu einem bestimmten Problem führen * Das (wiederkehrende) Problem im oben genannten Kontext * Eine (bewährte) Lösung
27
# Entwurfsmuster Worum geht es bei dem Model-View-Controller (MVC) Entwurfsmuster
* Es geht um die interaktive Anwendung mit einer flexiblen Benutzerschnittstelle * Benutzerschnittstellen sind besonders anfällig für Änderungen
28
Anwendung des Model-View-Controller (MVC)
Die Anwendung wird in drei Kernkomponenten **Model**,**View** und **Controller** aufgeteilt
29
# Model-View-Controller (MVC) Die Model-Komponente
Die Daten der Anwendung werden verwaltet, es werden Statusupdates gegeben und Status können verändert werden
30
# Model-View-Controller (MVC) Die Views-Komponente
Die Daten der Anwendung werden angezeigt
31
# Model-View-Controller (MVC) Controller-Komponente
Ein Benutzer interagiert mit dem System ausschließlich über die Controller
32
# Entwurfsmuster Drei Klassen von Entwurfsmustern
* Erzeugende Entwurfsmuster * Strukturelle Entwurfsmuster * Verhaltensentwurfsmuster
33
# Drei Klassen von Entwurfsmuster Erzeugende Entwurfsmuster
* Betreffen den Prozess der Erzeugung von Objekten * Bsp. **Singleton**
34
# Drei Klassen von Entwurfsmuster Strukturelle Entwurfsmuster
* Betreffen die Komposition von Klassen oder Objekten * Bspl. **Adapter**
35
# Drei Klassen von Entwurfsmuster Verhaltensentwurfmuster
* Betreffen die Art und Weise, in der Klassen oder Objekte miteinander kommunizieren und Aufgaben aufteilen * Bsp. **MVC, Observer**
36
Nutzen von Entwurfsmustern
* Die Nützlichkeit ist wichtiger als die Neuheit * Erfahrungen und bewährte Lösungen werden dokumentiert