Softwaretechnik-Glossar



A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  Literatur


1GL
(first-generation language) Maschinensprache.


2GL
(second-generation language) Assemblersprache.


3GL
(third-generation language) Höhere prozedurale Programmiersprache.


4GL
(fourth-generation language) Nicht-prozedurale Programmiersprache.


abstrakter Datentyp
(ADT) Zusammenfassung von Daten und Operationen auf diesen Daten. Oft als Synonym für den Begriff Klasse verwendet.


abstrakte Klasse
Von einer abstrakten Klasse können keine Exemplare gebildet werden, sondern nur von ihren konkreten Unterklassen. Einsatz z.B. für die Definition von Schnittstellen unter Wahrung des information hiding. Gegenteil: konkrete Klasse.


Aggregation
In der OOP eine nichtsymmetrische Beziehung zwischen Klassen: Beziehung zwischen einem Ganzen und seinen Teilen, eine hasA-Beziehung. Spezialfall der Assoziation.


Algebra
(arab. für "Einrenkung gebrochener Teile") Teilgebiet der Mathematik, das sich mit Gleichungen oder Systemen von Gleichungen und ihrer Auflösung beschäftigt.


Algorithmus
Eine in einer festgelegten Sprache abgefasste endliche Beschreibung eines allgemeinen Verfahrens unter Verwendung ausführbarer elementarer Verarbeitungsschritte. Computerprogramme sind mögliche Beschreibungen eines Algorithmus. Benannt nach dem persischen Mathematiker Al Khowarizmi.


aliasing
Liegt vor, wenn ein Objekt oder eine Variable über mehr als einen Namen zugänglich ist.


Analysis
(griech. für "Auflösung") Teilgebiet der Mathematik, in dem mit Grenzwerten gearbeitet wird. Umfasst im Wesentlichen die Differential- und Integralrechnung.


Antivalenz
Das logische Exklusiv-ODER (XOR).


Arithmetik
(griech. für "Zahlenlehre") Teilgebiet der Mathematik, das sich mit Zahlen befasst, ohne Grenzwertbetrachtungen. Umfasst Folgen und Reihen und Kombinatorik.


Assoziation
In der OOP eine Verbindung zwischen Objekten von zwei oder mehr Klassen. Analog zur Relation im ERM. Spezialfälle sind Aggregation und Komposition.


Aussagenlogik
(propositional calculus, Junktorenlogik) Eine einfache Logik, bestehend aus Aussagen und booleschen Operatoren (Junktoren). Siehe auch Prädikatenlogik.


Big-Endian
Stringorientierte Rechnerarchitektur. Das MSB (most significant bit) hat die niedrigste Adresse. Vorkommen: in Motorola-Prozessoren und IBM-Mainframes. Gegenteil: Little-Endian.


bijektiv
math.: Eine Abbildung ist bijektiv, wenn sie sowohl injektiv als auch surjektiv ist.


Bindung
Verbindung von Variablen mit konkreten Werten oder Objekten im Speicher, siehe statische Bindung bzw. dynamische Bindung. Auch: Bindung einer Nachricht an die Methode des Objektes, an die sie gerichtet ist.


bottom-up
Software-Implementierungstechnik, die von niedrigen Abstraktionsebenen zu höheren übergeht, d.h. intuitives Zusammenbauen, Experimentieren ("Hacker-Art"), im Gegensatz zu top-down


Breitentraversierung
(auch: Leveltraversierung, breadth-first search). Ein Besuchen aller Knoten eines Graphen, wobei rekursiv jeweils in allen Richtungen die nächstliegenden Nachbarn zuerst besucht werden. Kann mit einer Schlange (FIFO) realisiert werden. Siehe auch Tiefentraversierung.


brute force
Eine "gewaltsame" algorithmische Lösung eines Problems, die meist einfach zu implementieren, aber ineffizient im Ressourcengebrauch ist. Beispiel: Knacken eines kryptographischen Codes durch Ausprobieren aller Möglichkeiten.


call by reference
Siehe Referenzsemantik.


