Software Engineering SWT Panikzettel

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Welche der folgenden Techniken wird primär in der objektorientierten Analyse (OOA) verwendet?

  • Singleton
  • Statecharts (correct)
  • Decorator
  • Factory Method

Welche der folgenden Aussagen beschreibt am besten den Unterschied zwischen funktionalen und nicht-funktionalen Anforderungen?

  • Funktionale Anforderungen beschreiben, _was_ ein System tun soll, während nicht-funktionale Anforderungen beschreiben, _wie_ das System dies tun soll. (correct)
  • Funktionale Anforderungen sind detaillierter als nicht-funktionale Anforderungen.
  • Funktionale Anforderungen sind statisch, während nicht-funktionale sich dynamisch ändern.
  • Nicht-funktionale Anforderungen beziehen sich nur auf Sicherheitsaspekte, während funktionale auf alle anderen Aspekte fokussieren.

Welches der folgenden Elemente gehört NICHT zu den Analysemustern?

  • Wechselnde Rolle
  • Schichten (correct)
  • Exemplar und Beschreibung
  • Koordinator

Was ist die Hauptfunktion des Entwurfsmusters 'Adapter'?

<p>Die Schnittstelle einer Klasse an die eines anderen bestehenden Objekts anzupassen. (C)</p> Signup and view all the answers

Welche Diagrammart wird typischerweise zur Darstellung von detaillierten Geschäftsprozessen verwendet?

<p>UML-Aktivitätsdiagramme (B)</p> Signup and view all the answers

In welchem Bereich wird das Muster 'Model-View-Controller' hauptsächlich eingesetzt?

<p>Strukturierung von Benutzerschnittstellen (D)</p> Signup and view all the answers

Was beschreibt ein 'Akteur' im Kontext der Anforderungsmodellierung?

<p>Eine Rolle, die ein Benutzer oder ein anderes System in Interaktion mit dem System spielt. (D)</p> Signup and view all the answers

Welche der folgenden Prototyp-Arten wird im Laufe der Systementwicklung weiter ausgebaut?

<p>Evolutionärer Prototyp (B)</p> Signup and view all the answers

Was ist ein Hauptmerkmal des Architekturmusters 'Blackboard'?

<p>Ein gemeinsamer Datenpool ermöglicht es spezialisierten Komponenten, Daten zu lesen und zu schreiben. (C)</p> Signup and view all the answers

Welches Designmuster wird verwendet, um sicherzustellen, dass es nur eine Instanz einer Klasse gibt?

<p>Singleton (D)</p> Signup and view all the answers

Was sind die zwei Hauptarten der Objektinteraktions-Analyse in der objektorientierten Analyse (OOA)?

<p>Statisch und dynamisch (C)</p> Signup and view all the answers

Was ist das charakteristische Merkmal eines 'Thin Clients' im Vergleich zu einem 'Fat Client'?

<p>Der Thin Client lagert die Hauptverarbeitung auf den Server aus. (D)</p> Signup and view all the answers

In welcher Phase der Objektorientierten Analyse (OOA) werden die Attribute der Klassen gefunden?

<p>Vor der Definition der Operationen (D)</p> Signup and view all the answers

Welches Architekturmuster ist am besten geeignet für Anwendungen, die in einer Netzwerkumgebung mit mehreren Schichten betrieben werden?

<p>Three-Tier Client / Server (C)</p> Signup and view all the answers

Was ist eine wesentliche Eigenschaft eines Objekts in der Objektorientierung?

<p>Es hat ein definiertes Verhalten, inneren Zustand und eine eindeutige Identität. (D)</p> Signup and view all the answers

Welches der folgenden Elemente ist nicht Teil des Prozesses der objektorientierten Analyse (OOA)?

<p>Erstellen von Use-Case-Diagrammen (B)</p> Signup and view all the answers

Welche der folgenden Pfeilarten wird in einem Sequenzdiagramm verwendet, um eine synchrone Nachricht darzustellen?

<p>Ein einfacher, durchgezogener Pfeil. (B)</p> Signup and view all the answers

Was beschreiben Statecharts?

<p>Das Verhalten von Objekten durch endliche Zustandsübergangsdiagramme. (B)</p> Signup and view all the answers

In einem Statechart, was kennzeichnet eine Transition?

<p>Ein Ereignis, optional gefolgt von einer Bedingung und/oder einer Aktion. (B)</p> Signup and view all the answers

