Wiederholung Flashcards

1
Q

Architekturziele

A

Architekturziele sind Qualitätsattribute, welche das System erreichen soll. Sie sind im Gegensatz zu Projektzielen meist langfristig.

Stammen häufig vom Architekten.

Beispiele: Wartbarkeit, Schönheit, Sicherheit, Performance, Stabilität, Qualitätsanforderungen

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

Rollenbild Architekt

A

Aufgaben des SW-Architekten

Architektur bewerten
Mitarbeit bei Anforderungsmanagement
Strukturen, Schnittstellen, Abhängigkeiten festlegen
Übergreifende Konzepte klären
Architektur kommunizieren
Umsetzung begleiten und kontrollieren

Fokus auf Qualitätsmerkmale

Langlebigkeit
Wartbarkeit
Änderbarkeit
Robustheit

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

SW intensive Systeme

A
Informationssysteme
- Entscheidungsunterstützungssysteme
- Expertensysteme
- Suchmaschinen
- Büroautomatisierung
Eingebettete Systeme
- Software ist in Hardware eingebettet
- Steuerung, Regelung, Überwachung, ...
- Schwierige funktionale und nicht-funktionale Anforderungen
Mobile Systeme
- Semi-autonom 
- Verbindung nicht immer vorhanden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Fachliche vs. technische Architektur

A

Fachliche Architektur

  • Funktionale Anforderungen
  • Domänen Wissen
  • werden zu:
  • Fachliche Bausteine
  • Fachklassen
  • Datenbankschema

Technische Architektur

  • Nicht-funktionale Anforderungen
  • Übergreifende Konzepte
  • SW Libraries, Plattform
  • Hardware
  • werden zu:
  • Technische Schichten
    1. Server für Ausfallsicherheit

Fachliche Architektur wird in Stücke geschnitten, in vertikale Teile (Silos)
Technische Architektur wird in Scheiben geschnitten, horizontale Schichten. Jede Schicht stellt Schnittstellen bereit.

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

Systemabgrenzung

A

System - Ist von uns gestaltbar
Systemkontext - Hat Einfluss auf unser System, ist zum Verständnis wichtig.
Irrelevante Umgebung - Hat keinen Einfluss auf unser System und kann daher (explizit) ignoriert werden.

Fachlicher Systemkontext
Technischer Systemkontext

Use Case Diagramm
Komponentendiagramm

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

Randbedingungen

A

Eine Randbedingung ist eine organisatorische oder technologische Vorgabe, die die Art und Weise einschränkt, wie das betrachtete System realisiert werden kann.

Können nicht beeinflusst werden.
Werden nicht umgesetzt sondern schränken Umsetzungsmöglichkeiten ein.

Organisatorische Randbedingungen

  • Organisation und Struktur
  • Ressourcen
  • Organisatorische Standards
  • Juristisches

Technische Randbedingungen

  • Hardware
  • Software
  • Betrieb
  • Programmierung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Conways Law

A

Any organization that designs a system will produce a design whose structure is a copy of the organization
s communication structure.

Kräfte wirken in beide Richtung

  • Teams werden auf Basis der Architektur aufgebaut
  • Etablierte Organisationsstrukturen beeinflussen Denkweise und somit SW-Architektur
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Definition “Architektur”

A
Besteht aus Strukturen
Ist Abstraktion
Beschreibt eine Lösung, welche selbst nicht die Lösung ist
Basiert auf Entwurfsentscheidungen
Ist Übergang von Analyse zur Realisierung
Besteht aus verschiedenen Sichten
Schafft Verständlichkeit
Ist Rahmen für flexible Systeme
Schafft Qualität

Software ist immateriell und komplexer

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

Prinzipien für gute Bausteine

A

Geheimnisprinzip und Kapselung (Information hiding)
Trennung von Verantwortlichkeiten (Single Responsibility-Principle, Separation von Concerns)
Hohe Kohäsion
Offen-Geschlossen-Prinzip (Open/Closed Principle)
Testbarkeit

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

Architekturebene

A
Business Sicht
- Strategie
- Business Architektur
Vermittler
- Unternehms-IT-Architketur
IT-Sicht
- SW-Architekturen -- hier ist der Architekt tätig
- Infrastruktur-Architektur, HW-Architektur

Architektur eines Systems

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

Architekturentwurf

A

Top Down

  • Start mit Vision vom Gesamtsystem
  • Zerlegung in Teilprobleme
  • Vorteile
    • Gutes Verständnis
    • Unabhängig von Technologie
    • Kein Abgleiten in Details
    • Sauber, konsistente Schnittstellen
    • Entwurf im Ergebnis erkennbar
  • Nachteile
    • Übersehen von bereits existierenden Teillösungen
    • Kritische Integration am Ende
    • Spätes Feedback
    • Viele ähnliche Lösungen in verschiedenen Projekten