call by value
Siehe Wertsemantik.


coercion
Automatische (erzwungene) Typumwandlung in C++, z.B. von integer nach float in einem math. Ausdruck, der beide Datentypen enthält.


constraint
Randbedingung, Beschränkung.


Datenkapselung
Durch Datenkapselung wird in der OOP das Prinzip des information hiding verwirklicht. Bei Objekten ist die Repräsentation der Daten und die Implementierung der Funktionen nach außen nicht sichtbar.


deep copy
Ein Objekt, dessen Variablen mit Kopien der entsprechenden Variablen eines anderen Objektes belegt werden (im Gegensatz zur shallow copy).


Deklaration
(einer Variablen). Festlegung des Namens und Datentyps einer Variablen.


Delegation
In der OOP eine Implementierungstechnik, bei der Objekte bestimmte der an sie gerichteten Nachrichten weiterleiten, z.B. an ein Objekt einer Parallelklasse.


DeMorgansche Regel
In der Boolschen Algebra gilt: und(A, B) = nicht(oder(nicht(A), nicht(B))). Außerdem: oder(A, B) = nicht(und(nicht(A), nicht(B))).


Destruktor
Eine optionale objektspezifische Operation (z.B. in C++), die beim Löschen des Objekts ausgeführt wird, so dass dieses sich sauber verabschieden kann.


dezidiert
(dedicated) Eine einzige Funktion oder Aufgabe ausübend.


disjunkt
math.: Zwei Mengen heißen disjunkt, wenn ihre Schnittmenge leer ist.


Disjunktion
Das logische ODER.


diskret
math.: abzählbar (im Ggs. zu stetig).


Diskriminator
Ein Attribut, das angibt, welche Eigenschaft einer Klasse verallgemeinert bzw. spezialisiert wird [Kah98].


divide and conquer
(teile und herrsche) Eine Klasse von Algorithmen. Prinzip: IF die Objektmenge ist klein genug, THEN löse das Problem direkt ELSE divide: zerlege die Menge in 2 Teilmengen, conquer: löse das Problem rekursiv für jede dieser Teilmengen, merge: berechne aus den für die Teilmengen erhaltenen Lösungen eine Lösung des Gesamtproblems [Bal96].


dynamische Bindung
(späte Bindung) Erst zur Laufzeit wird über die Zuordnung von Variablen zu konkreten Werten oder Objekten entschieden, im Unterschied zur statischen Bindung.


dynamische Typisierung
Eine Eigenschaft von Programmiersprachen. Typprüfung findet zur Laufzeit statt. Der Typ einer Variablen kann sich zur Laufzeit durch Zuweisung eines neuen Wertes ändern [Rec99], im Unterschied zur statischen Typisierung.


Endliche Maschine
Ein Endlicher Automat mit Ausgabe.


Endlicher Automat
(auch: EA, finite state automaton, FSA, Zustandsautomat). Ein dynamisches Sytem, bestehend aus endlichem Eingabealphabet E, endlicher Zustandsmenge S (darunter festgelegte Anfangs- und Endzustände) und einer Überführungsfunktion u: E x S geht über in S. Darstellung meist als Graph oder Zustandstabelle. Mealy-Automat, Moore-Automat, NEA, DEA.


Entität, entity
Wesenheit, das Dasein eines Dinges. Ein real oder begrifflich existierender Gegenstand mit fester, bekannter Menge von Attributen (Eigenschaften).


Entwurfsmuster
(design pattern). Eine bewährte Lösung für ein immer wiederkehrendes Entwurfsproblem. "Jedes Muster ... erläutert den Kern der Lösung für dieses Problem, so dass man diese Lösung beliebig oft anwenden kann" [Gam94].


ERM
Entity-Relationship-Modell. Modell der statischen Struktur eines Problembereiches, insbesondere beim relationalen Datenbankdesign.


evaluieren
auswerten (einen Ausdruck, eine Befehlssequenz).


extreme programming
(XP) Ein humanistisches Konzept zur schnellen Anwendungsentwicklung, formuliert von Kent Beck. Einige der Maximen sind: simple design, communication, refactoring, extreme testing, continuous integration.


