Softwaretechnik-Glossar

 

A

Abgeleitetes Attribut (derived attribute)

Abgeleitete Attribute lassen sich aus anderen Attributen berechnen. Sie dürfen nicht direkt geändert werden.

Abstrakte Klasse (abstract class)

Von einer abstrakten Klasse können keine Objekte erzeugt werden. Die abstrakte Klasse spielt eine wichtige Rolle in Vererbungsstrukturen, wo sie die Gemeinsamkeiten einer Gruppe von Unterklassen definiert. Damit eine abstrakte Klasse verwendet werden kann, muß von ihr zunächst eine Unterklasse abgeleitet werden. Eine abstrakte Klasse kann auf zwei verschiedene Arten konzipiert werden:

1 Mindestens eine Operationen wird nicht spezifiziert bzw. implementiert, d.h. der Rumpf ist leer. Es wird nur die Signatur dieser Operation angegeben. Man spricht dann von einer abstrakten Operation.

2 Alle Operationen können – wie auch bei einer konkreten Klasse vollständig spezifiziert bzw. implementiert werden. Es ist jedoch nicht beabsichtigt, von dieser Klasse Objekte zu erzeugen.

Abstrakte Operation (abstract operation)

Eine Operation, für die nur die Signatur angegeben ist, die aber nicht spezifiziert bzw. implementiert ist (pure virtual member function in C++). Enthält eine Klasse mindestens eine abstrakte Operation, dann handelt es sich um eine abstrakte Klasse. Die zugehörige Spezifikation bzw. Implementierung wird erst in den Unterklassen angegeben.

Abstrakter Datentyp (abstract data type)

Der abstrakte Datentyp (ADT) ist ursprünglich ein Konzept des Entwurfs. Ein abstrakter Datentyp wird ausschließlich über seine (Zugriffs-) Operationen definiert, die auf Exemplare dieses Typs angewendet werden. Die Repräsentation der Daten und die Wahl der Algorithmen zur Realisierung der Operationen sind nach außen nicht sichtbar, d.h. der ADT realisiert das Geheimnisprinzip. Von einem abstrakten Datentyp können beliebig viele Exemplare erzeugt werden. Die Klasse stellt eine Form des abstrakten Datentyps dar.

Abstraktion (abstraction)

1 Abstraktion, als ein Prozeß betrachtet, bezeichnet die Vorgehensweise, die wesentlichen Informationen über etwas zu ermitteln und die unwesentlichen Informationen zu ignorieren.
2 Abstraktion, als Ergebnis betrachtet, bezeichnet ein Modell oder einen bestimmten Blickwinkel.

Aggregation (aggregation)

Eine Aggregation ist ein Sonderfall der Assoziation. Sie liegt dann vor, wenn zwischen den Objekten der beteiligten Klassen eine Beziehung vorliegt, die sich als »ist Teil von« oder »besteht aus« beschreiben läßt.

Akteur (actor)

Ein Akteur ist eine Rolle, die ein Benutzer des Systems spielt. Akteure befinden sich außerhalb des Systems. Akteure können Personen oder externe Systeme sein.

Aktion (action)

Eine Aktion ist eine atomare Operation, die durch ein Ereignis ausgelöst wird und sich selbst beendet. Sie kann mit einer Transition verbunden sein. Entry-Aktionen werden bei Eintritt, und exit-Aktionen bei Verlassen des Zustandes ausgeführt.

Aktivität (activity)

Eine Aktivität ist eine Operation, die mit einem Zustand eines Zustandsautomaten verbunden ist. Sie beginnt bei Eintritt und endet bei Verlassen des Zustandes. Sie kann alternativ durch ein Paar von Aktionen, eine zum Starten und eine zum Beenden der Aktivität, beschrieben oder durch ein weiteres Zustandsdiagramm verfeinert werden.

Aktivitätsdiagramm (activity diagram)

Ein Aktivitätsdiagramm ist der Sonderfall eines Zustandsdiagramms, bei dem – fast – alle Zustände mit einer Verarbeitung verbunden sind. Ein Zustand wird verlassen, wenn die Verarbeitung beendet ist. Außerdem ist es möglich, eine Verzweigung des Kontrollflusses zu spezifizieren und zu beschreiben, ob die Verarbeitungsschritte in festgelegter oder beliebiger Reihenfolge ausgeführt werden können.

Analyse (analysis)

Aufgabe der Analyse ist die Ermittlung und Beschreibung der Anforderungen eines Auftraggebers an ein Softwaresystem. Das Ergebnis soll die Anforderungen vollständig, widerspruchsfrei, eindeutig, präzise und verständlich beschreiben.

Analysemuster (analysis pattern)

Ein Analysemuster ist eine Gruppe von Klassen mit feststehenden Verantwortlichkeiten und Interaktionen, die eine bestimmte – wiederkehrende Problemlösung beschreiben.

Analyseprozeß

Der Analyseprozeß beschreibt die methodische Vorgehensweise zur Erstellung eines objektorientierten Analysemodells. Er besteht aus einem Makroprozeß, der die grundlegenden Vorgehensschritte vorgibt und der situations- und anwendungsspezifischen Anwendung von methodischen Regeln.

Anfragesprache

->OQL

Assoziation (association)

Eine Assoziation modelliert Verbindungen zwischen Objekten einer oder mehrerer Klassen. Binäre Assoziationen verbinden zwei Objekte. Eine Assoziation zwischen Objekten einer Klasse heißt reflexiv. Jede Assoziation wird beschrieben durch Kardinalitäten und einen optionalen Assoziationsnamen oder Rollennamen. Sie kann um Restriktionen ergänzt werden. Besitzt eine Assoziation selbst wieder Attribute und ggf. Operationen und Assoziationen zu anderen Klassen, dann wird sie zur assoziativen Klasse. Die Qualifikationsangabe (qualifier) zerlegt die Menge der Objekte am anderen Ende der Assoziation in Teilmengen. Eine abgeleitete Assoziation liegt vor, wenn die gleichen Abhängigkeiten bereits durch andere Assoziationen beschrieben werden. Sonderfälle der Assoziation sind die Aggregation und die Komposition. In der Analyse ist jede Assoziation inhärent bidirektional. Im Entwurf wird die gewünschte Navigationsrichtung angegeben.

Assoziative Klasse (association class)

Eine assoziative Klasse besitzt sowohl die Eigenschaften der Assoziation als auch die der Klasse.

Attribut (attribute)

Attribute beschreiben Daten, die von den Objekten der Klasse angenommen werden können. Alle Objekte einer Klasse besitzen dieselben Attribute, jedoch im Allgemeinen unterschiedliche Attributwerte. Jedes Attribut ist von einem bestimmten Typ und kann einen Anfangswert (default) besitzen. Bei der Implementierung muß jedes Objekt Speicherplatz für alle seine Attribute reservieren. Der Attributname ist innerhalb der Klasse eindeutig. Abgeleitete Attribute lassen sich aus anderen Attributen berechnen.