Was bedeutet ein weißer Kreis in einem Featurediagramm?

<p>Ein optionales Feature. (A)</p> Signup and view all the answers

Welche Pfeilart in einem Sequenzdiagramm deutet auf einen Rückgabewert von einem Aufruf hin?

<p>Ein gestrichelter Pfeil. (A)</p> Signup and view all the answers

Welche Art von Pfeil wird in einem Sequenzdiagramm verwendet, um eine asynchrone Nachricht darzustellen?

<p>Ein schräg gezeichneter Pfeil. (B)</p> Signup and view all the answers

Was bedeutet ein weißer Bogen bzw. ein 'XOR' in einem Featurediagramm?

<p>Es darf maximal eine der untergeordneten Features ausgewählt werden. (D)</p> Signup and view all the answers

Was ist die Hauptfunktion eines Blockdiagramms, wie im Text beschrieben?

<p>Die Strukturierung von Systemen in Subsysteme durch Blöcke. (D)</p> Signup and view all the answers

Welche Aussage beschreibt die Hauptfunktion des Factory-Musters am besten?

<p>Es kapselt die Erzeugung von Objekten und entkoppelt den Aufrufer von der konkreten Erzeugung. (D)</p> Signup and view all the answers

Was ist die primäre Aufgabe des Decorator-Musters?

<p>Bestehende Schnittstellen um zusätzliche Funktionalitäten zu erweitern. (B)</p> Signup and view all the answers

Welche Eigenschaft ist am charakteristischsten für das Singleton-Muster?

<p>Es sorgt dafür, dass es nur eine einzige Instanz einer Klasse gibt. (D)</p> Signup and view all the answers

Wie unterscheidet sich das Decorator-Muster von der Komposition?

<p>Das Decorator-Muster erweitert <em>bestehende</em> Schnittstellen, während die Komposition Objekte trägt. (D)</p> Signup and view all the answers

Was ist der Zweck von getInstance() im Singleton-Muster?

<p>Die bestehende Instanz der Klasse zurückzugeben, oder diese zu erstellen, wenn sie noch nicht existiert. (D)</p> Signup and view all the answers

Warum ist der Konstruktor im Singleton-Muster protected?

<p>Um die Erzeugung von Instanzen der Klasse von außerhalb der Klasse zu verhindern. (B)</p> Signup and view all the answers

Welchen Vorteil bietet das Observer-Muster?

<p>Es entkoppelt Subjekte von ihren Beobachtern, sodass sich das Subject nicht um die Observer kümmern muss. (B)</p> Signup and view all the answers

Was bedeutet es, das notifyObservers im Observer-Muster so zu gestalten, dass es die Art der Änderung überträgt?

<p>Es benachrichtigt Observer nur, wenn bestimmte Arten von Änderungen relevant sind. (D)</p> Signup and view all the answers

Welche Aufgabe hat ein Dispatcher im Client-Dispatcher-Server-Muster?

<p>Er gibt die IP-Adresse oder den Domainnamen des gewünschten Servers an den Client zurück. (A)</p> Signup and view all the answers

Was ist ein wesentlicher Unterschied zwischen dem Client-Dispatcher-Server-Muster und dem Broker-Muster?

<p>Beim Broker-Muster wird der gesamte Traffic durch den Broker geleitet. (D)</p> Signup and view all the answers

Welches der folgenden Kriterien ist NICHT Teil eines guten Softwareentwurfs?

<p>Hohe Kopplung (A)</p> Signup and view all the answers

Welche Sicht im '4+1 Sichten'-Modell befasst sich primär mit Prozessen und deren Koordination?

<p>Ablaufsicht (D)</p> Signup and view all the answers

Was wird durch den Begriff 'Failure' im Kontext der Systemverfügbarkeit beschrieben?

<p>Ein von außen beobachtbarer Fehler des Systems. (C)</p> Signup and view all the answers

Was beschreibt die 'Mean Time to Repair' (MTR)?

<p>Die durchschnittliche Zeit zur Reparatur eines Failures. (C)</p> Signup and view all the answers

Wie wird die Verfügbarkeit eines Systems typischerweise berechnet?

<p>MTF / (MTF + MTR) (D)</p> Signup and view all the answers

Welche der folgenden Aussagen beschreibt am besten die 'Logische Sicht' im '4+1 Sichten'-Modell?

<p>Sie beschreibt die Klassen und das Datenmodell aus Endanwendersicht. (A)</p> Signup and view all the answers

Welche Aussage über die Vererbung in Klassen ist korrekt?

<p>Eine Klasse kann nur von einer Klasse, aber von mehreren Interfaces erben. (D)</p> Signup and view all the answers

Was bedeutet die Kardinalität '*' in einer Assoziation?

<p>Es können beliebig viele Instanzen der Assoziation existieren. (B)</p> Signup and view all the answers

Was gibt ein Qualifikator in einer Assoziation an?

<p>Den Typ oder das Attribut, nach dem die Objekte der Zielklasse unterschieden werden. (D)</p> Signup and view all the answers

Welche Eigenschaften hat eine Komposition?

<p>Sie ist eine spezielle Form der Assoziation, in der die Objekte voneinander abhängig sind und beim Löschen des übergeordneten Objekts ebenfalls gelöscht werden sollten. (A)</p> Signup and view all the answers

Was bedeutet {ordered} bei einer Assoziation?

<p>Die Reihenfolge der Objekte in der Assoziation ist von Bedeutung. (D)</p> Signup and view all the answers

Ein Aktivitätsdiagramm wird hauptsächlich verwendet, um Benutzerinteraktionen zu modellieren.

<p>False (B)</p> Signup and view all the answers

Use-Case-Beziehungen beschreiben, wie Akteure auf Anwendungsfälle Einfluss nehmen.

<p>True (A)</p> Signup and view all the answers

In einem Klassendiagramm zeigt eine Komposition eine lose Beziehung zwischen zwei Klassen an.

<p>False (B)</p> Signup and view all the answers

Ein Objektdiagramm zeigt eine Momentaufnahme der Objekte und ihrer Beziehungen zu einem bestimmten Zeitpunkt.

<p>True (A)</p> Signup and view all the answers

Sequenzdiagramme werden verwendet, um die verschiedenen Zustände eines Objekts und die Übergänge zwischen ihnen darzustellen.

<p>False (B)</p> Signup and view all the answers

Featurediagramme modellieren funktionale und nicht-funktionale Anforderungen eines Systems.

<p>True (A)</p> Signup and view all the answers

Prototyping spielt keine große Rolle in der Anforderungsanalyse und hilft nicht, Anforderungen zu verstehen.

<p>False (B)</p> Signup and view all the answers

Die Anforderungsermittlung ist der letzte Schritt in der Anforderungsanalyse und daher von geringerer Bedeutung.

<p>False (B)</p> Signup and view all the answers

Polymorphie ermöglicht es Objekten, ein einheitliches Verhalten zu zeigen, unabhängig von ihrer Unterklasse.

<p>False (B)</p> Signup and view all the answers

CRC-Karten werden in der Softwareentwicklung nur von Einzelpersonen genutzt und nicht in Gruppen.

<p>False (B)</p> Signup and view all the answers

Ein Szenario beschreibt immer einen Normalfall der Interaktion eines Akteurs mit dem System.

<p>False (B)</p> Signup and view all the answers

Die objektorientierte Analyse (OOA) verwendet keine CRC-Karten.

<p>False (B)</p> Signup and view all the answers

Statecharts modellieren das Verhalten von Objekten durch einen unendlichen Zustandsraum und Transitionen.

<p>False (B)</p> Signup and view all the answers

Eine Komponente in der Softwareentwicklung sollte eine hohe Kopplung und eine hohe Kohäsion aufweisen.

<p>False (B)</p> Signup and view all the answers

Ein 'Adapter' ist ein Analysemuster.

<p>False (B)</p> Signup and view all the answers

Das Adaptermuster passt ein angepasstes Objekt an eine unerwünschte Schnittstelle an.

<p>False (B)</p> Signup and view all the answers

Das 'Singleton'-Muster stellt sicher, dass nur zwei Instanzen einer Klasse existieren.

<p>False (B)</p> Signup and view all the answers

Das Architekturmuster 'Schichten' ist für Netzwerkapplikationen irrelevant.

<p>False (B)</p> Signup and view all the answers

Das Analysemuster 'Exemplar und Beschreibung' (Item-Item Description) wird verwendet, wenn sich Werte von Objekten nicht wiederholen.

<p>False (B)</p> Signup and view all the answers

Die 'Gang of Five' hat das Buch 'Design Patterns' veröffentlicht.