faktorisieren
Entfernen ("Herausfaktorisieren") einer Funktion aus einem Modul (z.B. einer Klasse) und Bildung eines neuen, eigenständigen Moduls, um die Kopplung zwischen den Moduln zu verringern und den Zusammenhalts innerhalb der Moduln zu erhöhen [Kah98].


FIFO
First in, first out. Queue, (Warte-)Schlange.


framework
Eine Klassenbibliothek aus kooperierenden Klassen, die abstrakte oder leere Operationen anbieten. Der Entwickler passt das Framework an oder erweitert es durch neue Unterklassen, die die geerbten Operationen redefinieren [Bal96].


Fremdschlüssel
(foreign key). Verweist von einer Relation auf eine andere Relation. Die andere Relation enthält den Fremdschlüssel als Primärschlüssel. Fremdschlüssel können auch aus mehreren Attributen bestehen.


garbage collection
Müllabfuhr. Das automatische Freigeben derjenigen Speicherplätze, auf die aus dem aktuellen Programmzustand heraus kein Verweis mehr besteht. Programmiersprachen mit garbage collection sind für Echtzeitanwendungen weniger gut geeignet, da der Programmablauf unvorhersehbar unterbrochen werden kann. In manchen Programmiersprachen kann die garbage collection explizit ausgelöst werden.


Generalisierung/Spezialisierung
(GenSpec) isA-Beziehung.


generisch
Universell, für unterschiedliche Anwendungen geeignet. Z.B. Funktionen, die datentypunabhängig sind.


Granularität
Feinheit der Auflösung eines Konzeptes.


Graph
Eine Menge von Ecken (Knoten, vertices) und Kanten (edges).


Greedy-Verfahren /-Algorithmus
(greedy: engl. für gierig, gefräßig) Ein nicht vorausschauendes Verfahren, d.h. Entscheidungen, die während des Verfahrens getroffen werden, werden zu keinem späteren Zeitpunkt revidiert.


hasA-Beziehung
Beziehungstyp zwischen Objekten. "Hat ein" bzw. umgekehrt: "Ist Teil von". Durch Aggregation zwischen Parallelklassen zu realisieren. Im Unterschied zur isA-Beziehung


heap
Eine partiell sortierte Datenstruktur (Prioritäts-Warteschlange).


Heuristik
Versuch und Irrtum als Methode zur Problemlösung (im Gegensatz zu algorithmischem Vorgehen).


Identität
(von Objekten, im Unterschied zu (Wert-)Gleichheit von Objekten). Bewirkt, dass die Objekte eine gleiche Zukunft haben.


Implementierung
Die Umsetzung eines Entwurfs in ein Programm.


information hiding
Ein Prinzip in der Systemkonstruktion: Die Interna einer Systemkomponente bzw. eines Subsystems sind von außen nicht sichtbar, Zugriff erfolgt nur über öffentliche Schnittstellen. Dadurch, dass man Teile des Systems voreinander schützt, wird das System modularer und robuster.


injektiv
math.: Eine Abbildung ist injektiv, wenn immer gilt: aus f(x)=f(y) folgt x=y.


inkrementell
Vorwärts zählend. Inkrementelle Software-Entwicklung ist die stufenweise Entwicklung eines Produktes; anhand des Produktmodells und der gemachten Erfahrungen mit dem bisher entwickelten System erfolgt die Weiterentwicklung [Bal96].


Instanz
Exemplar (konkretes Objekt) einer Klasse. Fehlübersetzung von engl. "instance" (Exemplar, Beispiel), die sich eingebürgert hat.


Initialisierung
Das erste Belegen (einer Variablen) mit einem Wert.


Invariante
Eine Aussage über eine Bedingung oder Beziehung, die immer wahr sein muss [Kah98]. Eine gleichbleibende Eigenschaft vor, während und nach dem Ablauf eines Algorithmus.


isA-Beziehung
"ist ein"-Beziehung, auch "Generalisierung/Spezialisierung" genannt, bei Klassen i.A. durch Vererbung realisiert. Im Unterschied zur hasA-Beziehung.