Attributspezifikation (attribute specification)

Ein Attribut wird durch folgende Angaben spezifiziert:

Name: Typ = Anfangswert {mandatory, key, frozen, Einheit: ..., Beschreibung:...}

wobei gilt: mandatory = Muß-Attribut, key = Schlüsselattribut, frozen =

Attributwert nicht änderbar.

B
Balancierter Makroprozeß

Der balancierte Makroprozeß unterstützt die Gleichgewichtigkeit von statischem und dynamischem Modell. Er beginnt mit dem Erstellen von Geschäftsprozessen und der Identifikation von Klassen. Dann werden statisches und dynamisches Modell parallel erstellt und deren Wechselwirkungen berücksichtigt.

Beobachter-Muster (observer pattern)

Das Beobachter-Muster ist ein objektbasiertes Verhaltensmuster. Es sorgt dafür, daß bei der Änderung eines Objekts alle davon abhängigen Objekte benachrichtigt und automatisch aktualisiert werden.

Botschaft (message)

Eine Botschaft ist die Aufforderung eines Senders (client) an einen Empfänger (server, supplier) eine Dienstleistung zu erbringen. Der Empfänger interpretiert diese Botschaft und führt eine Operation aus.

C
Container-Klasse

Eine Container-Klasse ist eine Klasse, deren Objekte Mengen von Objekten (anderer) Klassen sind. Sie können homogene Mengen verwalten, d.h. alle Objekte einer Menge gehören zur selben Klasse, oder auch heterogene Mengen, d.h. die Objekte einer Menge gehören zu unterschiedlichen Unterklassen einer gemeinsamen Oberklasse. Container-Klassen werden oft mittels generischer Klassen realisiert.

CORBA (Common Object Request Broker Architecture)

CORBA ist der OMG-Standard, der spezifiziert, wie Objekte in einer verteilten, heterogenen Umgebung kommunizieren. Er beschreibt den Aufbau des ORB, seine Bestandteile sowie deren Verhalten und Schnittstellen.

CRC-Karte (Class/Responsibility/Collaboration)

Eine CRC-Karte ist eine Karteikarte. Oben auf der Karte wird der Name der Klasse (class) eingetragen. Die restliche Karte wird in zwei Hälften geteilt. Auf der einen Hälfte werden die Verantwortlichkeiten (responsibilities) der Klasse notiert. Darunter sind sowohl das Wissen der Klasse als auch die zur Verfügung gestellten Operationen zu verstehen. Auf der rechten Seite wird eingetragen, mit welchen anderen Klassen die beschriebene Klasse zusammenarbeiten muß (collaborations).

D
Datenbanksystem (data base system)

Ein Datenbanksystem besteht aus einer oder mehreren Datenbanken, einem Data Dictionary und einem Datenbankmanagementsystem.

In der Datenbank sind alle Daten gespeichert. Das Data Dictionary (DD) enthält das Datenbankschema, das den Aufbau der Daten der Datenbank(en) beschreibt. Die Verwaltung und zentrale Kontrolle der Daten ist Aufgabe des Datenbankmanagementsystems.

Daten-basierter Makroprozeß

Beim daten-basierten Makroprozeß wird zunächst das Klassendiagramm erstellt und aufbauend darauf werden die Geschäftsprozesse und die anderen Diagramme des dynamischen Modells entwickelt.

Datendefinitionssprache (data definition language)

Die Datendefinitionssprache (DDL) ist eine Sprache, die ein relationales Datenbanksystem zur Verfügung stellt und die zur formalen Definition des logischen Schemas – d.h. den leeren Tabellen der relationalen Datenbank – dient. Als Standard hat sich die Sprache SQL etabliert.

Datenhaltungsschicht (storage tier, database tier)

Die Datenhaltungsschicht realisiert die jeweilige Form der Datenspeicherung, z.B. mit einem objektorientierten oder relationalen Datenbanksystem oder mit flachen Dateien.

Datenmanipulationssprache (data manipulation language)

Die Datenmanipulationssprach (DML) dient dazu, die leeren Tabellen einer relationalen Datenbank mit Daten zu füllen und diese Daten zu ändern. Eine DML enthält keine Kontrollstrukturen und Prozedurkonzepte. Als Standard hat sich die Sprache SQL etabliert.

Datenmodell

Jedem Datenbanksystem liegt ein Datenmodell zugrunde, in dem festgelegt wird, welche Eigenschaften und Struktur die Datenelemente besitzen dürfen, welche Konsistenzbedingungen einzuhalten sind und welche Operationen zum Speichern, Suchen, Ändern und Löschen von Datenelementen existieren. Es lassen sich relationale und objektorientierte Datenmodelle unterscheiden.

DDL (Data Definition Language)

->Datendefinitionssprache

Destruktor (destructor)

Ein Destruktor ist eine Operation, die ein Objekt löscht.

Dialog (dialog)

Ein Dialog ist eine Interaktion zwischen einem Benutzer und einem Dialogsystem, um ein bestimmtes Ziel zu erreichen. Ein Benutzer ist ein Mensch, der mit dem Dialogsystem arbeitet /ISO 9241-10/. Arbeitsschritte, die zur direkten Aufgabenerfüllung dienen, bezeichnet man als Primärdialog. Benötigt der Benutzer situationsabhängig zusätzliche Informationen, dann werden diese Hilfsdienste durch Sekundärdialoge erledigt.

Dialogmodus

Ein modaler Dialog (modal dialog) muß beendet sein, bevor eine andere Aufgabe der Anwendung durchgeführt werden kann. Ein nichtmodaler Dialog (modeless dialog) ermöglicht es dem Benutzer, den aktuellen Dialog zu unterbrechen, während das ursprüngliche Fenster geöffnet bleibt.

DML (Data Manipulation Language)

->Datenmanipulationssprache

Drei-Schichten-Architektur (three-tier architecture)

Die Drei-Schichten-Architektur besteht aus der GUI-Schicht (Schicht der Benutzungsoberfläche), der Fachkonzeptschicht und der Schicht der Datenhaltung. Es sind zwei Ausprägungen möglich: die strenge und die flexible Drei-Schichten-Architektur.

Dynamisches Binden (dynamic binding)

->spätes Binden

Dynamisches Modell

Das dynamische Modell ist der Teil des OOA-Modells, welches das Verhalten des zu entwickelnden Systems beschreibt. Es realisiert außer den Basiskonzepten (Objekt, Klasse, Operation) die dynamischen Konzepte (Geschäftsprozeß, Szenario, Botschaft, Zustandsautomat).

E
Einfachvererbung (single inheritance)

Bei der Einfachvererbung besitzt jede Unterklasse genau eine direkte Oberklasse. Es entsteht eine Baumstruktur.

Elementare Klasse (support class)

