VL6 - Vom Geschäftsprozess zur Softwarearchitektur Flashcards

1
Q

Begriff “Softwarearchitektur”

A

Die grundlegende Organisation eines Systems, dargestellt durch dessen Komponenten, deren Beziehungen zueinander und zur Umgebung sowie den Prinzipien, die den Entwurf und die Evolution der Systeme bestimmen. (Hasselbring 2006)

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

Kernphasen von “Softwarengineering”

A
  1. Planung
  2. Analyse
  3. Entwurf
  4. Implementierung
  5. Test
  6. Evolution/Wartung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Ziele einer “Softwarearchitektur” (im Lebenszyklus von Standardsoftware)

A
  1. Beherrschung der Komplexität
  2. Testbarkeit
  3. Erweiterbarkeit
  4. Wartbarkeit / Updatefähigkeit
  5. Anpassbarkeit
  6. Integrationsfähigkeit
  7. Skalierbarkeit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

4 Qualitätskriterien für “Softwarearchitekturen”

A
  1. Ordnungsmäßigkeit
  2. Richtigkeit
  3. Interoperabilität
  4. Sicherheit
  5. Zuverlässigkeit
  6. Benutzbarkeit
  7. Effizienz
  8. Übertragbarkeit

ƒ scalability
ƒ availability / reliability
ƒ security
ƒ safety
ƒ usability
ƒ portability
ƒ performance
ƒ interoperability
ƒ evolvability
ƒ extensability

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

Aufbau einer “Software-Architektur”

A
  1. Modellsammlung (Referenzmodelle)
  2. Technologie
  3. Umgebung (Hardware, Software)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

4 Arten von Sichten

A
  1. Kontext: Zeigen den Zusammenhang des Systems mit seiner Umgebung aus der Vogelperspektive
  2. Bau: Statische Struktur der Architekturbausteine des
    Systems, Subsysteme, Komponenten und deren
    Schnittstellen zueinander
  3. Laufzeit: Zusammenwirken der Bausteine zur
    Laufzeit
  4. Verteilung: Beschreibung der Hardwarekomponenten (Rechner, Prozessoren, Netztopologien)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Begriff “Metamodell”

A

Ein Modell, das eine Menge anderer Modelle definiert, die als Instanzen des Metamodells bezeichnet werden.

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

Begriff “Model Driven Architecture”

A

Ansatz mit klarer Trennung von Funktionalität und Technik.

Standardisierte Transformation vom plattformunabhängigen Modell zum Quellcode.

Lösung für Probleme:
Fachliche Sicht lässt sich nicht immer in technische Sicht abbilden

Kommunikationsprobleme zwischen den entsprechenden Abteilungen

Wissen der Entwickler wandert ab

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

Begriff “ATAM” (Bewertungskriterium)

A

Architecture Trade-off Analysis Method.

Beschreibung:
Szenariobasierter Ansatz zur Bewertung der
Architekturentscheidungen, der einen klaren
Schwerpunkt auf die Anforderungen an
Qualitätsmerkmale legt.

Vorteile:
Eindeutige Korrelation der Anforderungen an
Qualitätsattribute und der zugrunde liegenden Geschäftstreiber mit den Merkmalen einer Architektur.

Früherkennung von Risiken oder Fehlentscheidungen.

Unterstützung der Architekten bei der Architekturentwicklung.

Unterstützung bei der Auswirkungsanalyse in
Situationen mit veränderten Anforderungen
an Qualitätsmerkmale.

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

Vorgehensmodell für “ATAM”

A
  1. Präsentation
  2. Erhebung & Analyse
  3. Testen
  4. Reporterstellung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Begriff “CBAM” (Bewertungskriterium)

A

Cost Benefit Analysis Method.

Beschreibung:
Ökonomische Konsequenzen der
Entwurfsentscheidung
Analyse der Qualitätsattribute hinsichtlich
Kosten und Leistungen

Vorteile:
Einfache Anwendung
Verschafft Klarheit in unvorhersehbaren
Situationen
Identifizieren und bewerten von Ausgaben
Gibt an, inwiefern der Nutzen die Kosten
überwiegt

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

Begriff “Softwaremuster”

A

Beziehung zwischen einem bestimmten Kontext, einem bestimmten System an Kräften, die in diesem Kontext wiederkehrend auftreten, und einer bestimmten Software-Konfiguration, die diesen
Kräften erlaubt, sich gegenseitig aufzulösen

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

