Softwarearchitektur

Karteikärtchen

Karteikärtchen


U. E.
Diese Lernkarten bieten einen umfassenden Überblick über Softwarearchitektur auf Universitätsniveau. Sie behandeln zentrale Konzepte wie Schichten, Objekte, Design Patterns und Performance-Optimierung, wobei auch spezifische Themen wie Datenbanken, NoSQL und Objekt-Relational-Mapping vertieft werden. Besonders nützlich sind sie für Studierende und Entwickler, die ihr Verständnis von Softwareentwurf, Architekturmustern und deren praktischer Anwendung vertiefen möchten, um effizientere und skalierbare Systeme zu gestalten.
Karten
105
Lernende
4
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
04.02.2018 / 31.12.2019

Lernkarten

Was verbindet Design Patterns der Informatik mit Design Pattern in der Architektur?

Design Pattern beschreiben Lösungsmöglichkeiten - müssen aber auf das Problem angepasst werden

Was ist die Template Methode?

Definition eines Grundgerüsts eines Algorithmus. Die Schritte werden innerhalb des Algorithms in Unterklassen und Methoden implementiert und klnnen pro Algorithmus angepasst werden.

Beschreiben Sie das State Pattern

Das State Pattern erlaubt einem Objekt sein Verhalten zu ändern, wenn sich der interne Status ändert. Das Objekt wird seine implementierende Klasse anpassen. Beispiel: Ventilator: OFF, LOW, MEDIUM, HIGH

Welche Befehle oder Interaktionen gibt es beim Command Pattern nicht?

Was ermöglicht Composite?

Es ermöglicht eine Gruppe von Objekten auf die gleiche Weise zu behandeln

Was ist nicht Bestandteil des Creational Patterns?

Was ist ein Singleton-Muster

Ist ein Enwurfsmuster, das verwendet wird, um die Instanziierung einer Klasse auf ein Objekt zu beschränken

Was sind Bestandteile des Structual Patterns?

Nennen sie drei Bestandteile eines Use-Case-Diagramms

a) Use-Case (Anwendungfall)

b) Akteur

c) Assoziation

d) Systemkontext

e) Generalisierung

Wozu verwendet man Use-Case-Diagramme?

Um Eine Grundlage zur Kommunikation zwischen Programmierer und Fachanwender zu schaffen. (relativ einfach zu verstehen)

Nennen Sie 3 Gründe weshalb optimiert werden sollte?

a) Limitierte Ressourcen

b) In Java ist in der Regel die Geschwindikeit das Hauptproblem

c) in embedded-Systemen ist der Speicher das Problem

Nennen sie Kritikpunkte zu Delphi und PERT

Delphi: basiert auf Expertenschätzung und sehr grob und ungenau

PERT: basierend auf Abhängigkeiten von kleinen Aufgaben und konzertiert sich auf kritischen Pfad

Um die Performance zu verbessern können einige Entwurfsmuster verwendet werden, um die Leistung zu optimieren. Nennen sie 3.

a) Flyweight reduziert den Speicherverbrauch

b) Object Pool reduziert den Speicherverbrauch

c) Prototyp beschleunigt die Objekterzeugung

 

Was ist kein Design Pattern?

Wie wirkt sich die Wahl der Programmiersprache auf die Performance aus?

Was macht ein Proxy?

Ein Proxy kontrolliert die bestehenden Objekte dahingehend, dass der Speicherverbrauch und dessen Verwendung limitiert wird

Was ist das Ziel eines Performance-Testing?

Den Engpass des Systems zu finden und zu beheben

Nennen Sie 3 Arten von Performance Testing?

a) Load Testing

b) Stress Testing

c) Volume Testing

Wann ist das Singleton-Pattern sinnvoll anzuwenden?

Welches Problem tritt bei der Optimierung bzgl. dem Zeitaufwand auf?

Hoher Zeitaufwand für Optimierung, die nur einen geringen Performancegewinn bringt

Welche limitierten Ressourcen sind Gründe für Optimierung?

Wie wirkt sich die Wahl der Programmiersprache auf die Performance aus?

Welches der folgenden ist kein Performance Test?

Welches Design Pattern kommt bei JUnit Tests zum Einsatz?

Welche Arten von Variable unterstützen die Compiler Optimierung?

Lernen