Iteration
Wiederholung. Ein Nacheinander-Anwenden eines Algorithmus auf alle Elemente einer Datenstruktur, z.B. mit Befehlen wie while oder for.


Iterator
Eine Klasse zusätzlich zur Datenstruktur, die die zur Datenstruktur gehörende Iterationsstrategie, Schleifenvariable, Anfangs- und Endbedingung kapselt. So können mehrere Iteratoren auf einer Datenstruktur gleichzeitig arbeiten.


Kardinalität
Anzahl der Objekte, die an einer Beziehung (Relation, Assoziation) teilhaben können.


Klasse
Eine Zusammenfassung von Objekten mit gleichen Eigenschaften, Verhalten und Beziehungen. Eine Klasse in der OOP erlaubt das Erzeugen von Objekten (Instanzen).


Komplexität
Der zur Berechnung der Lösung eines Problems erforderliche Aufwand an Betriebsmitteln wie Speicherplatz, Rechenzeit etc., meist ausgedrückt in O-Notation.


Komposition
In UML ein Spezialfall der Aggregation, bei der die Teile ohne das Ganze nicht lebensfähig sind.


Konjunktion
Das logische UND.


Konkatenation
(concatenation) Verkettung. Das Aneinanderfügen zweier linearer Datenstrukturen gleichen Typs, z.B. Strings oder Arrays.


Konstruktor
Eine optionale objektspezifische Operation, die beim Erzeugen des Objekts ausgeführt wird und die Attribute des Objekts initialisiert.


Kopiersemantik
Siehe Wertsemantik.


lazy initialization
Ein Entwurfsmuster, bei dem Variablen nicht beim Programmstart oder in Konstruktoren initialisiert werden, sondern erst vor dem ersten Gebrauch. Kann die performance erhöhen und verringert die Möglichkeit von Programmierfehlern.


lazy evaluation
Bedarfsauswertung. Eigenschaft einer Programmiersprache. Funktionsargumente werden als unausgewertete Ausdrücke übergeben und erst ausgewertet, wenn der Wert benötigt wird. Gegenteil: strict evaluation.


LIFO
Last in, first out. Eine auch Stack, Kellerspeicher oder Stapel genannte Datenstruktur.


Liste, verkettete
Eine Folge von Elementen eines Datentyps. Jedes Element ist ergänzt um einen Zeiger auf sein Nachfolger-Element (einfach verkettete Liste) bzw. um Zeiger auf Vorgänger- und Nachfolger-Element (doppelt verkettete Liste).


Literal
Selbstdefinierender Wert (ein Wert, der direkt im Programm steht, wie z.B. eine Ziffer oder ein String).


Little-Endian
Mathematisch orientierte Rechnerarchitektur. Das MSB (most significant bit) hat die höchste Adresse. Strings werden "rückwärts" abgespeichert. Vorkommen: in modernen PCs. Gegenteil: Big-Endian.


Logik
Darstellung von Wissen durch Formeln und Herleitung von neuem Wissen daraus auf der Basis geeigneter Schlussregeln.


LValue
Der linke Wert bei Zuweisungsoperationen (z.B. a:=5, b:=a), d.h. die Adresse der Speicherstelle, in die der rechte Wert (RValue) geschrieben wird.


Mealy-Automat
Ein Endlicher Automat, bei dem die Ausgaben bzw. Aktionen zum Zustandsübergang gehören, im Unterschied zum Moore-Automaten.


Methode
(Elementfunktion, Memberfunktion) In der OOP eine Verhaltensvorschrift für Objekte; Implementierung einer Operation.


modal
Im GUI-Design die Eigenschaft eines Popup-Fensters, auf das der Benutzer reagieren muss, bevor das Programm weiterlaufen kann. Andere Funktionen des Programms sind dem Benutzer auch nicht zugänglich, bevor er reagiert hat.


Moore-Automat
Ein Endlicher Automat, bei dem die Ausgaben bzw. Aktionen zum Zustand gehören, im Unterschied zum Mealy-Automaten.


