Skip to content

Latest commit

 

History

History
464 lines (249 loc) · 15.1 KB

ke02.md

File metadata and controls

464 lines (249 loc) · 15.1 KB
recall
header

Was ist die Abstraktion eines Objekts?

Die vereinfachte Beschreibung / Spezifikation eines realen Objekts, die einige Eigeschaften auslässt und andere betont

Was ist das Prinzip des geringsten Erstaunens?

Es werden nur die im Kontext entscheidenden Eigenschaften eines Objekts betrachtet, darüber hinaus gibt es keine überraschenden Eigenschaften

Wie wird ein Objekt in der UML dargestellt?

Rechteck mit unterstrichenem Namen des Objekts

Was ist der Zustand eines Objekts?

Die Kombination seiner Attribute

Wie unterscheiden sich einfache und nicht-einfache Attribute?

Einfache Attribute sind atomare Basis-Datentypen und nicht-einfache sind verweise auf andere Objekte

In welche zwei Klassen lassen sich die Operationen einer Klasse einteilen?

  1. Modifikatoren
  2. Selektoren

Wie heißen Operationen, die den Zustand eines Objektes ändern?

Modifikatoren

Wie heißen Operationen, die den Zustand eines Objektes abfragen?

Selektoren

Was ist das Verhalten eines Objekts?

Das Verhalten gibt zu jedem Zustand an welche Operationen möglich ist und in welche Zustände sie führen können

Was ist eine Dienstleister (supplier)?

Ein Objekt, das anderen Objekten Operationen bereitstellt

Was ist eine Dienstnutzer (client)?

Ein Objekt, das die Operationen anderer Objekte nutzt

Wie wird der Aufruf einer Operation auf einem Objekt noch bezeichnet?

Senden einer Nachricht bestehend aus Operationsname + Parameter

Wie werden Verbindungen genannt, bei denen ein Objekt A ein anderes Objekt B kennt, aber nicht umgekehrt?

unidirektional

Wie werden Verbindungen zwischen Objekten in der UML dargestellt?

Verbindungskante: Durchgezogene Linie und offene Pfeilspitzen (oder keine Pfeilspitzen bei bidirektioner Verbindung)

Wie werden Verbindungsnamen in der UML dargestellt?

groß geschriebenes (unterstrichenes) Substantiv in der Mitte der Verbindungslinie

Was ist die Rolle eines Objekts?

Die Bezeichnung der Funktion, die ein Objekt in einer Verbindung einnimmt

Wie wird die Rolle eines Objekts in einer Assoziation in der UML notiert?

klein geschriebenes Substantiv am Ende der Verbindungslinie

Was ist die Identität eines Objekts?

Eine Eigenschaft eines Objekts, das sich nicht in den Attributwerten niederschlägt. Im Grunde die Speicheradresse.

Was sind Referenzen auf Objekte?

benannte Variablen, die auf ein Objekt verweisen

Wie werden Referenzen auf Objekte noch genannt?

indirekte Namen

Was ist ein anonymes Objekt?

Ein Objekt, das nur über Referenzen identifiziert und angesprochen werden kann, nicht durch eine Teilmenge seiner Attribute

Was sind Aliase eines Objekts?

Referenzen auf das selbe Objekt mit ggf. unterschiedlichen (indirekten) Namen

Welche Objektgleichheiten müssen unterschieden werden?

  • Zustandsgleichheit / Wertegleichheit: Alle Attrigute sind gleich
  • referentielle Gleichheit / gleiche Identität: Das selbe Objekt (Speicheradresse)

Was ist Zustandsgleichheit / Wertegleichheit?

Unterschiedliche Objekte, alle Attrigute sind gleich

Was ist referentielle Gleichheit?

gleiche Identität, dasselbe Objekt (Speicheradresse)

Was sind Objektdiagramme?

Grafische Darstellung von Objektgeflechten, die die existierenden Objekte und deren Verbindungen untereinander darstellen

Was ist eine Klasse?

Eine Menge von Objekten mit denselben Attributen und identischem Verhalten

Was ist der Unterschied zwischen Verbindungen und Assoziationen?

Verbindungen bestehen zwischen Objekten, Assoziationen zwischen Klassen

Wie unterscheiden sich Klassendiagramme innerhalb der Phasen eines Entwicklungsprozesses?

durch den Abtraktionsgrad

Wie verhalten sich Objekte und Klassen zueinander?