Wird der Typ eines Attribut wieder durch eine Klasse realisiert, dann spricht man von einer elementaren Klasse. Sie wird nicht in das Klassendiagramm eingetragen.

Entwurf (design)

Aufgabe des Entwurfs ist – aufbauend auf dem Ergebnis der Analyse die Erstellung der Softwarearchitektur und die Spezifikation der Komponenten, d.h. die Festlegung von deren Schnittstellen, Funktions- und Leistungsumfang. Das Ergebnis soll die zu realisierenden Programme auf einem höheren Abstraktionsniveau widerspiegeln.

Entwurfsmuster (design pattern)

Ein Entwurfsmuster gibt eine bewährte, generische Lösung für ein immer wiederkehrendes Entwurfsproblem an, das in bestimmten Situationen auftritt. Es lassen sich klassen- und objektbasierte Muster unterscheiden. Klassenbasierte Muster werden durch Vererbungen ausgedrückt. Objektbasierte Muster beschreiben in erster Linie Beziehungen zwischen Objekten. Beispiele für Entwurfsmuster sind das Beobachter-Muster und das Singleton-Muster.

Ereignis (event)

Ein Ereignis tritt immer zu einem Zeitpunkt auf und besitzt keine Dauer. Es kann sein: eine wahr werdende Bedingung, ein Signal, eine Botschaft (Aufruf einer Operation), eine verstrichene Zeitspanne oder das Eintreten eines bestimmten Zeitpunkts. In den beiden letzten Fällen spricht man von zeitlichen Ereignissen.

Erfassungsfenster

Das Erfassungsfenster bezieht sich auf ein einzelnes Objekt einer Klasse. Jedes Attribut der Klasse wird auf ein Interaktionselement des Fensters abgebildet. Das Erfassungsfenster dient zum Erfassen und Ändern von Objekten und zum Erstellen und Entfernen von Verbindungen zu anderen Objekten.

Erzeugungsmuster (creational pattern)

Erzeugungsmuster helfen dabei, ein System unabhängig davon zu machen, wie seine Objekte erzeugt, zusammengesetzt und repräsentiert werden.

Exemplar (instance)

->Objekt

F
Fabrikmethode-Muster (factory method pattern)

Das Fabrikmethode-Muster ist ein klassenbasiertes Erzeugungsmuster. Es bietet eine Schnittstelle zum Erzeugen eines Objekts an, wobei die Unterklassen entscheiden, von welcher Klasse das zu erzeugende Objekt ist.

Fachkonzeptschicht (application logic tier)

Die Fachkonzeptschicht modelliert in einer Drei-Schichten-Architektur die fachliche Anwendung und die Zugriffe auf die Datenhaltungsschicht. Das OOA-Modell bildet die erste Version der Fachkonzeptschicht.

Fassaden-Muster (facade pattern)

Das Fassaden-Muster ist ein objektbasiertes Strukturmuster. Es bietet eine einfache Schnittstelle zu einer Menge von Schnittstellen (Paket) an. Die Fassadenklasse definiert eine Schnittstelle, um die Benutzung des Pakets zu vereinfachen.

Fenstertypen

Es lassen sich folgende Fenstertypen unterscheiden: Anwendungsfenster, Unterfenster, Dialogfenster und Mitteilungsfenster. Das Anwendungsfenster erscheint nach dem Aufruf der Anwendung, Unterfenster unterstützten die Primärdialoge, Dialogfenster werden für Sekundärdialoge benötigt und Mitteilungsfenster sind spezialisierte Dialogfenster.

Flache Dateien (flat files)

Unter einer Speicherverwaltung mit flachen Dateien ist eine Organisationsform zu verstehen, die nur rudimentäre Zugriffsoperationen anbietet.

Flexible Drei-Schichten-Architektur

Eine flexible Drei-Schichten-Architektur ergibt sich, wenn die GUISchicht sowohl auf die Fachkonzeptschicht als auch auf die Datenhaltungsschicht

zugreifen darf.

Formale Inspektion

Die formale Inspektion ist ein formales Verfahren zur manuellen Prüfung der Dokumentation.

Framework

Ein Framework besteht aus einer Menge von zusammenarbeitenden Klassen, die einen wiederverwendbaren Entwurf für einen bestimmten Anwendungsbereich implementieren. Es besteht aus konkreten und insbesondere aus abstrakten Klassen, die Schnittstellen definieren. Die abstrakten Klassen enthalten sowohl abstrakte als auch konkrete Operationen. Im allgemeinen wird vom Anwender (=Programmierer) des Frameworks erwartet, daß er Unterklassen definiert, um das Framework zu verwenden und anzupassen.

G
Geheimnisprinzip (information hiding)

Die Einhaltung des Geheimnisprinzips bedeutet, daß die Attribute und die Implementierung der Operationen außerhalb der Klasse nicht sichtbar sind.

Generalisisierung (generalization)

->Vererbung

Generische Klasse (parameterized class, template)

Eine generische Klasse ist eine Beschreibung einer Klasse mit einem oder mehreren formalen Parametern. Sie definiert daher eine Familie von Klassen. Container-Klassen werden häufig als generische Klassen realisiert.

Geschäftsprozeß (use case)

Ein Geschäftsprozeß (use case) besteht aus mehreren zusammenhängenden Aufgaben, die von einem Akteur durchgeführt werden, um ein Ziel zu erreichen bzw. ein gewünschtes Ergebnis zu erstellen.

Geschäftsprozeßdiagramm (use case diagram)

Ein Geschäftsprozeßdiagramm beschreibt die Beziehungen zwischen Akteuren und Geschäftsprozessen in einem System. Auch Beziehungen zwischen Geschäftsprozessen können eingetragen werden. Es gibt auf einem auf hohem Abstraktionsniveau einen guten Überblick über das System und seine Schnittstellen zur Umgebung.

Geschäftsprozeßschablone (use case template)

Die Geschäftsprozeßschablone ermöglicht eine semi-formale Spezifikation von Geschäftsprozessen. Sie enthält folgende Informationen: Name, Ziel, Kategorie, Vorbedingung, Nachbedingung Erfolg, Nachbedingung Fehlschlag, Akteure, auslösendes Ereignis, Beschreibung des Standardfalls sowie Erweiterungen und Alternativen zum Standardfall.

Gestaltungsregelwerk (style guide)

Ein Gestaltungsregelwerk schreibt vor, wie die Benutzungsoberfläche von Anwendungen gestaltet wird. Es soll sicherstellen, daß das look and feel über verschiedene Anwendungen hinweg gleich bleibt. Style guides können sowohl Regelwerke des GUI-Herstellers oder auch unternehmenseigene Gestaltungsregelwerke sein.

GUI

Ein GUI (graphical user interface) ist eine grafische Benutzungsoberfläche. Sie besteht aus einer Dialogkomponente (Bedienungsabläufe) und einer E/A-Komponente (Gestaltung der Informationen).

GUI-Schicht (presentation tier)

Die GUI-Schicht ist in einer Drei-Schichten-Architektur sowohl für die Dialogführung und die Präsentation der fachlichen Daten (z.B. in Fenstern) als auch für die Kommunikation mit der Fachkonzeptschicht und ggf. mit der Datenhaltungsschicht zuständig.

GUI-System (GUI system)

Das GUI-System ist ein Softwaresystem, das die graphische Oberfläche verwaltet und die Kommunikation mit den Anwendungen abwickelt. Ein GUI-System wird vereinfachend auch Fenstersystem genannt.

I
Identität

-> Objektidentität

IDL (Interface Definition Language)

Die Schnittstellensprache IDL ist eine Sprache zur Spezifikation der Schnittstellen aller Objekte, die von den Klienten verwendet werden. IDL ist eine rein beschreibende Sprache. Die Implementierung erfolgt in einer Programmiersprache, z.B. C++.

Instanz

Der Begriff Instanz zur Bezeichnung eines Exemplars einer Klasse wurde aus dem Englischen übernommen (instance) und eingedeutscht.

->Objekt

Interaktionsdiagramm (interaction diagram)

In der UML ist Interaktionsdiagramm der Oberbegriff von Sequenzund Kollaborationsdiagramm. Bei anderen Methoden wird der Begriff Interaktionsdiagramm für das Sequenzdiagramm verwendet.

Interaktionselement (control)

Ein Interaktionselement dient zur Ein- und/oder zur Ausgabe von Informationen. Das sind beispielsweise Textfelder, Schaltflächen und Listenfelder.

J
JDBC (Java Database Connectivity)

Mit JDBC hat Sun Microsystems einen Standard definiert, um aus Java-Programmen heraus auf relationale Datenbanksystem zugreifen zu können. JDBC ist durch die Verwendung von Java als Programmiersprache vollständig objektorientiert und plattformunabhängig.

K
Kardinalität (multiplicity)

Die Kardinalität bezeichnet die Wertigkeit einer Assoziation, d.h. sie spezifiziert die Anzahl der an der Assoziation beteiligten Objekte.

Klasse (class)

Eine Klasse definiert für eine Kollektion von Objekten deren Struktur (Attribute), das Verhalten (Operationen) und Beziehungen (Assoziationen, Vererbungsstrukturen). Klassen besitzen – mit Ausnahme von abstrakten Klassen – einen Mechanismus, um neue Objekte zu erzeugen. Der Klassenname muß mindestens im Paket, besser im gesamten System eindeutig sein.

Klassenattribut (class scope attribute)

Ein Klassenattribut liegt vor, wenn nur ein Attributwert für alle Objekte der Klasse existiert. Klassenattribute sind von der Existenz der Objekte unabhängig.

Klassenbibliothek

Eine Klassenbibliothek ist eine organisierte Sammlung von Klassen, aus denen der Entwickler nach Bedarf Einheiten verwendet, d.h. Objekte dieser Klassen definiert und Operationen darauf anwendet oder Unterklassen bildet. Klassenbibliotheken können unterschiedliche Topologien besitzen.

Klassendiagramm (class diagram)

Das Klassendiagramm stellt die Klassen, die Vererbung und die Assoziationen zwischen Klassen dar. Zusätzlich können Pakete modelliert werden.

Klassenextension (extent)

Unter der Klassenextension ist die Menge aller Objekte einer Klasse zu verstehen. Die Klassenextension wird im Entwurf durch Container-Klassen realisiert, während in der Analyse jede Klasse die Eigenschaft der Objektverwaltung besitzt. Bei objektorientierten Datenbanksystemen kann der Programmierer entscheiden, ob eine Klassenextension erzeugt werden soll. Falls der extent angelegt wird, dann wird ein neu erzeugtes Objekt automatisch eingefügt, beim

Löschen wieder entfernt. Das Konzept der Klassenextension ermöglicht die Durchführung von Operationen (z.B. Selektionen) auf der Menge aller Objekte einer Klasse.

Klassenoperation (class scope operation)

Eine Klassenoperation ist eine Operation, die für eine Klasse statt für ein Objekt der Klasse ausgeführt wird.

Klassenvariable

->Klassenattribut

Klient (client)

1 Der Klient ist eine Softwareeinheit, die eine Operation eines Objekts auf einem entfernten Server benutzen möchte.

2 Der Klient ist eine Softwareeinheit, die eine Operation eines Objekts benutzen möchte.

Kollaborationsdiagramm (collaboration diagram)

Ein Kollaborationsdiagramm beschreibt die Objekte und die Verbindungen zwischen diesen Objekten. An jede Verbindung (link) kann eine Botschaft in Form eines Pfeiles angetragen werden. Die Reihenfolge und Verschachtelung der Operationen wird durch eine hierarchische Numerierung angegeben.

Komplexes Objekt (composite object, complex object)

Besitzt ein Objekt Attribute, die selbst wieder Objekte sind, so wird es als komplexes Objekt bezeichnet. Ein (Unter-) Objekt kann ebenfalls komplex sein.

Komposition (composition)

Die Komposition ist eine besondere Form der Aggregation. Beim Löschen des Ganzen müssen auch alle Teile gelöscht werden. Jedes Teil kann – zu einem Zeitpunkt – nur zu einem Ganzen gehören. Es kann jedoch einem anderen Ganzen zugeordnet werden. Die dynamische Semantik des Ganzen gilt auch für seine Teile.

Kompositum-Muster (composite pattern)

Das Kompositum-Muster ist ein objektbasiertes Strukturmuster. Es setzt Objekte zu Baumstrukturen zusammen, um whole-part-Hierarchien zu darzustellen. Dieses Muster ermöglicht es, sowohl einzelne Objekte als auch einen Baum von Objekten einheitlich zu behandeln.

Konstruktor (constructor)

Ein Konstruktor ist eine Operation, die ein neues Objekt einer Klasse erzeugt und es initialisiert.

Konzept (concept)

Der Begriff des Konzepts wird in der Informatik im Sinne von Leitidee verwendet, z.B. Konzepte der Programmierung, Konzepte der Objektorientierung. Ein Konzept beschreibt einen definierten Sachverhalt (z.B. eine Klasse) unter einem oder mehreren Gesichtspunkten.

L
Listenfenster

Das Listenfenster zeigt alle Objekte der Klasse an. Im allgemeinen enthält es von einem Objekt nur dessen wichtigste Attribute.

Literal (literal)

Literale sind Daten, die im Gegensatz zu Objekten in einer objektorientierten Datenbank keine Objektidentität besitzen. Sie können daher nur als Teil eines Objekts in einer Datenbank gespeichert

werden.

M
Makroprozeß