Begriff “Schichtenmuster”

A

Hierarchische Organisation.
Mittel der Strukturierung.
Darstellung verschiedener, aufeinander aufbauender
Abstraktionslevel.

Vorteile:
Leicht verständlich
Technologietrennung und -integration
Wohl definierte Zugriffskonzepte durch Beschreibung
der Protokolle
Nachteile:
Notwendigkeit von definierten stabilen Schnittstellen
Kritische Performance
Hohe Kosten bei Gesamtsystemveränderung

Beispiele:
2-Schichten-Modell, z.B. Rich-Client Szenarien
3-Schichten-Modell, z.B. Daten-, Geschäftslogik- und
Präsentationsschicht
N-Schichten-Modell, z.B. ISO OSI Referenzmodell für
die Kommunikation offener Systeme

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

Begriff “Client-Server-Architekturen” (Anwendung des Schichten-Musters in betrieblichen Anwendungssystemen)

A

Layer 1: Dienstanbieter (Server)
Stellt für die Bearbeitung der Funktionen dem Client die notwendigen Daten zur Verfügung.
Layer 2: Dienstnutzer (Client)
Enthält die Anwendungslogik, häufig umgesetzt als Fat-Client.

Eigenschaften:
Trennung von Datenhaltung und Datenverarbeitung
Keine Verantwortung für die Datenspeicherung und
sämtlicher damit verbundener Konzeptionen der
Client-Komponente
Client-Komponente nutzt die zugesicherten Dienste
der Server-Komponente

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

Begriff “Drei-Schichten-Architektur” (Anwendung des Schichten-Musters in betrieblichen Anwendungssystemen)

A

Layer 1: Datenhaltung
Layer 2: Business Logic
Layer 3: Präsentation

Eigenschaften:
Weitere Dekomposition der Client-Komponente
Businesslogik wird getrennt von der Präsentation
Variante 1: Geschäftslogik ist Teil des Servers
(Thin-Client)
Variante 2: Geschäftslogik ist Teil des Client
(FAT-Client)

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

3 Prinzipien von “Integrationsarchitekturen”

A
  1. Punkt zu Punkt (P2P)
  2. Nabe-Speiche (Hub and Spoke)
  3. Service-orientierte (SOA)
17
Q

Begriff “Punkt zu Punkt-Architektur (P2P)”

A

Funktionsweise:
Verbindung einzelner Systeme zueinander mittels
Schnittstellen

Vorteil: Geringer Aufwand bei wenigen Systemen
Nachteile:
Komplexe Abhängigkeiten erschweren Weiterentwicklung und Anpassung

Skalierbarkeit bei Einführung neuer Systeme nicht gegeben, da alle bisherigen Schnittstellen aktualisiert
werden müssen

18
Q

Begriff “Nabe-Speicher Architektur (Hub and Spoke)”

A

Funktionsweise:
Datenaustausch über eine zentrale Integrationsplattform

Vorteile:
Prozess der Extraktion, Transformation und Laden von
Daten kann separiert werden

Reduzierung der Verbindungen der einzelnen
Systemen

Nachteile:
Zentraler Knotenpunkt als “Single Point of Failure”
Zentraler Knotenpunkt als “Performance-Engpass”

19
Q

Begriff “Service-orientierte-Architektur (SOA)”

A

Funktionsweise:
Unterteilung der Systeme in Dienste, welche loose
gekoppelt und eigenständig sind.

Merkmale:
1. Lose Kopplung
2. Schnittstellen zur Kommunikation
3. Dienstsuchverzeichnis
4. Wiederverwendung

Vorteile:
Nutzung offener, bereits verbreiteter Standards
Plattform- und sprachunabhängig
Erhöhte Code-Wiederverwendung
Bessere und schnellere Anpassungen an veränderte
Rahmenbedingungen
Einfache Entwicklung, Bereitstellung und Wartung
von Anwendungen
Einfache Integration von Services auf verschiedenen
Granularitätsstufen

Nachteile:
Aufwändige Neugestaltung
Dynamische Architektur und somit ggf. Instabilität
Inhomogene IT Umgebung
Keine Echtzeit
Zusammenspiel mit externen Services nicht unbedingt nötig