Numerik
(lat. für "Zahlenlehre") Teilgebiet der Mathematik, das sich mit der zahlenmäßigen Behandlung, d.h. der technischen Lösung, mathematischer Probleme beschäftigt. Dabei spielen Algorithmen und Näherungsverfahren eine Rolle, z.B. um Funktionswerte nur mit Hilfe der vier Grundrechenarten zu berechnen.


Objekt
In der OOP ein Abbild jedes real oder in der Vorstellung existierenden Gegenstandes. Hat definierte Eigenschaften (Attribute) und Verhalten (Operationen) und gehört einer Klasse an.


Occam's Razor
(Nach William of Ockham, 1285-1347) Eine philosophisch-wissenschaftliche Regel, nach der die einfachere von zwei konkurrierenden Theorien vorzuziehen ist. Die Anwendung dieser Regel bedeutet z.B., dass die Repräsentation von Messpunkten durch ein Polynom des geringstmöglichen Grades erfolgen sollte.


OOP
Objektorientierte Programmierung. Programmier-Paradigma, bei dem Objekte und ihre Verhaltensweisen im Mittelpunkt stehen.


orthogonal
Voneinander unabhängig, nicht überlappend. Z.B. sind die logischen Operatoren UND und ODER orthogonal. In der Softwareentwicklung werden Komponenten, die keine Seiteneffekte aufeinander ausüben, auch als orthogonal bezeichnet.


overloading
siehe Überladen.


Parsing
Automatisierte textliche Analyse mit syntaktischem Erkennen.


Partitionierung
Aufteilung (z.B. einer Festplatte oder einer Datenstruktur).


Performanz
(performance) Leistungsfähigkeit von Hard- oder Software.


pointer
Zeiger (Referenz). Repräsentiert eine Adresse im Hauptspeicher.


Pointerarithmetik
Berücksichtigt in C++ den Datentyp der referenzierten Variablen, z.B. bewirkt Inkrementierung einer Pointervariablen deren Erhöhung um die Adressdistanz (nicht um 1).


polnische Notation
Präfixnotation.


Polymorphie
(polymorphism, "Vielgestaltigkeit") Die Möglichkeit, zur Laufzeit Objekte mit gleichen Schnittstellen gegeneinander auszutauschen. Ausführung desselben Codes für unterschiedliche Datentypen.


postcondition
(Nachbedingung) Eine Zusicherung, die nach dem Ende eines Programmteiles gilt. Garantierter Zustand nach dem Ablauf einer Operation oder einer Prozedur. Siehe auch precondition.


Potenzmenge
math.: Von einer Menge mit n Elementen die Menge aller Teilmengen einschließlich der Menge selbst und der leeren Menge. Anzahl der Elemente der Potenzmenge ist 2n.


Prädikat
Aussage über eine Eigenschaft. Spezieller: Eine Prozedur, die den Wert wahr oder falsch liefert, oder ein Ausdruck, dessen Auswertung den Wert wahr oder falsch liefert [Abe98].


Prädikatenlogik erster Stufe
(first-order predicate calculus, Quantorenlogik) Erweiterung der Aussagenlogik, im wesentlichen um Quantoren (Existenz- und Allquantor). Grundlage der Programmiersprache PROLOG.


precondition
(Vorbedingung) Eine Zusicherung, die vor dem Eintritt in einen Programmteil gelten muss. Siehe auch Postcondition.


preemptiv
Zeitweise suspendierbar (Betriebssystemprozesse). Um Timeslicing zu ermöglichen, muss ein Prozess preemptiv sein, d.h. an beliebiger Stelle unterbrechbar. Die Belegung bestimmter Betriebsmittel wie z.B. Drucker ist nicht preemptiv (auf dem Papier würden sich sonst verschiedene Texte vermischen).


primitive Datentypen
Datentypen, die keine Klassen sind, bzw. dessen Werte nicht zerlegbar sind. Beispiele: integer, float, char, boolean.