Der Makroprozeß beschreibt auf einem hohen Abstraktionsniveau die einzelnen Schritte, die zur sytematischen Erstellung eines OOAModells durchzuführen sind. Der Makroprozeß kann die Gleichgewichtigkeit von statischem und dynamischem Modell (balancierter Makroprozeß) unterstützen oder daten-basiert bzw. szenario-basiert sein.

Mehrfachvererbung (multiple inheritance)

Bei der Mehrfachvererbung kann jede Klasse mehrere direkte Oberklassen besitzen. Sie bildet einen azyklischen Graphen, der mehr als eine Wurzel haben kann (Netzstruktur). Bei der Mehrfachvererbung können Namenskonflikte auftreten.

Mehr-Schichten-Architektur (multi-tier architecture)

Eine Mehr-Schichten-Architektur entsteht, wenn die Drei-Schichten-Architektur um weitere Schichten erweitert wird bzw. die vorhandenen Schichten feiner zerlegt werden.

Menü

Ein Menü besteht aus einer überschaubaren und meist vordefinierten Menge von Menüoptionen, aus der ein Benutzer eine oder mehrere auswählen kann. Bei einem Aktionsmenü lösen die Menüoptionen Anwendungsfunktion aus, bei einem Eigenschaftsmenü lassen sich Parameter einstellen. Es lassen sich pop-up-Menüs und Menübalken mit drop-down-Menüs unterscheiden.

Metaklasse (meta class)

Eine Metaklasse ist eine Klasse, deren Exemplare selbst wieder Klassen sind.

Methode (method)

1 Der Begriff »Methode« beschreibt die planmäßig angewandte, begründete Vorgehensweise zur Erreichung von festgelegten Zielen.

2 In der Softwaretechnik wird der Begriff »Methode« als Oberbegriff von Konzepten, Notation und methodischer Vorgehensweise verwendet.

3 Alternative Bezeichnung für die Operation einer Klasse (z.B. in Java).

4 Implementierung einer Operation.

Methodische Vorgehensweise (method)

Eine methodische Vorgehensweise ist eine planmäßig angewandte, begründete Vorgehensweise zur Erreichung von festgelegten Zielen. Sie wird häufig als Methode bezeichnet.

Methodologie (methodology)

Methodologie (Methodenlehre) bedeutet die Lehre von den in den Einzelwissenschaften angewendeten Methoden. Oft wird dieser Begriff synonym für »Methode« benutzt.

Muster (pattern)

Ein Muster ist – ganz allgemein – eine Idee, die sich in einen praktischen Kontext als nützlich erwiesen hat und es wahrscheinlich auch in anderen sein wird. Muster beschreiben Strukturen von Klassen bzw. Objekten, die sich in Softwaresystemen wiederholt finden und dienen zur Lösung bekannter Probleme. Entsprechend ihrer Anwendung in der jeweiligen Phase unterscheidet man Analyse- und Entwurfsmuster.

MVC (Model/View/Controller)

MVC besteht besteht aus den drei Klassen Model, View und Controller. Das Model-Objekt repräsentiert das Fachkonzeptobjekt. Oft gibt es mehrere Möglichkeiten, die fachlichen Daten zu präsentieren. Für jede Präsentation gibt es ein View-Objekt. Das Controller-Objekt bestimmt, wie die Benutzungsoberfläche auf Eingaben reagiert. Jedes View-Objekt besitzt ein zugehöriges Controller-Objekt, das diese Darstellung mit der Eingabe verbindet. Das impliziert, daß es zu jedem Model-Objekt eine beliebige Anzahl von Paaren (View, Controller) geben kann, jedoch mindestens eines.

N
Nachbedingung (postcondition)

Die Nachbedingung beschreibt die Änderung, die durch eine Verarbeitung bewirkt wird, unter der Voraussetzung, daß vor ihrer Ausführung die Vorbedingung erfüllt war.

Nachricht (message)

->Botschaft

Navigation (navigability)

Die Navigation legt im Entwurf fest, ob eine Assoziation uni- oder bidirektional implementiert wird.

Notation (notation)

Darstellung von Konzepten durch eine festgelegte Menge von grafischen und/oder textuellen Symbolen, zu denen eine Syntax und Semantik definiert ist.

O
Oberklasse

In einer Vererbungsstruktur heißt jede Klasse, von der eine Klasse Eigenschaften und Verhalten erbt, Oberklasse dieser Klasse. Mit anderen Worten: Eine Oberklasse ist eine Klasse, die mindestens eine Unterklasse besitzt.

Objekt (object)

1 Ein Objekt besitzt einen Zustand (Attributwerte und Verbindungen zu anderen Objekten), reagiert mit einem definierten Verhalten (Operationen) auf seine Umgebung und besitzt eine Objektidentität, die es von allen anderen Objekten unterscheidet. Jedes Objekt ist Exemplar einer Klasse.

2 Objekte besitzen eine Objektidentität und können – im Gegensatz zu Literalen – separat in einer objektorientierten Datenbank gespeichert werden.

Objektdefinitionssprache

->ODL

Objektdiagramm (object diagram)

Das Objektdiagramm stellt Objekte und ihre Verbindungen untereinander dar. Objektdiagramme werden im allgemeinen verwendet, um einen Ausschnitt des Systems zu einem bestimmten Zeitpunkt zu modellieren. Objekte können einen – im jeweiligen Objektdiagramm eindeutigen Namen besitzen oder es können anonyme Objekte sein. In verschiedenen Objektdiagrammen kann der gleiche Name unterschiedliche Objekte kennzeichnen.

Objektidentität (object identity)

1 Jedes Objekt besitzt eine Identität, die es von allen anderen Objekten unterscheidet. Selbst wenn zwei Objekte zufällig dieselben Attributwerte besitzen, haben sie eine unterschiedliche Identität.

2 In objektorientierten Datenbanksystemen werden Objektidentitäten automatisch vom System generiert und verwaltet. Sie besitzen keine (verwendbare) Semantik und sind dem Programmierer nicht bekannt. Objektidentitäten können in objektorientierten Datenbanksystemen beispielsweise als Surrogate realisiert werden.

Objekt-Implementierung (object implementation)

Die Objekt-Implementierung definiert bei verteilten Systemen das Verhalten eines Objekts auf dem Server, in dem sie festlegt, welche Verarbeitung beim Aufruf einer Operation auszuführen ist. Außerdem legt sie fest, welche Daten benötigt werden, um den Zustand eines konkreten Objekts zu repräsentieren.

Objektorientierte Analyse (object oriented analysis)

Ermittlung und Beschreibung der Anforderungen an ein Softwaresystem mittels objektorientierter Konzepte und Notationen. Das Ergebnis ist ein OOA-Modell.

Objektorientierte Softwareentwicklung (object oriented software devepment)

Bei einer objektorientierten Softwareentwicklung werden die Ergebnisse der Phasen Analyse, Entwurf und Implementierung objektorientiert erstellt. Für letztere werden objektorientierte Programmiersprachen verwendet. Auch die Verteilung auf einem Netz kann objektorientiert erfolgen.