<p>False (B)</p> Signup and view all the answers

Ein 'Thin Client' hat mehr Funktionalität als ein 'Fat Client'.

<p>False (B)</p> Signup and view all the answers

Das Muster 'Exemplar und Beschreibung' ist ein Entwurfsmuster.

<p>False (B)</p> Signup and view all the answers

Das 'Observer'-Muster ermöglicht es, dass ein Objekt Änderungen an andere Objekte delegiert ohne diese zu kennen.

<p>True (A)</p> Signup and view all the answers

Ein 'Proxy' dient direkt als eine Methode der Geschäftslogik in einer Applikation.

<p>False (B)</p> Signup and view all the answers

Im Client-Dispatcher-Server-Muster leitet der Dispatcher den gesamten Traffic zwischen Clients und Servern.

<p>False (B)</p> Signup and view all the answers

Broker leiten im Gegensatz zu Dispatchern den gesamten Datenverkehr weiter, was sie zu einem potenziellen Engpass macht.

<p>True (A)</p> Signup and view all the answers

Ein 'Fault' ist ein von außen beobachtbarer Fehler eines Systems, der möglicherweise durch mehrere 'Failures' verursacht wird.

<p>False (B)</p> Signup and view all the answers

Die 'Ablaufsicht' im '4+1 Sichten'-Modell nach Kruchten befasst sich primär mit der Struktur von Subsystemen und Schnittstellen.

<p>False (B)</p> Signup and view all the answers

Die mittlere Zeit zwischen zwei Ausfällen (MTF) beinhaltet auch die Ausfallzeiten.

<p>False (B)</p> Signup and view all the answers

Der Dispatcher im Client-Dispatcher-Server-Muster stellt keinen Single-Point-of-Failure dar, da die Kommunikation direkt zwischen Client und Server erfolgt.

<p>False (B)</p> Signup and view all the answers

Eine hohe Kohäsion bezeichnet eine geringe funktionale Stärke innerhalb einer Komponente des Systems.

<p>False (B)</p> Signup and view all the answers

Die Verfügbarkeit eines Systems wird berechnet, indem man die Mean Time to Failure (MTF) durch die Summe aus MTF und Mean Time to Repair (MTR) dividiert.

<p>True (A)</p> Signup and view all the answers

Das Factory-Muster erlaubt es dem Nutzer, sich detailliert um den Zusammenbau eines Autos zu kümmern.

<p>False (B)</p> Signup and view all the answers

Das Decorator-Muster erweitert bestehende Schnittstellen um zusätzliche Funktionalität, indem es mehrere Objekte 'trägt'.

<p>False (B)</p> Signup and view all the answers

Im Singleton-Muster ist der Konstruktor typischerweise public, damit man neue Instanzen erzeugen kann.

<p>False (B)</p> Signup and view all the answers

Die getInstance-Methode im Singleton-Muster gibt immer eine neue Instanz der Klasse zurück.

<p>False (B)</p> Signup and view all the answers

Das Observer-Muster erfordert, dass das Subject alle seine Observer kennt.

<p>False (B)</p> Signup and view all the answers

Eine Klasse, die das Decorator-Muster implementiert, erbt immer von der zu erweiternden Klasse.

<p>False (B)</p> Signup and view all the answers

Im Singleton-Muster wird die statische Variable instance verwendet, um die Anzahl der erzeugten Instanzen zu verfolgen.

<p>False (B)</p> Signup and view all the answers

Im Observer-Muster muss die Art der Änderung immer an alle Observer gleichzeitig übertragen werden.

<p>False (B)</p> Signup and view all the answers

Heartbeats sind eine Methode zur Fehlererkennung, bei der Komponenten regelmäßig Meldungen an andere Syteme senden.

<p>True (A)</p> Signup and view all the answers

Bei aktiver Redundanz wird eine passive Komponente nur im Fehlerfall zur aktiven Komponente.

<p>False (B)</p> Signup and view all the answers

Die Wahl der Programmiersprache Haskell wird im Kontext der Softwareentwicklung für das Generieren von UIs empfohlen.

<p>False (B)</p> Signup and view all the answers

Die Metrik 'WTFs pro Minute' ist eine anerkannte SI-Einheit zur Bewertung von Codequalität.

<p>False (B)</p> Signup and view all the answers

Die checkNotNull-Methode in Google Guava löst eine Exception aus, wenn das übergebene Argument nicht null ist.