propagieren
(propagate) Sich ausbreiten, verbreiten, sich fortpflanzen (über eine Datenstruktur).


prozedural
Alle Variablen und Prozeduren sind global (z.B. in Pascal).


reentrant
Wiedereinsprungfähig. Ein Unterprogramm ist reentrant, wenn es von einem anderen Programm unterbrochen werden und später fehlerfrei an der gleichen Stelle weiterarbeiten kann. Dazu muss es globale Variablen unverändert lassen und lokale auf dem Stack verwalten.


Refaktorisierung
(refactoring) Durchführung einer Strukturverbesserung bei einer Softwarekomponente, ohne deren äußere Funktionalität zu verändern. Ziel ist es, die Komponente leichter verständlich und preiswerter änderbar zu machen. Refaktorisierung wird diese Restrukturierung vor allem bei objektorientierter Software genannt.


Referenzsemantik
(call by reference) Art der Parameterübergabe an eine Funktion: Pointer auf Adressen der Parameter. Änderungen sind auch außerhalb der Funktion sichtbar, im Unterschied zur Wertsemantik.


reflexiv
math.: Eine Relation R in einer Menge M ist reflexiv, wenn für alle x aus M gilt: xRx.


Rekursion
Selbstaufruf einer Funktion/Methode.


RValue
Der rechte Wert bei einer Wertzuweisung (z.B. a:=5, b:=a). Siehe auch LValue.


Schnittstelle
(interface) Die Menge von Nachrichten, die ein Objekt oder eine Klasse versteht.


scope
Sichtbarkeitsbereich von Variablen (in C++).


Seiteneffekt
(side effect, "Nebenwirkung") Die Veränderung einer nicht-lokalen Umgebung, d.h. der Variablen in ihr, z.B durch eine Operation, die explizit einen Wert zurückgibt, jedoch bei ihrem Aufruf implizit weitere Werte ändert. Die Benutzung von Seiteneffekten macht Software schlechter wiederverwendbar.


Semantik
allg.: Bedeutung eines Wortes bzw. Satzes.


sentinel
Wächter-Element. In einem zu sortierenden Array z.B. das kleinste Element, wenn es ganz links steht und in einem Sortieralgorithmus als Abbruchbedingung dienen kann.


shallow copy
Ein Objekt, dessen Variablen lediglich mit Referenzen auf die entsprechenden Variablen eines anderen Objektes besetzt werden (im Gegensatz zur deep copy).


Signatur
(einer Funktion) Menge, Reihenfolge und Datentypen von Parametern und der Datentyp des Rückgabewertes.


Spezifikation
(einer Methode) Vorschrift, meist mathematisch.


starke Typisierung
(strict typing) Eine Eigenschaft von Programmiersprachen. Alle Typfehler werden erkannt. Man unterscheidet zwischen statischer und dynamischer Typisierung.


statische Bindung
(frühe Bindung) Bereits zur Compile-Zeit wird über die Zuordnung von Variablen zu konkreten Werten oder Objekten entschieden, im Unterschied zur dynamischen Bindung.


statische Typisierung
Eine Eigenschaft von Programmiersprachen. Typprüfung findet zur Compile-Zeit statt, im Unterschied zur dynamischen Typisierung.


stream
(manchmal als "Ströme" übersetzt) Eine Klasse von Objekten, die eine Schnittstelle bereitstellen, um den sequentiellen Zugriff auf Dateien oder Collections (oder z.B. auch Zufallszahlenquellen) verwalten zu können. Streams verstehen meist Nachrichten wie next (um das nächste Element der Datei bzw. Collection auszugeben) und atEnd (um anzuzeigen, ob das Ende erreicht wurde).


stub
Ein Platzhalter, der beim Integrationstest benötigt wird, um eine noch nicht implementierte Systemkomponente zu simulieren.


surjektiv
math.: Eine Abbildung ist surjektiv, wenn auf jedes Element der Bildmenge ein Element der Urmenge abgebildet wird.


symmetrisch
math.: Eine Relation R in einer Menge M ist symmetrisch, wenn für alle x, y aus M gilt: aus xRy folgt yRx.