Objektorientierter Entwurf (object oriented design)

Aufbauend auf dem OOA-Modell erfolgt die Erstellung der Softwarearchitektur und die Spezifikation der Klassen aus Sicht der Realisierung. Das Ergebnis ist das OOD-Modell, das ein Spiegelbild der objektorientierten Programme auf einem höheren Abstraktionsniveau bildet.

Objektorientiertes Datenbanksystem (object database system)

Ein objektorientiertes Datenbanksystem (ODBS) ist ein Datenbanksystem, dem ein objektorientiertes Datenmodell zugrunde liegt. Es integriert die Eigenschaften einer Datenbank mit den Möglichkeiten von objektorientierten Programmiersprachen.

Objektreferenz (object reference)

Bei verteilten Systemen identifiziert der Klient ein Objekt auf dem Server über seine systemweit eindeutige Objektreferenz, die später auf die physische Adresse des Objekts abgebildet wird.

Objekt-relationale Abbildung (object relational mapping)

Die objekt-relationale Abbildung gibt an, wie ein Klassendiagramm auf Tabellen einer relationalen Datenbank abgebildet wird. Sie enthält Abbildungsvorschläge für Klassen, Assoziationen und Vererbungsstrukturen. Ein weiterer Aspekt ist die Realisierung der Objektidentität in relationalen Datenbanken.

Objekt-relationales Datenbanksystem (object-relational database system)

Objekt-relationale Datenbanksysteme verfolgen das Ziel, die besten Ideen aus der relationalen und der objektorientierten Welt zu verbinden. Das grundlegende Konzept bleibt weiterhin die Tabelle. Es wird um objektorientierte Konzepte wie Abstrakte Datentypen, Objektidentität, Operationen und Vererbung erweitert.

Objektverwaltung (class extension, object warehouse)

In der Systemanalyse besitzen Klassen implizit die Eigenschaft der Objektverwaltung. Das bedeutet, daß die Klasse weiß, welche Objekte von ihr erzeugt wurden. Damit erhält die Klasse die Möglichkeit, Anfragen und Manipulationen auf der Menge der Objekte einer Klasse durchzuführen.

ODBC (Open Database Connectivity)

ODBC ist eine standardisierte Schnittstelle für den Zugriff auf relationale Datenbanksysteme. Sie wurde ursprünglich von Microsoft spezifiziert, hat sich aber inzwischen zu einen betriebssystemübergreifenden, allgemein akzeptierten de facto-Standard entwickelt.

ODL (Object Definition Language)

Die Objektdefinitionssprache ODL ist eine Sprache, die ausschließlich zur Spezifikation von Klassen und Schnittstellen dient. Diese Spezifikation erfolgt dadurch unabhängig von der Implementierung in einer Programmiersprache. ODL unterstützt alle Konzepte des ODMG-Objektmodells.

ODMG (Object Database Mangement Group)

Die ODMG ist eine Gruppe von Herstellern und Anwendern objektorientierter Datenbanksysteme. 1993 wurde von dieser Gruppe die erste Version eines Standards für objektorientierte Datenbanksysteme vorgeschlagen: ODMG-93 genannt.

ODMG-Objektmodell (object model)

Das ODMG-Objektmodell spezifiziert die Konzepte, die von einem objektorientierten Datenbanksystem unterstützt werden. Es bildet die Grundlage für den ODMG-Standard.

ODMG-Standard (object database standard ODMG)

Der ODMG-Standard 2.0 besteht aus dem Objektmodell, der ODL (Object Definition Language), dem Austauschformat OIF (Object Interchange Format), der deklarativen Sprache OQL (Object Query Language) und Sprachanbindungen zu C++, Smalltalk und Java. Es gibt zwei Stufen der Einhaltung des Standards: ODMG-konform (ODMG compliant) und ODMG-zertifiziert (ODMG certified).

OID

->Objektidentität

OMA (Object Management Architecture)

Die Grundlage aller Standardisierungsaktivitäten der OMG ist die OMA. Diese Architektur unterteilt die Bestandteile einer verteilten Anwendung in mehrere Komponenten. Den Kern bildet der ORB  (Object Request Broker), der als Kommunikationszentrale im Mittelpunkt der Architektur steht. Weitere Komponenten sind die application interfaces, die domain interfaces, die object services und die common facilities.

OMG (Object Management Group)

Systemanbieter und Anwender objektorientierter Techniken haben sich 1989 zur OMG (Object Management Group) zusammengeschlossen. Die OMG verfolgt das Ziel, Standards und Spezifikationen für verteilte objektorientierte Anwendungen zu schaffen.

OMG-Objektmodell (OMG object model)

Das OMG-Objektmodell liegt allen Spezifikationen der OMG zugrunde. Es beschreibt alle objektorientierten Konzepte, die für Klienten wichtig sind und die Konzepte für die Ausführung der Operationen auf dem Server.

OOA

->Objektorientierte Analyse

OOA-Modell

Fachliche Lösung des zu realisierenden Systems, die in einer objektorientierten Notation modelliert wird. Das OOA-Modell besteht aus dem statischen und dem dynamischen Modell und ist das wichtigste Ergebnis der Analyse.

OOD

->Objektorientierter Entwurf

OOD-Modell

Technische Lösung des zu realisierenden Systems, die in einer objektorientierten Notation modelliert wird. Das OOD-Modell ist ein Abbild des späteren objektorientierten Programms.

Operation (operation)

Eine Operation ist eine Funktion, die auf die internen Daten (Attributwerte) eines Objekts Zugriff hat. Sie kann Botschaften an andere Objekte senden. Auf alle Objekte einer Klasse sind dieselben Operationen anwendbar. Für Operationen gibt es im allgemeinen in der Analyse eine fachliche Beschreibung. Sie wird in einer objektorientierten Programmiersprache durch eine Implementierung (Methode) realisiert. Abstrakte Operationen besitzen nur eine Signatur. Externe Operationen werden vom späteren Bediener des Systems aktiviert. Interne Operation werden dagegen immer von anderen Operationen aufgerufen.

OQL (Object Query Language)

Die Anfragesprache OQL dient zur Formulierung von Selektionen in einer objektorientierten Datenbank. OQL baut auf dem select-fromwhere-Block von SQL2 auf. OQL kann sowohl als eigenständige, interaktive – nicht berechnungsvollständige – Datenbanksprache als auch eingebettet in verschiedene Programmiersprachen benutzt werden. OQL wurde im ODMG-Standard definiert.

ORB (Object Request Broker)

In verteilten System wird die Kommunikation zwischen Klient und Server vom ORB durchgeführt. Er ist vergleichbar mit einer Telefonvermittlung, der das Anrufen anderer Teilnehmer und das Entgegennehmen von Anrufen realisiert.

P
Paket (package)

