Entwurf Flashcards
Welche ist die Unterschied zwischen Entwurf und Architektur ?
Der Entwurf (design) ist der Prozess, der als Ergebnis die
Architektur des Softwaresystems hervorbringt.
Diese Architektur wird in einem Dokument festgehalten, das
ebenfalls Entwurf heißt – bitte nicht verwechseln!
Was ist ein Abstrakt klasse ?
Klassen und Methoden können abstrakt sein.
Abstrakt bedeutet, dass nur die Schnittstelle deklariert wird, die
Implementierung aber leer bleibt.
Abstrakte Klassen können nur abstrakte Methoden enthalten.
Unterklassen müssen die abstrakten Methoden implementieren oder
selbst wieder abstrakt sein.
Von abstrakten Klassen können keine Objekte erzeugt werden.
In der UML werden die Namen abstrakter Methoden und Klassen
kursiv geschrieben
wie kan mann die Abstraktion erreichen ?
Dekomposition: Verringerung der Schnittstellen zwischen einzelnen Komponenten
(sowohl in der Breite als auch in der Menge)
Kapselung: Jede Komponente sollte einem bestimmten Zweck dienen
was ist Top-Down Entwurf ?
Bei dieser Entwurfsrichtung beginnt man mit einer globalen Sicht auf das System und zerlegt es dann in kleinere Teile.
Man beginnt mit der Definition der Gesamtfunktionen und zerlegt sie schrittweise in Unterfunktionen und Modul
Was ist Bottom-Up-Entwurf ?
im Gegensatz zum Top-Down-Entwurf beginnt der Bottom-Up-Entwurf auf einer niedrigen Ebene, beispielsweise bei einzelnen Modulen oder Funktionen.
Diese Module werden dann schrittweise zu größeren Komponenten und schließlich zum Gesamtsystem integriert.
Was ist Outside-In-Entwurf ?
Der Outside-In-Entwurf konzentriert sich darauf, wie externe Komponenten oder Benutzer mit dem System interagieren.
Es beginnt mit der Identifizierung der Schnittstellen und definiert dann, wie das System darauf reagieren soll.
was ist ein nside-Out-Entwurf ?
m Gegensatz dazu konzentriert sich der Inside-Out-Entwurf auf die internen Strukturen und Funktionalitäten des Systems.
Man beginnt mit der Entwicklung der internen Komponenten und integriert sie dann zu einem Gesamtsystem.
Welche kriterium stehen für die Modul ?
Ein Modul soll einfach aufgebaut sein.
Die Implementierung eines Moduls soll austauschbar sein.
Ein Modul soll so entworfen sein, dass Änderungen keine Auswirkung auf die
Schnittstelle haben.
welche art von modul gibt es ?
Funktionale Module
Haben keinen Zustand, gliedern Funktionen; vorherigerige Aufrufe wirken sich nicht
auf nachfolgende aus.
Datentypmodule
benutzerdefinierte Datentypen für die Erzeugung von Objekten (typischerweise
Klassen)
Datenobjektmodule
Datenkapsel mit zugehörigen Funktionen (arbeiten auf Klassen)
Subsystem-Architekturen ?
Es gibt einzelne Module, die sich
gegenseitig aufrufen.
Eine weitere Strukturierung gibt es
nicht.
Vertikal (Schichten-Architekturen) ?
Eine Schicht fasst logisch
zusammenhängende Module
zusammen.
Eine Schicht stellt Dienste zur
Verfügung.
Dienste einer Schicht können nur von
darüberliegenden Schichten genutzt
werden.
Baumartig ?
Eine Kombination aus einer
Subsystem- mit einer
Schichtenarchitektur
Was sind die vorteil von
Bewertung von Pipes and Filters?
Ermöglicht lose Kopplung von Systemen
Anordnung der Pipes kann einfach ohne größere Änderungen am System umgebaut
werden
was sind die nachteil von Bewetung von Pipes and Filters ?
Mehr Overhead und ggf. höherer Ressourcenverbrauch
Bei Änderung der gekapselten Daten müssen alle Filter angepasst werden.
was ist Produktlinienarchitektur ?
Schreibt die Architektur für eine
Menge gleichartiger Produkte vor. An definierten variablen Stellen
werden spezielle Eigenschaften der Produkte berücksichtigt.
was ist Referenzarchitektur ?
Ist abstrakter als eine
Produktlinienarchitektur und kann für einen ganzen
Anwendungsbereich eingesetzt werden.
was ist bibliotheka ?
bestehen aus einer Menge von Modulen, die wiederverwendbar sind
und allgemein nutzbare Funktionen anbieten.
was ist Rahmenwerke (Frameworks) ?
bieten eine allgemeine generische Lösung für
ähnliche Probleme in einem bestimmten Kontext.
Grundsätzlich gilt bei Verwendung von Rahmenwerken das sogenannte “Hollywood
Prinzip”: