Kapitel 4:Entwurf Flashcards Preview

Software Engineering > Kapitel 4:Entwurf > Flashcards

Flashcards in Kapitel 4:Entwurf Deck (11):
1

Softwarearchitektur

strukturiert SW-System
beschreibt Softwarekomponenten und deren Verbindungen & Interaktionen untereinander (Schnittstellen)
ist Grundlage für Programmierung

2

Softwarekomponente

Aktive Einheiten einer Architektur, die Aufgaben durch interne Berechnungen und externe Kommunikation mit anderen Komponenten des Systems bewerkstelligen

3

Architektursichten: Arten

Statische Sichten: Struktur
Dynamische Sichten: Ablaufeigenschaften z.B. Datenfluss, Kontrollfluss

4

Architekturmuster: Struktur

Ziel (Objective): Was soll erreicht werden?
Kontext: abstrakte Beschreibung der Situation
Problem: Wieso ist es in diesem Kontext schwierig, das Ziel zu erreichen?
Wirkkräfte (Forces): Welche Kräfte bewirken den Konflikt, der dem Problem zugrunde liegt?
Lösung: Wie kann man das Problem lösen?

5

Architekturmuster der Laufzeitsicht

Zentrale Steuerung: Call-Return, Master-Slave
Ereignis-Steuerung: Selective Broadcast, Interrupt
Auch Steuerungsmuster genannt

6

Kriterien für guten Entwurf

Hohe Kohäsion:
= Zusammenhalt
Elemente sollen in Komponenten zusammengefasst werden, die inhaltlich zusammengehören

Niedrige Kopplung:
= Abhängigkeiten
Einzelne Komponenten sollen möglichst unabhängig voneinander sein

Daneben allgemeine Eigenschaften, z.B. Korrektheit, Anpassbarkeit, Verständlichkeit, Ressourcenschonung

7

Architektur: Gute Komponenten

Haben definierte Schnittstellen -> können einfach kombiniert & ausgetauscht werden
Große Kohäsion (innerer Zusammenhalt)
Schwache Kopplung (über definierte Schnittstellen)
Offenheit für Erweiterungen
Geschlossenheit für Änderungen

8

Stile und Muster

wiederverwendbare Architekturprinzipien für Entwurf der Architektur
gewählte Stil entscheidet über funktionalen und nichtfunktionalen Eigenschaften der Software

9

Vorteile von Werkzeuge in Softwareentwicklung

effizienterere Softwareentwicklung
unterstützen:
Wiederverwendung
Verteilung von Code
Versionsverwaltung
Teamarbeit

10

Architektursichten

helfen komplexe Architektur für verschiedene Zwecke und Stakeholder übersichtlich aufzubereiten, indem nur die nötigen Informationen dargestellt werden

11

OOD mit UML

meist verwendeter Architekturentwurf, durch die weite Verbreitung objektorientierter Programmiersprachen