<p>False (B)</p> Signup and view all the answers

Der Hauptzweck von Optionals in Google Guava ist es, die Häufigkeit von NullPointerExceptions zu minimieren.

<p>True (A)</p> Signup and view all the answers

Bei generativer Softwareentwicklung werden Modelle wie UML oder eine DSL benutzt, um primär Fehler in der Implementierung zu identifizieren.

<p>False (B)</p> Signup and view all the answers

Eine Domain Specific Language (DSL) wird für allgemeine Anwendungsbereiche entwickelt.

<p>False (B)</p> Signup and view all the answers

Flashcards

Assoziation

Eine Assoziation ist eine Beziehung zwischen zwei Klassen, die angibt, wie die Objekte der Klassen miteinander in Verbindung stehen. Die Assoziation stellt die Art der Beziehung dar, und die Kardinalität spezifiziert, wie viele Instanzen der einen Klasse mit einer Instanz der anderen Klasse in Beziehung stehen können.

Qualifizierte Assoziation

Eine Assoziation kann durch einen Qualifikator präzisiert werden. Der Qualifikator gibt an, nach welchem Typ oder Attribut die Objekte der Zielklasse unterschieden werden. Beispielsweise werden Personen in einem Telefonbuch nach ihrem Namen unterschieden.

Komposition

Eine Komposition ist eine spezielle Form der Assoziation in der ein Objekt immer genau zu einer bestimmten Klasse gehört. Der Verbundene Teil existiert nur, wenn das Gesamtobjekt existiert.

Kardinalität einer Assoziation

Die Kardinalität gibt an, wie viele Instanzen der einen Klasse mit einer Instanz der anderen Klasse in Beziehung stehen können.

Signup and view all the flashcards

Geordnete Assoziation

Eine geordnete Assoziation ist eine Beziehung, bei der die Reihenfolge der beteiligten Objekte wichtig ist.

Signup and view all the flashcards

Factory Method

Ein Muster, das die Erstellung neuer Objekttypen in einer abstrakten Art und Weise ermöglicht.

Signup and view all the flashcards

Decorator

Ein Muster, das zusätzliche Funktionen zu einem Objekt hinzufügt, ohne die ursprüngliche Klasse zu ändern.

Signup and view all the flashcards

Singleton

Ein Entwurfsmuster, das sicherstellt, dass nur eine Instanz einer Klasse existiert.

Signup and view all the flashcards

Observer

Ein Entwurfsmuster, das es mehreren Objekten ermöglicht, über Änderungen an einem Objekt in Kenntnis zu sein.

Signup and view all the flashcards

Schichten

Ein Architekturmuster, das die Software in Schichten unterteilt, um die Komplexität zu reduzieren.

Signup and view all the flashcards

Blackboard

Ein Architekturmuster, das ein gemeinsames Datenspeicher verwendet, um verschiedene Komponenten zu koordinieren.

Signup and view all the flashcards

Proxy

Ein Architekturmuster, das einen Proxy-Server verwendet, um den Zugriff auf ein Objekt zu kontrollieren.

Signup and view all the flashcards

Model-View-Controller (MVC)

Ein Architekturmuster, das die Software in drei Teile unterteilt: Model, View und Controller.

Signup and view all the flashcards

Synchroner Pfeil

Ein Pfeil auf einem Objektdiagramm, der eine synchrone Kommunikation repräsentiert. Es gibt keine Verzögerung zwischen Senden und Empfangen der Nachricht.

Signup and view all the flashcards

Asynchroner Pfeil

Ein Pfeil auf einem Objektdiagramm, der eine asynchrone Kommunikation repräsentiert. Senden und Empfangen der Nachricht sind separate Ereignisse.

Signup and view all the flashcards

Neutraler Pfeil

Ein Pfeil auf einem Objektdiagramm, der keinen konkreten Kommunikationsmechanismus spezifiziert.

Signup and view all the flashcards

Statechart

Ein Diagramm, das das Verhalten eines Objekts mithilfe endlicher Zustandsübergangsdiagramme beschreibt. Es umfasst Zustände, Übergänge und Ereignisse.

Signup and view all the flashcards

Transition

In einem Statechart ist dies ein Verschiebung von einem Zustand in einen anderen, ausgelöst durch ein bestimmtes Ereignis.

Signup and view all the flashcards

Featurediagramm

Ein Diagramm, das die optionalen und obligatorischen Merkmale einer Software oder eines Systems darstellt.

Signup and view all the flashcards

Blockdiagramm

Ein Diagramm, das die strukturelle Organisation eines Systems in Blöcken darstellt.

Signup and view all the flashcards

Decorator-Muster

Ein Design-Muster, das erlaubt, bestehende Klassen mit neuer Funktionalität zu erweitern, ohne die ursprüngliche Klasse zu ändern.

Signup and view all the flashcards

Singleton-Muster

Eine Klasse, von der es zu jedem Zeitpunkt nur eine Instanz geben soll.

Signup and view all the flashcards

Observer-Muster

Ein Entwurfsmuster, das es ermöglicht, mehrere Objekte über Zustandsänderungen eines anderen Objekts zu informieren, ohne dass das informierte Objekt die Details der informierten Objekte kennen muss.

Signup and view all the flashcards

Factory-Muster

Ein Entwurfsmuster, das eine standardisierte Methode zur Erzeugung komplexer Objekte bietet. Dabei können mehrere Objekte zusammengesetzt werden, um ein komplexes Objekt zu erstellen.

Signup and view all the flashcards

Aggregation

Mehrere Objekte, die mit einer Hauptkomponente in Beziehung stehen, aber als eigenständige Einheiten existieren können.

Signup and view all the flashcards

Kommunikation

Das Zusammenspiel von mehreren Objekten über den Austausch von Nachrichten.

Signup and view all the flashcards

Nicht-funktionale Anforderung

Nicht-funktionale Anforderungen beschreiben, wie die funktionalen Anforderungen umgesetzt werden sollen. Sie betreffen Aspekte wie Effizienz, Zuverlässigkeit, Entwicklungsprozess, rechtliche oder ethische Vorgaben.

Signup and view all the flashcards

Anwendungsfall

Ein Anwendungsfall beschreibt eine Folge von Aktionen, die ein System ausführt, wenn es mit einem Akteur interagiert.

Signup and view all the flashcards

Akteur

Ein Akteur ist eine Rolle, die ein Benutzer in Verbindung mit dem System spielt. Es können auch Systeme als Akteure auftreten.

Signup and view all the flashcards

Use-Case-Diagramm

Ein Use-Case-Diagramm stellt die Beziehung zwischen Akteuren und Anwendungsfällen grafisch dar. Es zeigt, welche Anwendungsfälle von welchem Akteur verwendet werden können.

Signup and view all the flashcards

Aktivitätsdiagramm

Aktivitätsdiagramme stellen die Abfolge von Aktivitäten innerhalb eines Anwendungsfalls grafisch dar. Sie zeigen die Reihenfolge der Arbeitsschritte und eventuelle parallele Abläufe.

Signup and view all the flashcards

Objektorientierter Ansatz

Ein Objektorientierter Ansatz betrachtet ein System als eine Ansammlung interagierender Objekte. Objekte besitzen einen Zustand, Verhalten und eine eindeutige Identifizierung.

Signup and view all the flashcards

Klasse

Klassen sind Baupläne für Objekte und definieren ihre Eigenschaften und Methoden. Objekte werden dann als Instanzen dieser Klassen erstellt.

Signup and view all the flashcards

Objektorientierte Analyse

Diese Phase identifiziert wichtige Klassen und ihre Interaktionen innerhalb eines Systems. Es wird die Struktur und das Verhalten des Systems aus einer objektorientierten Sichtweise betrachtet.

Signup and view all the flashcards

Client-Dispatcher-Server Muster

Ein Dispatcher empfängt Anfragen von Clients und leitet diese an den gewünschten Server weiter.

Signup and view all the flashcards

Single-Point-of-Failure im Client-Dispatcher-Server Muster

Der Dispatcher ist der einzige Punkt, der Anfragen entgegennimmt und weiterleitet, wodurch er der zentrale Fehlerpunkt des Systems ist.

Signup and view all the flashcards

Broker

Ein Broker leitet den gesamten Datenverkehr zwischen Clients und Servern.

Signup and view all the flashcards

Broker-Bridge

Mehrere Broker können über Bridges miteinander verbunden werden, um eine verteilte Architektur zu ermöglichen.

Signup and view all the flashcards

"4+1 Sichten"-Modell

Das "4+1 Sichten"-Modell hilft bei der Gliederung von Software-Systemen.

