Kapitel 4 - Entwurf Flashcards
Definition: Softwarearchitektur
- Eine Software-Architektur wird durch die Beschreibung von Software-Komponenten und deren Verbindungen und Interaktionen untereinander definiert
- Softwarearchitektur ist eine Struktur und grundlegende Organisation eines Systems
Definition: Softwarekomponente
Aktive Einheiten einer Architektur, die Aufgaben durch interne Berechnungen und externe Kommunikation mit anderen Komponenten des Systems bewerkstelligen
Was ist Objektorientiertes Design (ODD)
- Architektur-Entwurf basierend auf objektorientierten Konzepten wie Klassen und Objekten
- Lösung zum Problem, das durch OOA analysiert wurde
Nennen sie die Vorteile der Verwendung von Werkzeugen im Entwurf
- Effizienz
- Wiederverwendbarkeit
- Versionierung
- Verteilung
- Modellbasierte Codegenerierung
Kategorie von Werkzeugen (Schaubild)
Weitere unterstüzende Werkzeuge (Schaubild)
Was ist eine IDE?
Anwendungsprogramm zur Entwicklung von Software
Was für gängige Komponenten enthält eine IDE?
- Texteditor
- Compiler bzw. Interpreter
- Linker
- Debugger
- Quelltextformatierungsfunktion
Kann auch enthalten:
- Versionsverwaltung
- Projektmanagement
- UML-Modellierung
Nennen Sie das Vorgehen für die Werkzeugwahl
- Definition der funktionalen und nicht-funktionalen Anforderungen
- Priorisierung der Anforderungen
- Erstellung der Long List (Liste möglicher Werkzeuge)
- Auswertung von Produktvergleichen
- Eigene Recherchen
- Software-Test -> Short List und Entscheidung
Welche Möglichkeiten gibt es für den Entwurf und der Bewertung von Architekturen?
- Sichten
- Stile
- Muster
Worauf fokusiert sich die Architektursicht?
Teile und Eigenschaften eines Systems
Warum gibt es Sichten?
- Komplexe Systeme lassen sich nicht mit einer einzigen Beschreibung erfassen
- Unterschiedliche Stakeholder arbeiten mit unterschiedlichen Informationen
*Eine Art Brille durch die man eine Architektur betrachtet, die jedoch nur bestimmte Aspekte der Architektur unter bestimmten Gesichtspunkten sichtbar macht *
Was sind statische Sichten und was sind dynamische Sichten?
- Statisch
- Struktur
- Dynamisch
- Ablaufeigenschaften (Datenfluss, Kontrollfluss, usw.)
Was sind Architekturstile?
- Beschreiben die grundlegende Art des Aufbaus eines Softwaresystems
- Struktur
- physikalische Verteilung
- Zuordnung von Prozessen und Prozessoren
- Kommunikationsformen und -protokolle
- Haben grundlegenden Einfluss auf die Qualität des Gesamtsystems
- In konkreten Systemen findet man oft einen Mix von Architekturstilen - meist sind nur Teilsysteme in einem reinen Stil
- Sind im Vergleich zu Architekturmustern gröber und abstrakter
Was sind Architekturmuster?
- Muster beschreiben häufig auftretende Entwurfsprobleme und dazu universell verwendbare generische Lösungsschemen
- Entwurfsmuster sind weniger abstrakt als Architekturstile und beziehen sich konkret auf die Softwarekodierung