Objekte sind Instanzen einer Klasse. Eine Klasse ist ein Bauplan für ein Objekt.

Was ist die gängige Art Klassen zu benennen?

PascalCase

Wie wird eine Klasse in der UML dargestellt?

horizontal dreigeteiltes Rechteck mit nicht unterstrichenem Namen der Klasse oben, Attributen in der Mitte und Operationen unten

Wie wird die Instanz einer Klasse in der UML dargestellt?

Rechteck mit Text Objektname : Klassenname

Wie wird ein anonymes Objekt in der UML dargestellt?

Rechteck mit Text : Klassenname

Was ist die Attributspezifikation einer Klasse?

Der Namen und der zulässige Wertebereits eines Attributs

Wie können konstante Attribute einer Klasse beschrieben werden?

Angabe von {frozen} hinter dem Namen

Was legt den Zustandsraum der Instanz einer Klasse fest?

Das Kreuzprodukt aller Wertebereiche der Attribute

Welche drei Übergabeparameterarten werden in der UML beschrieben?

  • in: Eingabeparameter, wird von der Funktion nicht modifiziert
  • out: Ausgabeparameter, höchstens einer
  • inout: Ein- und Ausgabeparameter, die als Input dienen, aber auch modifiziert werden

Was ist die Signatur einer Operation?

Operationsname, Wertebereich der Eingabeparameter und Ausgabeparameter

Wie werden Selektoren in der UML markiert?

Angabe von {isQuery} hinter der Signatur

Wie werden Attribute und Operationen von Klassen in Klassendiagrammen der UML angegeben?

Klassenname
attribute
operationen

Was sind reflexive Assoziationen?

Assoziationen von einer Klasse mit sich selbst

Wie werden Assoziationen zwischen Klassen in Klassendiagrammen angegeben?

durchgezogene Linie zwischen Klassen, Assoziationsname mittig über der Linie

Was ist die Multiplizität einer Assoziation?

Beschreibt wie viel Instanzen von Objekten der verbundenen Klassen an der Assoziation beteiligt sind.

Was ist eine 1:1-Assoziation?

Eine Assoziation mit Multiplizität 1 oder 0..1 an beiden Enden

Was ist eine 1:n-Assoziation?

Eine Assoziation mit Multiplizität 1 oder 0..1 an einem und einer 0..x Multiplizität am anderen Ende

Was ist eine n:m-Assoziation?

alles was weder 1:n noch 1:1 Assoziation ist

Was sind mehrwertige Assoziationen?

Assoziationen, die an mindestens einem Ende eine Multiplizität >1 haben

Was ist eine Aggregation?

Aggregation ist eine spezielle Assoziation, bei der es eine Ganzes-Instanz und verknüfte Teil-Instanzen gibt. Bei Zerstörung des Ganzen muss festgelegt werden, wie mit den Teilen verfahren wird. Teile können teil von mehreren Ganzen sein.

Wie wird eine Aggregation in der UML dargestellt?

Eine nicht ausgefüllte Raute am "Ganzes"-Ende der Assoziationslinie

Was ist eine Komposition?

eine spezielle Assoziation, bei der es eine Ganzes-Instanz und verknüfte Teil-Instanzen gibt. Anders als bei der Aggregation, darf jedes Teil nur Teil einer Ganzes-Instanz sein. Wird das Ganze zerstört, müssen auch die Teile zerstört werden. Verknüpfungen dürfen nur von der Ganzes-Klasse erstellt oder gelöst werden.

Wie wird eine Komposition in der UML dargestellt?

  1. Eine ausgefüllte Raute am "Ganzes"-Ende der Assoziationslinie
  2. Die Teil-Klasse wird im Inneren der Ganzes-Klasse gezeichnet. Die Multiplizität oben rechts in der Teil-Klasse vermerkt

Was sind Assoziationsklassen?

Spezielle Klassen, die Attribute einer Assoziation zwischen Objekten halten

Wie wird eine Assoziationsklasse in der UML dargestellt?

Mittels gestrichelter Linie wird die Assoziationsklasse mit der Assoziationslinie zwischen Klassen verbunden

Was sind abgeleitete Attribute?

solche, die aus anderen Attributen berechnet werden

Wie werden abgeleitete Attribute in der UML dargestellt?

durch einen / vor dem Namen des Attributs

Was sind abgeleitete Assoziationen?

solche, die aus bestehenden Assoziationen geschlossen werden können (bei gleichen Eltern sind die Kinder automatisch Geschwister)

Wie werden abgeleitete Assoziationen in der UML dargestellt?

durch einen / vor dem Namen der Assoziation

Was sind die Standardoperationen von Klassen?

  • setter- und getter-Operationen (setze / gib)
  • Verknüpfungsoperationen (verbinde / gib / loese)
  • Selektionsoperationen (selektiere)
  • Destruktor (zerstoere)

Was ist eine Klassenoperation?

Eine Operation, die eine Klasse ohne Existenz einer Instanz bereitstellt

Was sind Standard-Klassenoperationen?

Konstruktor erzeuge()

Was ist Generalisierung?

Die Zusammenfassung gemeinsamer Operationen und Attribute von Klassen in eine gemeinsame Oberklasse unter Beibehaltung der Konformität

Was ist Spezialisierung?

Die entgegengesetzte Sichtweise der Generalisierung

Was besagt das Substituierbarkeitsprinzip?

Objekte der Unterklasse können Objekte der Oberklasse vertreten

Wie werden Generalisierungen in der UML dargestellt?

Durch eine durchgezogene Linie mit einem nicht ausgefüllten Dreieick als Spitze von der Unterklasse zur Oberklasse

Wie werden Sichtbarkeiten auf Operationen / Attribute in der UML dargestellt?

Vorangestelltes Sonderzeichen:

  • \+: public
  • \-: private
  • \#: protected
  • \~: package

Was sind geschützte Operationen und Attribute?

Verhalten sich wie private Operationen und Attribute, sind aber von Unterklassen sicht- und modifizierbar

Wie werden Notizen in der UML dargestellt?

Rechtecke mit umgefalteter Ecke, die mit gestrichelten Linien mit dem beschriebenen Element eines Diagramms verbunden werden

Was ist die öffentliche Schnittstelle einer Klasse?

Die Menge aller public Operationen und Attribute

Was ist die Implementierung einer Klasse (UML)?

Die Realisierung der öffentlichen Schnittstelle

Was ist ein Stereotyp in der UML?

Ein Satz spezieller, textuell spezifizierter Charakteristika und/oder Zusicherungen

Welche drei Standard-Stereotypen gibt es in der UML?

  • Entity (Entitätsklasse), repräsentiert die Abtraktion eines Domänenobjekts
  • Boundary (Schnittstellenklasse)
  • Control (Kontrollklasse), implementiert überprüfende Business-Logik innerhalb von Workflows

Wie werden Stereotypen in der UML dargestellt?

  • Angabe des Namens des Stereotypen in «» vor dem Klassennamen
  • Symbol oben rechts im Rechteck der Klasse
  • großes Symbol mit Namen der Klasse unterhalb

Wie sieht das Symbol für den Stereotyp Entitätsklasse aus?

Kreis auf einem horizontalen Strich

Wie sieht das Symbol für den Stereotyp Schnittstellenklasse aus?

Kreis mit einem vertikalen Strich auf der linken Seite, der mit einem kurzen horizontalen Strich mit dem Kreis verbunden ist

Wie sieht das Symbol für den Stereotyp Kontrollklasse aus?

Ein Kreis mit einer linksdrehenden Pfeilspitze auf 12 Uhr

Was sind Abhängigkeiten (UML)?

schwache, nicht näher definierte Verbindungen von Klassen, die keine Assoziation sind. Beispiel: «use» Abhängigkeit wenn Objekt der Klasse als Parameter einer Methode übergeben wird

Wie werden Abhängigkeiten in der UML dargestellt?

Gestrichelter Pfeil mit offener Spitze von der abhängigen zur unabhängigen Klasse

Welche drei Arten von Klassen unterscheidet die UML?

  • reguläre Klassen
  • abstrakte Klassen
  • Interfaces

Was zeichnet abstrakte Klassen aus?

  • können nicht instanziiert werden
  • können Methoden implementieren
  • können Attribute haben

Was zeichnet Interfaces aus?

  • können nicht instanziiert werden
  • deklarieren nur eine Schnittstelle, haben keine Implementierung
  • haben keine Attribute

Wie kann die Realisierung eines Interfaces durch eine Klasse in der UML dargestellt werden?

  • «realizes» Abhängigkeit (gestrichelte Linie mit unausgefüllter Dreieckspitze)
  • Lollipop

Wie werden abstrakte Klassen und Methoden in der UML dargestellt?

kursiv geschriebene Namen

Wie werden Interfaces in der UML dargestellt?

  • Stereotyp «Interface»
  • kleiner Kreis mit Interface-Name darunter, mit Linie zur Klasse (Lollipop)

Wann besteht eine «use» Abhängigkeit?

Bekommt die Operation einer Klasse ein Objekt eines Interface Typen übergeben, besteht eine «use» Abhängigkeit von der Interface Klasse

Welcher Zusammenhang besteht zwischen Interfaces und Polymorphie?

Durch die Verwendung von Objekten als einer ihrer Interface Supertypen lassen sich die Schnittstellen auf den situativ benötigten Umfang einschränken, obwohl die konkrete Klasse, eigentlich mehr Operation anbieten könnte.

Wie unterscheiden sich Interfaces und abstrakte Klassen in Bezug auf Assoziationen?

Interfaces können höchstens einseitig navigierbare Assoziationen (zum Interface) aufweisen.

Welcher Stereotyp wird für Aufzählungen verwendet?

«enumeration»

Wie werden Klassenattribute und Klassenoperationen in der UML dargestellt?

wie Instanzattribute/-operationen aber unterstrichen

Was sind Zusicherungen (Contraints) (UML)?

Bedingungen, die an Modellierungselemente gestellt werden

Wie werden Zusicherungen (Contraints) in der UML dargestellt?

in geschweiften Klammern am betreffenden Element. Freitext / Pseudocode / OCL (Object Contraint Language)

Wie kann die Zusicherung von Exklusivität mehrerer Assoziationen einer Klasse dargestellt werden?

{oder} Zusicherung an den Assoziationen

Wie kann die Zusicherung einer Ordnung von mehrwertigen Assoziationen einer Klasse dargestellt werden?

{geordnet} an die Assoziation

Mit welcher Zusicherung kann eine Selbstreferenz unterbunden werden?

{hierarchisch} / {Hierarchie}

Wozu dient die textuelle Darstellung einer Klasse?

Auflisten ihrer Verantwortlichkeiten. Semantik einer Operation wird durch Vor- und Nachbedingungen und die Klasseninvariante gezeigt

Was sind Vorbedingungen?

Vorbedingungen sind Bedingungen, die beim Aufruf einer Operation gelten müssen, damit die Nachbedingung garantiert ist. Beziehen sich auf Eingabeparameter (in/inout) und den Objektzustand

Was sind Nachbedingungen?

Nachbedingungen beschreiben das Ergebnis einer Operation, sei es ein Rückgabewert oder ein neuer Zustand

Was ist die Klasseninvariante?

Bedingungen an die Attribute und damit den Zustand einer Klasse, der vor und nach jedem Aufruf einer öffentlichen Operation eingehalten werden muss (Beispiel: Attribut darf nicht negativ werden)

In welche drei Abschnitte teilt sich die textuelle Klassenspezifikation auf?

  1. responsibilities - Verantwortlichkeiten
  2. inv - Klasseninvariante
  3. features - Operationen
    1. attributes
    2. operations

Wie lautet die Syntax zur textuellen Spezifikation eines Attributs?

Sichtbarkeit AttributName : Typ = Defaultwert {Eigenschaften}

Wie lautet die Syntax zur textuellen Spezifikation einer Operation?

Sichtbarkeit OperationsName (Parameterliste) : Rückgabewert {Eigenschaften}

Mit welchen Schlüsselworten werden Vor- und Nachbedingungen einer Operation in der UML notiert?

pre / post nach Signatur

Was bedeutet die Syntax Attributname@pre in der Nachbedingung?

Adressiert ein Attribut vor Ausführung der Operation

Wie wird der Wert eines Attributs vor der Operationsausführung in der Nachbedingung adressiert?

Attributname@pre

Was ist ein Paket in der UML?

Eine Gruppierung von Modellierungselementen (inklusive Paketen). Pakete sind disjunkt, bilden Namensraum

Welche Abhängigkeiten können zwischen Paketen bestehen?

  • Import (Namensräume werden gemergt) «import»
  • Access (Objekte werden voll qualifiziert angesprochen) «access»

Wie werden Paketabhängigkeiten in der UML dargestellt?

gestrichelte Pfeile mit offener Spitze mit «import» oder «access» Vermerk