Ein Paket faßt Modellelemente (z.B. Klassen) zusammen. Ein Paket kann selbst Pakete enthalten. Es wird benötigt, um die Systemstruktur auf einer hohen Abstraktionsebene auszudrücken. Pakete können im Paketdiagramm dargestellt werden.

Parametrisierte Klasse

->generische Klasse

Persistenz

Persistenz ist die Fähigkeit eines Objekts, über die Ausführungszeit eines Programms hinaus zu leben, d.h. die Daten dieses Objekt bleiben auch nach Beendigung des Programms erhalten und stehen bei einem Neustart wieder zur Verfügung.

Polymorphe Operation

Eine polymorphe Operation ist eine Operation, die erst zur Ausführungszeit an ein bestimmtes Objekt gebunden wird. Man spricht vom späten Binden (late binding) bzw. vom dynamischen Binden.

Polymorphismus (polymorphism)

Ein Name kann Objekte verschiedener Klassen bezeichnen. Jedes Objekt, das durch diesen Namen bezeichnet wird, kann auf die gleiche Botschaft auf seine eigene Art und Weise reagieren. Polymorphismus und spätes Binden sind untrennbar verbunden.

Prototyp

Ein Prototyp dient dazu, bestimmte Aspekte vor der Realisierung des Softwaresystems zu überprüfen. Der Prototyp der Benutzungsoberfläche zeigt die vollständige Oberfläche des zukünftigen Systems, ohne daß bereits Funktionalität realisiert ist.

Proxy-Muster (proxy pattern)

Das Proxy-Muster ist ein objektbasiertes Strukturmuster. Es kontrolliert den Zugriff auf ein Objekt mit Hilfe eines vorgelagerten Stellvertreter-Objekts.

Q
Qualifikationsangabe (qualifier)

Die Qualifikationsangabe ist ein spezielles Attribut der Assoziation, dessen Wert ein oder mehrere Objekte auf der anderen Seite der Assoziation selektiert. Mit anderen Worten: Die Qualifikationsangabe zerlegt die Menge der Objekte am anderen Ende der Assoziation in Teilmengen. Der qualifier kann auch aus mehreren Attributen bestehen.

R
Relation

->Tabelle

Relationales Datenbanksystem (relational database system)

Ein relationales Datenbanksystem (RDBS) ist ein Datenbanksystem, dem ein relationales Datenmodell zugrunde liegt. Die Daten werden in Form von Tabellen gespeichert.

Request

Mit einem request fordert der Klient ein Objekt auf dem Server zur Ausführung einer Operation auf.

Rolle (role name)

Die Rolle beschreibt, welche Bedeutung ein Objekt in einer Assoziation wahrnimmt. Eine binäre Assoziation besitzt maximal zwei Rollen.

S
Schablonenmethode-Muster (template method pattern)

Das Schablonenmethode-Muster ist ein objektbasiertes Verhaltensmuster. Es definiert den Rahmen eines Algorithmus in einer Operation und delegiert Teilschritte an Unterklassen.

Schnittstelle (interface)

1 In der UML besteht eine Schnittstelle nur aus Operationen, die keine Implementierung besitzen. Sie ist äquivalent zu einer Klasse, die keine Attribute, Zustände oder Assoziationen und ausschließlich abstrakte Operationen besitzt.

2 Die Menge aller Signaturen, die von den Operationen einer Klasse definiert werden, nennt man die Schnittstelle der Klasse bzw. des Objekts.

3 Die IDL-Schnittstelle spezifiziert die Signaturen von Operationen, die ein Klient aufrufen kann. Sie stellt die wichtigste Komponente einer IDL-Definition dar.

4 Eine Java-Schnittstelle kann aus Konstanten und abstrakten Operationen bestehen.

5 Der ODMG-Standard verwendet außer der Klasse das Konzept der Schnittstelle, die nur das Verhalten spezifiziert. Von einer Schnittstelle können – im Gegensatz zur Klasse – keine Objekte erzeugt werden können.

Sequenzdiagramm (sequence diagram)

Ein Sequenzdiagramm besitzt zwei Dimensionen. Die Vertikale repräsentiert die Zeit und auf der Horizontalen werden die Objekte angetragen. In das Diagramm werden die Botschaften eintragen, die zum Aktivieren der Operationen dienen.

Sichtbarkeit (visibility)

Die Sichtbarkeit legt fest, ob auf Attribute und Operationen außerhalb ihrer Klasse zugegriffen werden kann. Auch für Assoziationen kann die Sichtbarkeit definiert werden. Die UML unterscheidet die folgenden Sichtbarkeiten:

– public = sichtbar für alle Klassen.

– protected = sichtbar innerhalb der Klasse und für alle ihre Unterklassen.

– private = sichtbar nur innerhalb der Klasse.

Signatur (signature)

1 Die Signatur einer Operation besteht aus dem Namen der Operation, den Namen und Typen aller Parameter, und dem Ergebnistyp der Operation.

2 Die Signatur einer Operation definiert den Namen der Operation, die Namen und Typen aller Parameter, den Ergebnistyp und die Bezeichnungen aller Ausnahmebehandlungen (exceptions) im Fehlerfall.

Singleton-Muster (singleton pattern)

Das Singleton-Muster ist ein objektbasiertes Erzeugungsmuster. Es stellt sicher, daß eine Klasse genau ein Objekt besitzt und ermöglicht einen globalen Zugriff auf dieses Objekt.

Software-Ergonomie

Die Software-Ergonomie befaßt sich mit der menschengerechten Gestaltung von Softwaresystemen. Sie verfolgt das Ziel, die Software an die Eigenschaften und Bedürfnisse der Benutzer anzupassen.

Spätes Binden (late binding)

Beim späten Binden wird erst zur Ausführungszeit bestimmt, welche polymorphe Operation auf ein Objekt angewendet wird. Man spricht auch von dynamischem Binden. Das Gegenstück zum späten Binden ist das frühe Binden, das zur Übersetzungszeit stattfindet.

SQL (Structured Query Language)

SQL ist eine deklarative Programmiersprache, d.h. sie besitzt im Unterschied zu den klassischen Programmiersprachen keine Schleifen, keine Prozeduren, keine Rekursion und keine ausreichenden mathematischen Operationen. Sie dient der Definition und Manipulation relationaler Datenbanken. 1983 wurde von ANSI und ISO ein SQLStandard definiert. Weiterentwicklungen führten zum derzeitigen Standard SQL2, der 1992 veröffentlicht wurde, und zu SQL3 (noch nicht verabschiedet).

Statisches Modell

Das statische Modell realisiert außer den Basiskonzepten (Objekt, Klasse, Attribut) die statischen Konzepte (Assoziation, Vererbung, Paket). Es beschreibt die Klassen des Systems, die Assoziationen zwischen den Klassen und die Vererbungsstrukturen. Desweiteren enthält es die Daten des Systems (Attribute). Die Pakete dienen dazu, Teilsysteme zu bilden, um bei großen Systemen einen besseren Überblick zu ermöglichen.

