Home

Glossar

Nicht jeder kennt sich mit Softwareentwicklung aus und selbst die, die es tun, kennen nicht alle Begriffe. Dieses Glossar soll als Sammlung dienen, in der unbekannte Bezeichnungen geklärt werden.

Hast du irgendwo im Blog einen Begriff gefunden, mit dem du einfach nichts anfangen kannst? Dann schreib einen Kommentar und wir fügen ihn zum Glossar hinzu!

Tipps:

  • Wer die Aussprache der Wörter wissen möchte, wird auf howjsay.com fündig.
  • Um schnell einen bestimmten Begriff zu finden, kann man die Suchfunktion des Browsers: [Strg]+[F] nutzen.

Alpha
Alpha-Versionen sind frühe Versionen eines Programms, die einer Hand voll Testern zur Verfügung gestellt werden. In dieser Alpha-Phase sollen sie Fehler/Bugs im Programm finden oder Vorschläge zur Verbesserung abgeben. Sind die gröbsten Fehler beseitigt, beginnt die Beta-Phase. Wie genau die Alpha-Phase aussieht, bestimmt jedoch jeder Entwickler selbst.

Beta
In der Beta-Phase wird das Programm von einem größeren Personenkreis getestet. Durch diese Generalprobe sollen auch die letzten Bugs gefunden werden. Nach der Beta-Phase steht das Final/Gold Release an. Wie genau die Beta-Phase aussieht, bestimmt jedoch jeder Entwickler selbst.

Bug
Ein Bug (dt.: Wanze) ist ein Fehler im Programm. Bugs können einfach Tippfehler im Programmcode sein, aber auch äußerst komplexe logische Fehler. Allein deren Ursache zu finden kann Stunden bis Tage dauern. Schlimmstenfalls stellt man fest, dass der Fehler im Programmdesign liegt – dann müssen große Teile der Software umgeschrieben werden.

Build
Um ein ausführbares Programm zu erhalten, muss der Code eines Programms mit allen nötigen Dateien erst in Maschinensprache übersetzt werden. Diesen Prozess nennt man build (aus dem englischen, „bauen“). Mit „Build“ meint man oft einen nicht-öffentlichen Build, den der Programmierer gemacht hat um das Programm zu testen. Builds, die öffentlich gemacht werden, nennt man normalerweise Release oder eine Version.

Changelog

(dt.: Änderungsprotokoll) Ein Changelog ist eine Liste der Änderungen zwischen zwei Versionen eines Programms. Darin steht welche Bugs behoben und welche für Features eingebaut wurden sowie sonstige Änderungen, die von Interesse sein könnten.

Engine

Als Engine (dt.: Maschine, Motor) bezeichnet man einen Teil einer Software, der eine der wichtigen zentralen Funktionen ausführt.

Feature
Ein Feature ist eine Funktionionalität eines Programms.

Final Release, Finale Version, Gold Release
Damit ist die endgültige Veröffentlichung eines Programms gemeint. Diese Releases sind für den Verkauf gedacht und haben glatte Versionszahlen wie etwa 2.0. Im Gegensatz zu den kleinen Releases/Updates, beispielsweise 1.9, sind in der Final alle Features fehlerfrei implementiert und das Programm läuft stabil. (im Idealfall)

GUI

GUI steht für „Grafische Benutzeroberfläche“, also die Fenster, die das Programm auf dem Bildschirm anzeigt. Siehe auch Usability.

Multi-Core, Dual-Core, Quad-Core, Mehrkern
Multicore-Prozessoren besitzen mehrere Kerne, die voneinander unabhängig rechnen können, quasi 2 CPUs in einer. Multicore-Systeme profitieren von Multithreading.

Multi-Threading
Sollen zwei Teile eines Programms parallel arbeiten, müssen sie in zwei Threads (dt.: Fäden) aufgeteilt werden. Auf Multi-Core/Mehrkern-CPUs können dann mehrere solcher Threads parallel ausgeführt werden. Gegenüber Prozessoren mit nur einem Kern ist die Berechnung dann doppelt bzw. viermal so schnell (abzüglich einiger Prozent Organisationsaufwand).
Allerdings lässt sich nicht jedes Problem auf mehrere Threads verteilen. Ein Beispiel aus der realen Welt: Ein Dokument soll unterschrieben und dann gefaxt werden. Die beiden Teilaufgaben, Unterschreiben und Faxen, können nicht gleichzeitig ausgeführt werden, man muss mit dem Faxen zwangsläufig warten, bis das Dokument unterschrieben ist.

Raytracing

Raytracing, zu Deutsch „Strahlverfolgung“, ist eine Technik, Bilder zu berechnen. Man verfolgt jeden Lichtstrahl, der auf die Kamera trifft zurück. Beispiel: Kommt der Strahl von einer roten Oberfläche, erscheint an dieser Stelle im Bild ein roter Punkt. Alle Punkte/Pixel zusammen ergeben dann das Bild.

Release
Das Release ist der Veröffentlichungszeitpunkt einer Version des Programms. Die entsprechende Version nennt man ebenfalls Release.

Unstable

Unstable oder instabil nennt man eine Version, die noch nicht wie erwartet funktioniert und gerne mal abstürzt.

Usability

Unter Usability (dt.: Bedienbarkeit) fasst man Aspekte des Programm zusammen, die bestimmen, wie gut oder schlecht sich das Programm bedienen lässt. Eine gute GUI trägt maßgeblich zu einer guten Bedienbarkeit bei. Perfekte Usability ist schwer zu erreichen, da verschiedene Nutzer verschiedene Vorstellungen davon haben. Anfänger möchten eine aufwendige  GUI, die ihnen fast alle Arbeit abnimmt und sie nicht mit abstrakten Konzepten konfrontiert. Erfahrene Anwender hingegen wollen nicht, dass nützliche Funktionen in bunten Fenstern versteckt sind, sie bevorzugen Effizienz statt erklärender Menüs und Fenster.

Version
Eine Version ist ein unter einer Versionsnummer, beispielsweise 1.9.04 veröffentlichter Build des Programms. Besondere Versionen haben spezielle Namen wie Alpha, Beta und Final oder Gold. Allgemeine Regeln, an welchem Punkt die Software um eine Version aufsteigt (z.B.: von 1.8 auf 1.9) oder wann eine Version als Beta getestet werden sollte, gibt es jedoch nicht.

Trackback: