Glossar

Fachbegriffe aus der Anwendungs­entwicklung, kurz erklärt.

Lexikon
Erklärung der Einträge
Einträge beginnen mit dem jeweiligen Namen. Dahinter (in der Klammer) eine Übersetzung des Begriffes. Fachwörter, die in Englisch geläufiger sind als auf Deutsch, werden auf Englisch in das Glossar aufgenommen und die Übersetzung auf Deutsch erfolgt in der Klammer (D: XXX). Ist der Begriff auf deutsch unseres Erachtens verbreitet genug, erfolgt eine englische Übersetzung in der Klammer (E: XXX). Unterschiede nur hinsichtlich Groß/Kleinschreibung etc. werden ignoriert. Sind die englische und die deutsche Version gleich, dann wird nur (~) notiert. Wenn ein Wort so verbreitet ist in seiner englischen Form, dass es zwar eine deutsche Übersetzung gäbe, aber diese nicht wirklich geläufig sein muss, dann wird keine Übersetzung angegeben (und somit die Verwendung des englischen Wortes angeregt). Handelt es sich um ein Verb, erfolgt generell Kleinschreibung, bei Nomen Großschreibung (auch im Englischen, wo es die Unterscheidung ja eigentlich nicht gibt). Verweise auf andere Glossar-Einträge sind in *kursiver* Schrift dargestellt.