Bottom-up

  • Start mit wiederverwendeten Bausteinen
  • Zusammenbau von Teillösungen
  • Vorteile
    • Hoher Wiederverwendungsgrad
    • Beginn mit vermuteten Teilproblem
    • Schrittweise Integration
    • Frühe Tests möglich
  • Nachteile
    • Ev. nicht alle Teile System benötigt
    • Fokus auf Technik statt Kundenwünschen
    • Gefahr der frühzeitigen Optimierung
    • Inkonsistentes Gesamtsystem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

SOA

A

Komponenten bieten anderen Komponenten Dienste an
Kommunikation über Service Bus
Unabhängig von Plattform, Technologie, Anbieter

Registry, Bus, Adapter, Komponenten

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

Ableitung Fachlicherbausteine

A

Fachliche Bausteine aus Fachobjekten herleiten

  • Leite aus Anforderungen Fachklassen her
  • Gruppiere Fachklassen – ergibt fachliche Bausteine

Geeignet wenn Fachlogik ist komplex, umfangreich oder flexibl. Fachlogik wird in anderen Systemen wiederverwendet.

Fachliche Bausteine aus Benutzerinteraktionen herleiten
- Fasse in Bausteine alles zusammen was zur Interaktion mit einem Benutzer/Fremdsystem benötigt wird.

Geeignet wenn Fachlogik hauptsächlich aus Interaktionen mit Benutzern besteht. Datenzentrierte Fachlogik. Architekten und Entwickler verstehen Objektorientierung nicht.

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

Iterativer / Inkrementeller Entwurf

A

Gehe schrittweise vom Groben ins Feine
- Bausteine sollten geschachtelt sein Anzahl 7 +- 2

Probiere aus und gehe ggf. einen Schritt zurück

Betreibe regelmäßiges Recatoring

Bei nicht Umsetzung baut sich die technische Schuld immer weiter auf.

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

MDA

A

Modellgetriebene Architektur

Generierung von Anwendungen aus Modellen
Ziele
- Softwareentwicklung beschleunigen
- Bessere Handhabbarkeit durch Abstraktion
- Leichter Technologieumstieg

Automation durch Formalisierung
- Nicht 100% Automatisierung angestrebt

Vorgehen
PIM übersetzt in PSM übersetzt in CODE
PIM Plattformunabhängiges Modell
PSM Plattformspezifisches Modell

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

Messaging

A

Asynchrone Kommunikation
Zeitliche Entkoppelung

Queue (Producer, Consumer, Add, Remove) First in First Out
Stack (Push, Pop) Last in First out

Sender muss nicht auf Antwort warten
Messaging System garantiert Zustellung

Messaging System speichert Message temporär auf beiden Seiten

17
Q

Schichtenbildung

A

Zur hierarchischen Strukturierung von Systemen

Schichten sind durch Schnittstellen entkoppelt

Jede Anfrage muss die Schichten in der angegebenen Reihenfolge durchlaufen
Es darf keine Schicht übersprungen werden
Eine nachgeordnete Schicht darf keine vorgeordnete Schicht aufrufen

Vorteile

  • Schichten sind wiederverwendbar und austauschbar
  • Standardisierung der Aufgaben durch Schnittstellen
  • Wartbar, Leicht verständlich

Nachteile

  • Ev. schlechte Performance
  • Manche Änderungen ziehen Änderungen in allen Schichten nach sich
18
Q

Postels Law

A

“Sei streng bei dem, was du tust, und offen bei dem, was du von anderen akzeptierst.”

Der Schnittstellenanbieter muss dafür sorgen, dass sein Service korrekt funktioniert egal was der Schnittstelle übergeben wird.

19
Q

Domain Driven Design

A

Fokus auf Domäne

Gemeinsame Sprache fördert Zusammenarbeit

Hauptaugenmerk liegt auf Design von Domäne und Domänenlogik

Entitäten
Wertobjekte
Aggregate
Services
Ubiquitous Language
Presentation Layer
Application Layer
Domain Layer
Infrastructure Layer
q
20
Q

Konzeptionelle Integrität

A

Zerlege das ganze System nach ähnlichen Aspekten. Gruppiere Elemente, die in ähnlichen Intervallen geändert werden.

Konzept soll von Oben bis Unten durchgezogen werden. Eher weniger Pattern dafür durchziehen.