Signup and view all the flashcards

Logische Sicht im "4+1 Sichten"-Modell

Die logische Sicht betrachtet das Klassenmodell und die Verfeinerung des Analysemodells aus Sicht des Endanwenders.

Signup and view all the flashcards

Strukturansicht im "4+1 Sichten"-Modell

Die Strukturansicht beschreibt die Subsysteme und Schnittstellen, die für die Programmierung und Wartung relevant sind.

Signup and view all the flashcards

Ablaufansicht im "4+1 Sichten"-Modell

Die Ablaufansicht zeigt die Prozesse und die Koordination zwischen den Komponenten aus der Sicht des Systemintegrators.

Signup and view all the flashcards

Klassendiagramm

Ein Klassendiagramm zeigt die Klassen eines Systems und ihre Beziehungen zueinander.

Signup and view all the flashcards

Objektdiagramm

Ein Objektdiagramm repräsentiert einen bestimmten Zustand des Systems zu einem bestimmten Zeitpunkt.

Signup and view all the flashcards

Sequenzdiagramm

Sequenzdiagramme illustrieren die Interaktion zwischen Objekten in einer zeitlichen Abfolge.

Signup and view all the flashcards

Anforderungsanalyse

Anforderungsanalyse ist die Phase, in der die gewünschte Funktionalität und Eigenschaften des Systems ermittelt und in ein formales Modell überführt werden.

Signup and view all the flashcards

Decorator-Muster - Erweiterung

Das Decorator-Muster erweitert bestehende Schnittstellen um weitere Funktionalität.

Signup and view all the flashcards

Observer-Muster - Einsatz

Das Observer-Muster eignet sich, wenn mehrere Objekte an Zustandsänderungen eines Objektes interessiert sind.

Signup and view all the flashcards

Singleton-Muster - Anwendung

Das Singleton-Muster ermöglicht die Verwendung einer einzigen Instanz einer Klasse.

Signup and view all the flashcards

Aktive Redundanz

Ein System, das aus redundanten Komponenten besteht, die parallel laufen und bei Ausfall eines Teils die Aufgabe des ausgefallenen Teils übernehmen.

Signup and view all the flashcards

Passive Redundanz

Eine Komponente, die im Falle eines Ausfalls einer anderen Komponente die Arbeit übernimmt, vorher aber nicht aktiv war.

Signup and view all the flashcards

Spare

Ein Ersatzsystem, das die Arbeit des ausgefallenen Systems übernimmt.

Signup and view all the flashcards

Auswahl der Programmiersprache

Die Auswahl der besten Programmiersprache für ein Projekt erfordert sorgfältige Abwägungen.

Signup and view all the flashcards

WTFs pro Minute

Metrik, die die Lesbarkeit und Verständlichkeit von Code anhand der Anzahl der WTFs (What The Fuck?) pro Minute misst.

Signup and view all the flashcards

Google Guava

Eine Sammlung von Hilfsfunktionen, die häufig vorkommende Probleme in Java vereinfachen

Signup and view all the flashcards

Domain Specific Language (DSL)

Eine Sprache, die speziell für einen bestimmten Anwendungsbereich oder eine Domäne entwickelt wurde.

Signup and view all the flashcards

Was ist Polymorphie?

Polymorphie bedeutet, dass Objekte unterschiedlichen Typs auf die gleiche Botschaft unterschiedliche Reaktionen zeigen können. Dies ermöglicht es, Code flexibel und wiederverwendbar zu gestalten.

Signup and view all the flashcards

Was sind CRC-Karten?

CRC-Karten sind ein Werkzeug zur Gruppenarbeit in der Softwareentwicklung, um Klassen und deren Verantwortlichkeiten zu visualisieren. Sie enthalten Name, Verantwortlichkeiten und beteiligte Klassen.

Signup and view all the flashcards

Was ist ein Szenario?

Ein Szenario ist eine exemplarische Sequenz von Interaktionen zwischen Akteuren und einem System. Es beschreibt den typischen Ablauf eines Anwendungsfalls.

Signup and view all the flashcards

Wofür dienen Statecharts?

Statecharts dienen dazu, das Verhalten eines Objekts mithilfe von Zuständen und Übergängen zu modellieren. Sie ermöglichen es, komplexe logische Abläufe zu visualisieren.

Signup and view all the flashcards

Was ist eine Komponente?