Syntax
allg.: Die Lehre vom Satzbau. Die Syntax einer Programmiersprache beschreibt die Struktur eines Programmes.


Terminal
In Grammatiken ein Symbol, das kein Platzhalter ist, im Gegensatz zum Nonterminal.


Testtreiber
Testfunktion, die benötigt wird, um eine einzelne Komponente vor der Integration für sich allein zu testen.


thread
Leichtgewichtiger Prozess.


Tiefentraversierung
(auch: depth-first search). Ein Besuchen aller Knoten eines Graphen, wobei rekursiv jeweils ein Zweig bis zu Ende verfolgt wird, bevor eine neue Richtung eingeschlagen wird. Kann mit einem Stack realisiert werden. Siehe auch Breitentraversierung.


top-down
Software-Entwicklungstechnik, die von höheren Abstraktionsebenen ausgeht und sich später um die Details kümmert, d.h. schrittweise Verfeinerung und zielgerichtetes Vorgehen von der Anwenderseite her, im Gegensatz zu bottom-up.


transitiv
math.: Eine Relation R in einer Menge M ist transitiv, wenn für alle x, y, z aus M gilt: aus xRy und yRz folgt xRz.


Traversierung
In einem Baum oder einer anderen Datenstruktur das "Besuchen" aller Elemente.


Tupel
In der Welt der relationalen Datenbanken ein Element einer Relation, d.h. eine Zeile in einer Tabelle.


type casting
Umwandlung eines Wertes von einem Datentyp in einen anderen Datentyp.


Überladen
(overloading) In der OOP die Redefinition von geerbten Attributen, Methoden oder Operatoren in Unterklassen.


Von-Neumann-Modell
Die allgemein gebräuchliche Rechnerarchitektur. Eigenschaften: Programme und Daten liegen im selben Speicher; sequentielle Befehlsfolgen; charakteristische Anweisung ist die Zuweisung (bewirkt eine Zustandsänderung). Bestandteile: CPU, Speicher und Bus.


Wertsemantik
(call by value, Kopiersemantik) Art der Parameterübergabe an eine Funktion. Änderungen haben außerhalb der Funktion keine Gültigkeit, da die Funktion mit Kopien der Parameter arbeitet, im Unterschied zur Referenzsemantik.


workflow
Die Automatisierung eines Geschäftsprozesses im Ganzen oder teilweise, währenddessen Dokumente, Informationen oder Aufgaben von einem Teilnehmer zu einem anderen übertragen werden, gemäß einer Menge von prozeduralen Regeln.


Wrapper
Eine Klasse, die den Zugriff auf eine nicht-objektorientierte Struktur regelt, um dieser eine objektorientierte Funktionalität zu geben. In Java gibt es z.B. Wrapper für Integer-Zahlen.


Zahlentheorie
Teilgebiet der Mathematik, das sich mit der Struktur der Zahlen, der Darstellung von Zahlen und den Beziehungen von Zahlen beschäftigt. Umfasst z.B. die Berechnung von Primzahlen.


Zusicherung
(assertion) Meist in Form eines booleschen Ausdrucks beschriebene Eigenschaft oder Zustand, der/die für eine Bedingung oder Relation immer gilt. (im Unterschied zur Invariante).


Zustandsautomat
Endlicher Automat.

Literatur:
[Abe98] Abelson, Harold; Gerald J. Sussman: Struktur und Interpretation von Computerprogrammen. Springer 1998.
[Bal96] Balzert, Helmut: Lehrbuch der Software-Technik. Spektrum 1996/1998.
[Gam94] Gamma, Erich; Richard Helm et al.: Design Patterns. Elements of Reusable Object-oriented Software. Addison Wesley 1994.
[Kah98] Kahlbrandt, Bernd: Software-Engineering. Springer 1998.
[Rec99] Rechenberg, Peter; Gustav Pomberger: Informatik-Handbuch. Hanser 1999.


Adresse dieser Seite: http://mic-ro.com/informatik/glossar.html. © 2000- M. Rohde.