A

  • Abstrakte Fabrik (E: abstract factory): Klassisches Entwurfsmuster. Link.
  • Aktivitätsdiagramm (~): UML-Diagramm zur Modellierung von Geschäftsprozessen und Workflows. Zeigt Aktivitäten, Entscheidungen und Datenflüsse in einem Prozess.
  • Abstrakte Klasse (E: abstract class): Klasse, die keine Objekte instanziieren kann. Die Klasse dient also in erster Linie als Speicher von Methoden und Attributen, die dann entweder statisch sind oder über Vererbung in instanziierbaren Tochterklassen landen.
  • Abstraktion (E: Abstraction): Ziel beim Programmieren. Zumindest auf dem obersten Level sollte sich Code eher lesen wie eine normale Sprache, zum Beispiel: if(user.isRegistered) placeOrder(). Natürlich müssen irgendwann (z.B. in isRegistered all die technischen Details kommen), aber auf der ersten Ebene ist dieser Code gut lesbar.
  • Abnahme (E: Acceptance): Formeller Prozess zur Überprüfung und Bestätigung, dass ein Software-Produkt oder -Feature die definierten Anforderungen erfüllt. Markiert oft das Ende einer Entwicklungsphase.
  • Audit (~): Systematische Überprüfung und Bewertung von IT-Systemen, Prozessen oder Compliance-Anforderungen. Identifiziert Schwachstellen und Verbesserungspotentiale.
  • Adapter (~): Klassisches Entwurfsmuster. Liegt im Prinzip dann vor, wenn eine Klasse zur Übersetzung zwischen zwei Interfaces gesetzt wird. Mehr Details hier).
  • Aggregation (~): Man unterscheidet in der OOP zwischen Assoziation, Aggregation und Komposition bei den Beziehungen zwischen Objekten.
  • Anforderung (E: Requirement): Spezifikation dessen, was ein System oder eine Software leisten soll. Kann funktionale oder nicht-funktionale Aspekte betreffen. Basis für Design und Testing.
  • AI (D: Künstliche Intelligenz): Abkürzung für Artificial Intelligence. Simulation menschlicher Intelligenz durch Maschinen, insbesondere Computersysteme. Umfasst Lernen, Schlussfolgern und Selbstkorrektur.
  • Algorithmus (E: algorithm): Folge von einfachen Anweisungen, die zusammen ein komplexeres Problem lösen.
  • Alpha Test (~): Testing in einem frühen Stadium der Softwareentwicklung. Bugs sind ständig zu erwarten.
  • AND (D: UND): Boolesche / Logische Operation. Eine AND-Operation ergibt true, wenn beide Operanden true sind. Folglich: 1 AND 1 = 1. 1 AND 0 = 0, 0 AND 1 = 0, 0 AND 0 = 0.
  • Android (~): Betriebssystem von Google, insbesondere für Mobilgeräte.
  • Anomalien (Normalisierung) (~): Probleme in nicht-normalisierten Datenbanken: Update-Anomalien (inkonsistente Änderungen), Insert-Anomalien (unmögliche Einfügungen ohne Zusatzdaten), Delete-Anomalien (ungewollter Datenverlust beim Löschen). Werden durch Normalisierung behoben.
  • API (Application Programming Interface): Schnittstelle, die es verschiedenen Softwareanwendungen ermöglicht, miteinander zu kommunizieren. APIs definieren die Methoden und Datenformate, die Entwickler verwenden können, um auf die Funktionalität einer anderen Softwarekomponente zuzugreifen.
  • Artifact (~): Endprodukt eines Build-Prozesses in der Softwareentwicklung. Beispiele: JAR-Dateien, WAR-Dateien, ausführbare Programme oder Bibliotheken.
  • Asynchrone Programmierung (E: Asynchronous programming): Programmierstil, bei dem Aufgaben unabhängig vom Hauptprogrammfluss ausgeführt werden. Dies verhindert, dass langwierige Operationen (wie Datenbankabfragen oder Netzwerkanfragen) die Benutzeroberfläche blockieren. In JavaScript oft mit async/await oder Promises umgesetzt.
  • Assembler (~): Programm, dass in Assembly-Sprachen geschriebenen Code plattformspezifisch in Maschinensprache umwandelt.
  • Assembly (~): Sehr maschinennahe Sprachen, jeweils plattformspezifisch, in denen direkt die Befehle, welche die CPU unterstützt, verwendet werden. Das hat mit den von uns genutzten Sprachen wenig zu tun. Es geht um das direkte Schreiben in Speicherzellen etc, zum Beispiel um einzeln die Pixel anzuknipsen, die dann zusammen einen Buchstaben auf dem Bildschirm ergeben. Alles, was Anwendungsentwickler tun, erreicht irgendwann dieses Level, aber dazwischen liegen etliche Ebenen an Compilern und Co.
  • Assoziation (~): Man unterscheidet in der OOP zwischen Assoziation, Aggregation und Komposition bei den Beziehungen zwischen Objekten.
  • Attribute (~): Eigenschaften / Variablen eines Objekts, definiert in einer Klasse.
  • Auftragsverarbeitung (~): DSGVO-Begriff für die Verarbeitung personenbezogener Daten durch einen Dienstleister im Auftrag des Verantwortlichen. Erfordert einen Auftragsverarbeitungsvertrag (AV-Vertrag).
  • Authentifizierung (E: Authentication): Prozess der Überprüfung der Identität eines Benutzers oder Systems. Oft durch Benutzername und Passwort, aber auch durch biometrische Daten oder Token.
  • Architekturpattern (~): Bewährte Lösungsschablonen für wiederkehrende Architekturprobleme. Beispiele: MVC, Layered Architecture, Microservices, Event-Driven Architecture.
  • Ansible (~): Open-Source-Tool für Konfigurationsmanagement und Automatisierung. Ermöglicht Infrastructure as Code ohne Agenten auf Zielsystemen.
  • Aufwandsschätzung (~): Prozess der Vorhersage von Zeit, Kosten und Ressourcen für Projektaufgaben. Basis für Planung und Budgetierung in der Softwareentwicklung.
  • Availability Zone (~): Geografisch getrennte Rechenzentren innerhalb einer Cloud-Region. Bieten Redundanz und Ausfallsicherheit für Cloud-Anwendungen.
  • Autorisierung (E: Authorization): Prozess der Bestimmung, welche Rechte und Zugriffe ein authentifizierter Benutzer hat. Findet nach der Authentifizierung statt.
  • AV-Vertrag (~): Auftragsverarbeitungsvertrag nach DSGVO. Regelt die Verarbeitung personenbezogener Daten durch externe Dienstleister und deren Pflichten.
  • Ausdruck (E: Expression): Kombination von Variablen, Operatoren und Funktionsaufrufen, die zu einem Wert ausgewertet wird. Beispiel: x + y * 2.