Eine Komponente ist ein eigenständiger Teil einer Software mit definierten Schnittstellen, der unabhängig von der Umgebung verwendet werden kann. Komponenten sollten möglichst lose gekoppelt und stark kohäsiv sein.

Signup and view all the flashcards

Was sind Entwurfsmuster?

Entwurfsmuster sind bewährte Lösungen für wiederkehrende Problemstellungen in der Softwareentwicklung. Sie dienen als Blaupausen für die Implementierung von wiederverwendbaren Designlösungen.

Signup and view all the flashcards

Wofür ist das Adapter-Muster?

Der Adapter-Muster dient dazu, die Schnittstelle eines bestehenden Objekts an eine gewünschte Schnittstelle anzupassen. So können verschiedene Objekte miteinander kommunizieren, obwohl sie unterschiedliche Schnittstellen verwenden.

Signup and view all the flashcards

Was ist das Exemplar- und Beschreibungs-Muster?

Das Exemplar- und Beschreibungs-Muster dient dazu, wiederkehrende Werte in Objekten zu abstrahieren, um Code zu vereinfachen und wiederverwendbarkeit zu erhöhen.

Signup and view all the flashcards

Study Notes

SWT Panikzettel - Study Notes

  • SWT Panikzettel: Created for the Software Engineering course, based on Prof. Dr. Bernhard Rumpe's lecture notes from the 2016/2017 winter semester. The notes are open source and available at the specified GitHub repository.

Table of Contents

  • Introduction (Don't Panic!): Introductory section of the study notes.

  • Diagram Types: Different types of diagrams used in software engineering.

    • Activity Diagrams: Illustrate the flow of actions. Examples include "Skript durchlesen" and "Pizza bestellen" in a sequence.
    • Use-Case Diagrams: Show interactions between actors and the system.
      • Use-Case Relationships: Specific types of relationships between Use Cases.
        • Specialization: (illustrated in the notes).
        • Inclusion: One use case calls another.
        • Extension: One use case is expanded by another.
    • Class Diagrams: Describe classes, attributes, and relationships. These diagrams show relationships, roles (arg1, arg2), and cardinality (*, 1, a..b).
      • Associations: Relationships between classes (with roles and cardinality).
      • Qualified Associations: Associations use a qualifier (e.g. Name in a phone book).
      • Composition: A specialized association, strong form of aggregation (one-to-one, integral part).
      • Visibility: Specifies the access level of attributes (like public, protected, private - shown in a table format in the notes).
    • Object Diagrams: Illustrate specific objects and their relationships.
    • Sequence Diagrams: Show the flow of messages between objects over time, showing interactions like "getPanikzettel()" and "download()".
    • Statecharts: Diagrams to describe the behavior of an object at different times (like Auction states).
    • Feature Diagrams: Used to visualize the desired features of a system (e.g., for a car with various options).
    • Other Diagrams: Other diagram types possibly relevant for the course (like Block diagrams, Component diagrams).
  • Development Models: Different approaches to software development.

    • Waterfall Model: Sequential phases.
    • V-Model: Testing phases in reverse order of development.
    • Extreme Programming (XP): iterative, small changes.
    • Scrum: iterative, agile method.
  • System Analysis and System Modeling: Analysis methods for object-oriented systems.

    • Object-Oriented Analysis (OOA): Finding classes, attributes, and associations in a system.
    • CRC Cards: Group activity to identify classes, responsibilities, and collaborators.
    • Scenarios: Description of interactions with the system.
    • Statecharts: Diagrams to describe the behavior of objects / classes in a system.
    • Components: Part of a system.
  • Patterns: Design patterns for better software development.

    • Architectural Patterns: Structures for systems (e.g. layered architecture, n-tier).
    • Design Patterns: Techniques to solve common problems (e.g., Adapter, Factory Method, Singleton).
  • Tools: Tools for managing and supporting projects/builds.

    • Version Control: (Git, SVN)
    • Build Automation: (Ant, Maven)
    • Project and Knowledge Management: Software for managing projects, issues, and knowledge bases (like Wiki and Bug-tracking). (mentioning concrete platforms is helpful)
    • UML Implementations: diagrams (UML components, config diagrams, distribution diagrams)

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

SWT Panikzettel PDF

More Like This

UML Behavioural Diagrams Quiz
5 questions
UML Concept and Use Case Diagrams
30 questions
Use Quizgecko on...
Browser
Browser