next up previous contents index
Nächste Seite: Literaturverzeichnis Aufwärts: main Vorherige Seite: C.1.2 Klasse ...   Inhalt   Index

D. Glossar

API
(Abkürzung für engl. Application Programming Interface) Eine API ist eine dokumentierte Software-Schnittstelle, mit deren Hilfe ein Programm die Funktionen eines anderen Programms nutzen kann (gleiches gilt für die API eines Betriebssystems).

Backus-Naur-Form (BNF)
Die Backus-Naur-Form ist eine kompakte und formale Metasyntax, die zur Darstellung von kontextfreien Grammatiken eingesetzt wird. Dies betrifft die Syntax gängiger höherer Programmiersprachen. Sie wird auch für die Notation von Befehlssätzen und Kommunikationsprotokollen verwendet. Durch die Backus-Naur-Form ist es möglich, die Syntax einer Programmiersprache formal exakt, d.h. ohne die Ungenauigkeiten natürlicher Sprachen, darzustellen.

BSD-Lizenz
(Abkürzung für engl. Berkeley-Source-Distribution-Lizenz) Die BSD-Lizenz ist wie die GNU General Public License ($\rightarrow$GPL) eine Lizenz für freie Software.D.1 Ursprünglich wurde die Lizenz nur für Software verwendet, die an der Universität von Kalifornien in Berkeley entwickelt wurde, fand aber bald recht weite Verbreitung. Sie ähnelt im Wesentlichen der GPL, ist teilweise jedoch liberaler formuliert. So ist es wie in der GPL erlaubt, Software beliebig zu kopieren und zu verändern, jedoch darf das Programm auch in kommerzieller Software verwendet werden. Berühmtestes Beispiel ist die Verwendung des Netzwerkmoduls von BSD in Microsoft Windows.

Framework (objektorientiertes)
Eine Menge kooperierender Klassen, welche die Elemente eines wiederverwendbaren Entwurfs für eine bestimmte Art von Software darstellen. Ein Framework bietet eine Architekturhilfe beim Aufteilen des Entwurfs in abstrakte Klassen und beim Definieren ihrer Zuständigkeiten und Interaktionen. Ein Entwickler passt das Framework für eine bestimmte Anwendung an, indem er Unterklassen der Framework-Klassen bildet und ihre Objekte zusammensetzt (vgl. Gamma et al., 1996, S. 445).

GPL
(Abkürzung für engl. GNU General Public License) bezeichnet eine Lizenz für „freie`` Software (bzw. genauer für den Programmquellcode), die von Richard Stallman, dem Begründer des GNU-Projekts entworfen wurde.D.2 Freie Software bedeutet in diesem Zusammenhang, dass sie von jedem gebraucht, geändert und angepasst werden kann. Besonders wichtig ist, dass jegliche veränderte Software wieder unter die GPL gestellt werden muss, d.h. frei weitergegeben werden muss. Andere wichtige Lizenzen sind die Lesser General Public License ($\rightarrow$LGPL) und die $\rightarrow$BSD-Lizenz.

HTML
(Abkürzung für engl. Hypertext Markup Language) Standardisierte Seitenbeschreibungssprache für WWW-Seiten im Internet bzw. Intranet, welche von Charles F. Goldfarb entwickelt wurde und in der ISO-Norm 8879 definiert ist (auch $\rightarrow$XML). Sie definiert sowohl die Gestaltung, den Inhalt und die Grafik der Seite als auch die Hyperlinks zu eigenen oder fremden Seiten.

LGPL
(Abkürzung für engl. GNU Lesser General Public License) ist eine etwas entschärfte Variante (engl. lesser, „weniger``) der $\rightarrow$GPL, deren Hauptunterschied darin liegt, dass die Verwendung von Programmen, die unter dieser Lizenz stehen, nicht dazu führen muss, dass die ganze Software unter dieser Lizenz (und damit frei) herausgegeben werden muss.D.3 Besonders gut eignet sich diese Lizenz daher für Bibliotheken, was der alte Name, Library General Public License, ausdrückt. Dieser wurde jedoch geändert, da diese Lizenz nicht nur auf Bibliotheken beschränkt gelten sollte.

NP
Problemklasse für die Menge der mit einem nichtdeterministischen Algorithmus mit polynomialen Aufwand lösbaren Probleme ($\rightarrow$P) (vgl. Claus und Schwill, 2001).

NP-hart
Ein Problem X ist NP-hart, wenn jedes Problem aus NP polynomial auf X reduzierbar ist (vgl. Claus und Schwill, 2001).

NP-vollständig
Ein Problem ist NP-vollständig, wenn es NP-hart ist, und wenn es zu NP gehört (vgl. Claus und Schwill, 2001).

P
Bezeichnung für die Menge aller Probleme, die ein deterministischer Algorithmus mit polynomialem Zeitaufwand löst ($\rightarrow$NP) (vgl. Claus und Schwill, 2001).

Polymorphie
benennt die Eigenschaft objektorientierter Programmiersprachen, dass in einer Klasse die geerbten Methoden redefiniert, d.h. überschrieben oder überladen werden können. Überschreiben bedeutet, dass in der abgeleiteten Klasse eine Methode mit dem gleichen Namen und der gleichen Signatur wie in der Oberklasse definiert wird. Die Signatur ist durch den Rückgabewert und die Parameterliste der Methode definiert. Man spricht von einer Überladung, wenn eine Methode mit gleichem Namen aber unterschiedlicher Parameterliste eingeführt wird.

XML
(Abkürzung für engl. eXtensible Markup Language) XML ist eine Methode zur Repräsentation strukturierter Daten. XML ist (wie auch $\rightarrow$HTML) eine „vereinfachte`` Version der Standard Generalized Markup Language (SGML), die es Programmierern von Web-Seiten erleichtert SGML-Anwendungen zu schreiben, und dabei eigene Dokumententypen (DTD) festzulegen.



Fußnoten

...D.1
http://www.opensource.org/licenses/bsd-license.php
...D.2
http://www.gnu.org/licenses/gpl.html
...D.3
http://www.gnu.org/licenses/lgpl.html

next up previous contents index
Nächste Seite: Literaturverzeichnis Aufwärts: main Vorherige Seite: C.1.2 Klasse ...   Inhalt   Index