Steuerelement (control)

->Interaktionselement

Strenge Drei-Schichten-Architektur

Bei einer strengen Drei-Schichten-Architektur kann die GUI-Schicht nur auf die Fachkonzeptschicht und letztere nur auf die Datenhaltungsschicht zugreifen.

Strukturmuster (structural pattern)

Strukturmuster befassen sich damit, wie Klassen und Objekte zu größeren Strukturen zusammengesetzt werden.

Systemanalyse

->Analyse

Szenario (scenario)

Ein Szenario ist eine Sequenz von Verarbeitungsschritten, die unter bestimmten Bedingungen auszuführen sind. Diese Schritte sollen das Hauptziel des Akteurs realisieren und ein entsprechendes Ergebnis liefern. Ein Geschäftsprozeß wird durch eine Kollektion von Szenarios dokumentiert. Szenarios werden mit Hilfe von Sequenzund Kollaborationsdiagrammen dokumentiert.

Szenario-basierter Makroprozeß

Der szenario-basierte Makroprozeß beginnt dem Erstellen von Geschäftsprozessen und Interaktionsdiagrammen und leitet daraus das Klassendiagramm ab.

T
Tabelle (table)

Relationale Datenbanksysteme speichern Daten in Form von Tabellen (Relationen). Jede Zeile der Tabelle wird als Tupel bezeichnet. Alle Tupel einer Tabelle müssen gleich lang sein. Jedes Tupel muß durch einen eindeutigen Schlüssel identifizierbar sein. Der Schlüssel (auch als Primärschlüssel bezeichnet) kann aus einem oder mehreren Attributen bestehen. Beziehungen zwischen Tabellen werden mittels Fremdschlüsseln realisiert.

Transition (transition)

Eine Transition verbindet einen Ausgangs- und einen Folgezustand.Sie kann nicht unterbrochen werden und wird stets durch ein Ereignis ausgelöst. Ausgangs- und Folgezustand können identisch sein.

Typ (type)

1 Jedes Attribut ist von einem bestimmten Typ. Er kann ein Standardtyp (z.B. Int), ein Aufzählungstyp, eine elementare Klasse oder eine Liste (list of <Typ>) sein.

2 Der Typ wird auch im Sinne von Schnittstellen- oder Klassen-Spezifikation verwendet. Er legt fest, auf welche Botschaften die Objekte einer Klasse reagieren können, d.h. der Typ definiert die Schnittstelle der Objekte. Ein Typ wird implementiert durch ein oder mehrere Klassen.

U
Überschreiben (overriding)

Von Überschreiben bzw. Redefinition spricht man, wenn eine Unterklasse eine geerbte Operation der Oberklasse – unter dem gleichen Namen – neu implementiert. Beim Überschreiben müssen die Anzahl und Typen der Ein-/Ausgabeparameter gleichbleiben. Bei der Implementierung der überschriebenen Operation wird im allgemeinen die entsprechende Operation der Oberklasse aufgerufen.

UML

Unified Modeling Language, die von Booch, Rumbaugh und Jacobson bei der Rational Software Corporation entwickelt und 1997 von der OMG (Object Management Group) als Standard akzeptiert wurde.

Unterklasse (sub class)

Jede Klasse, die in einer Vererbungshierarchie Eigenschaften und Verhalten von anderen Klassen erbt, ist eine Unterklasse dieser Klassen. Mit anderen Worten: Eine Unterklasse besitzt immer Oberklassen.

V
Vererbung (generalization, inheritance)

Die Vererbung beschreibt die Beziehung zwischen einer allgemeineren Klasse und einer spezialisierten Klasse. Die spezialisierte Klasse erweitert die Liste der Attribute, Operationen und Assoziationen der Basisklasse. Operationen der Basisklasse dürfen redefiniert werden. Es entsteht eine Klassenhierarchie oder Vererbungsstruktur. Außer der Einfachvererbung, bei der Klassen eine Baumstruktur bilden, gibt es die Mehrfachvererbung (Netzstruktur).

Verhalten (behavior)

Unter dem Verhalten eines Objekts sind die beobachtbaren Effekte aller Operationen zu verstehen, die auf das Objekt angewendet werden können. Das Verhalten einer Klasse wird bestimmt durch die Operationsaufrufe (Botschaften), auf die diese Klasse bzw. deren Objekte reagieren.

Verhaltensmuster (behavioral pattern)

Verhaltensmuster befassen sich mit der Interaktion zwischen Objekten und Klassen. Sie beschreiben komplexe Kontrollflüsse, die zur Laufzeit schwer nachvollziehbar sind. Sie lenken die Aufmerksamkeit weg vom Kontrollfluß hin zu der Art und Weise, wie die Objekte interagieren.

Verkapselung (encapsulation)

Die Verkapselung sagt aus, daß zusammengehörende Attribute und Operationen in einer Einheit zusammengefügt sind.

Virtuelle Funktion

->polymorphe Operation

Vorbedingung (precondition)

Die Vorbedingung beschreibt, welche Bedingungen vor dem Ausführen einer Verarbeitung erfüllt sein müssen, damit die Verarbeitung definiert ausgeführt werden kann.

W
Werkzeug (tool)

In der Softwareentwicklung versteht man unter einem Werkzeug ein Programm, das als Hilfsmittel zur Entwicklung von Software eingesetzt wird.

Z
Zustand (state)

1 Ein Zustand eines Zustandsautomaten ist eine Zeitspanne, in der ein Objekt auf ein Ereignis wartet. Ein Zustand besteht solange, bis ein Ereignis eintritt, das eine Transition auslöst.

2 Der Zustand eines Objekts wird bestimmt durch seine Attributwerte und seine Verbindungen (links) zu anderen Objekten, die zu einem bestimmten Zeitpunkt existieren.

Zustandsautomat (finite state machine)

Ein Zustandsautomat besteht aus Zuständen und Transitionen. Er hat einen Anfangszustand und kann einen Endzustand besitzen.

Zustandsdiagramm (statechart diagram)

Das Zustandsdiagramm ist eine grafische Repräsentation des Zustandsautomaten.

Zustandsmuster (state pattern)

Das Zustandsmuster ist ein Entwurfsmuster, mit dem Objekt-Lebenszyklen des OOA-Modells systematisch in ein OOD-Klassendiagramm umgesetzt werden können. Es ist insbesondere für die Realisierung komplexer Zustandsautomaten gedacht.

Zwei-Schichten-Architektur (two-tier architecture)

Bei einer Zwei-Schichten-Architektur sind die Benutzungsoberfläche und das Fachkonzept fest in einer Schicht verzahnt. Die zweite Schicht realisiert die Datenhaltung.

 

Glossar aus dem:
Lehrbuch der Objektmodellierung
Analyse und Entwurf ISBN 3-8274-0285-9