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
Q

Entwurfsmuster

Wozu dient ein Entwurfsmuster?

A

Es dient dazu bewährte Erfahrungen im objektorientierten Entwurf zu dokumentieren und anderen zur Verfügung zu stellen

26
Q

Entwurfsmuster

Das Entwurfsmuster besteht aus den Teilen…

A
  • Situationen, die zu einem bestimmten Problem führen
  • Das (wiederkehrende) Problem im oben genannten Kontext
  • Eine (bewährte) Lösung
27
Q

Entwurfsmuster

Worum geht es bei dem Model-View-Controller (MVC) Entwurfsmuster

A
  • Es geht um die interaktive Anwendung mit einer flexiblen Benutzerschnittstelle
  • Benutzerschnittstellen sind besonders anfällig für Änderungen
28
Q

Anwendung des Model-View-Controller (MVC)

A

Die Anwendung wird in drei Kernkomponenten Model,View und Controller aufgeteilt

29
Q

Model-View-Controller (MVC)

Die Model-Komponente

A

Die Daten der Anwendung werden verwaltet, es werden Statusupdates gegeben und Status können verändert werden

30
Q

Model-View-Controller (MVC)

Die Views-Komponente

A

Die Daten der Anwendung werden angezeigt

31
Q

Model-View-Controller (MVC)

Controller-Komponente

A

Ein Benutzer interagiert mit dem System ausschließlich über die Controller

32
Q

Entwurfsmuster

Drei Klassen von Entwurfsmustern

A
  • Erzeugende Entwurfsmuster
  • Strukturelle Entwurfsmuster
  • Verhaltensentwurfsmuster
33
Q

Drei Klassen von Entwurfsmuster

Erzeugende Entwurfsmuster

A
  • Betreffen den Prozess der Erzeugung von Objekten
  • Bsp. Singleton
34
Q

Drei Klassen von Entwurfsmuster

Strukturelle Entwurfsmuster

A
  • Betreffen die Komposition von Klassen oder Objekten
  • Bspl. Adapter
35
Q

Drei Klassen von Entwurfsmuster

Verhaltensentwurfmuster

A
  • Betreffen die Art und Weise, in der Klassen oder Objekte miteinander kommunizieren und Aufgaben aufteilen
  • Bsp. MVC, Observer
36
Q

Nutzen von Entwurfsmustern

A
  • Die Nützlichkeit ist wichtiger als die Neuheit
  • Erfahrungen und bewährte Lösungen werden dokumentiert