Softwareentwicklung-Definitionen
-
D
Default
Default steht für alle Standardeinstellungen und -vorgaben, die eine Software zum Beispiel verwendet, wenn vom Nutzer noch keine Änderungen daran vorgenommen wurden.
-
Deklarative Programmierung
Bei der deklarativen Programmierung geben Entwickler im Gegensatz zur imperativen Programmierung, das Endergebnis an, statt die notwendigen Schritte zu definieren.
-
Deprecated (veraltet)
Deprecated (veraltet) beziehungsweise „nicht mehr unterstützt” bedeutet in der Regel, dass etwas zwar noch verfüg- oder einsetzbar ist, dies aber nicht mehr empfohlen wird.
-
DevOps as a Service
DevOps as a Service ist ein Bereitstellungsmodell für Tools, die die Zusammenarbeit zwischen Softwareentwicklungs- und Betriebsteam eines Unternehmens erleichtern.
-
DevOps-Ingenieur
Ein DevOps-Ingenieur ist in Entwicklung, Deployment und Betrieb von Applikationen und IT-Infrastruktur involviert. Er arbeitet eng mit Entwicklern und Administratoren zusammen.
-
DevSecOps
Der Ansatz DevSecOps kombiniert Anwendungsentwicklung, Sicherheit und Betrieb in Verbindung mit einer automatisierten Integration und Bereitstellung CI/CD.
-
Digital
Digital bezeichnet ein Verfahren, das Daten in zwei Zuständen erzeugt und verarbeitet: positiv und nicht-positiv. Diese werden durch 0 und 1 repräsentiert.
-
Digital Process Automation (DPA)
Digitale Prozessautomatisierung ist eine Automatisierungsmethode, bei der Software zur Aufgaben- und Prozessautomatisierung eingesetzt wird, um Workflows zu optimieren.
-
Digital Twin (Digitaler Zwilling, Digitaler Doppelgänger)
Beim Produktdesign, im Internet der Dinge sowie bei Produktsimulationen und -optimierungen kommen sogenannte digitale Doppelgänger, digitale Zwillinge oder digital Twins zum Einsatz.
-
Digitale Transformation
Digitale Transformation besteht aus seiner Reihe digitaler Strategien, Maßnahmen und Technologie, die ein Unternehmen nutzt, um das Geschäft und dessen Wertschöpfung voranzutreiben.
-
Distributed Component Object Model (DCOM)
Distributed Component Object Model (DCOM) wurde von Microsoft entwickelt, um die Technologie Component Object Model (COM) über ein Netzwerk kommunizieren zu lassen.
-
Distributed-Ledger-Technologie (DLT)
Distributed Ledger Technologie ist eine Aufzeichnungsmethode für Daten. DLT nutzt verteilte Ressourcen, um die Daten verschlüsselt und manipulationssicher aufzubewahren.
-
Document Object Model (DOM)
Das Document Object Model (DOM) ist eine Spezifikation des W3C-Konsortiums. Damit wird eine Schnittstelle für den Zugriff auf Dokumente definiert.
-
Domain-driven Design (domänengesteuertes Design)
Domain-driven Design ist ein Softwareentwicklungskonzept, das sich auf den Geschäftsbereich oder Wissensbereich der Benutzer dieser Software konzentriert.
-
Dynamic Application Security Testing (DAST)
Mit dem Ansatz Dynamic Application Security Testing (DAST) lassen sich Schwachstellen und Sicherheitslücken in Webanwendungen während der Laufzeit aufspüren.
-
Dynamisch / Statisch
Die Begriffe statisch und dynamisch werden in der IT auf unterschiedliche Weise verwendet. Das kann zum Beispiel bei Websites, IP-Adressen oder Programmiersprachen der Fall sein.
-
Dynamisches HTML (DHTML)
Dynamisches HTML bezeichnet bestimmte Webdesign-Methoden, bei denen während der Anzeige einer Webseite diese selbst, ausgelöst durch Benutzeraktionen, verändert wird.
-
E
EBCDIC (Extended Binary Coded Decimal Interchange Code)
Das Akronym EBDIC steht für Extended Binary Coded Decimal Interchange Code. Es handelt sich dabei um einen von IBM entwickelten 8-Bit-Zeichencode für S/390-Großrechner.
-
Eclipse (Eclipse Foundation)
Eclipse ist eine Java-basierte Open-Source-Entwicklungsplattform, mit der Entwickler Code in verschiedenen Programmiersprachen entwickeln und testen können.
-
Eingebettetes System (Embedded System)
Ein eingebettetes System ist eine Kombination aus Hard und -software, die für eine bestimmte Funktion entwickelt wurde und auch innerhalb eines größeren Systems funktioniert.
-
Empfehlungsmaschine (Recommendation Engine)
Eine Empfehlungsmaschine ist eine Software, welche verfügbare Daten analysiert, um Vorschläge für etwas zu machen, was einen Website-Nutzer interessieren könnte.
-
Endanwender (Endbenutzer)
Ein Endanwender ist die Person, die eine Hard- oder Software persönlich einsetzt. Damit wird sie von anderen Personen unterschieden, die etwa an der Entwicklung beteiligt waren.
-
Endlosschleife
Eine Endlosschleife ist ein Programmteil, das keinen funktionalen Ausgang hat, so dass es sich unendlich wiederholt. Typischerweise ist ein Programmierfehler die Ursache.
-
Enterprise Architecture Framework
Ein Enterprise Architecture Framework definiert, wie eine Unternehmensarchitektur zu erstellen und zu verwenden ist. Es bietet hierfür Vorlagen und Praktiken.
-
Enterprise Service Bus (ESB)
Ein Enterprise Service Bus (ESB) ist eine Software-Architektur für die Middleware, die grundlegende Dienste für komplexe Architekturen bereit stellt.
-
Entität
Der Begriff Entität wird häufig verwendet, um Dinge zu beschreiben, für die es keine feste Bezeichnung gibt oder die sich nur schwer mit einem Wort klassifizieren lassen.
-
Ereignisgesteuerte Anwendung
Eine ereignisgesteuerte Anwendung ist ein Computerprogramm, das automatisch auf Ereignisse reagiert, die von Benutzern oder anderen Anwendungen ausgelöst werden.
-
Ereignisgesteuerte Architektur
Eine ereignisgesteuerte Architektur ist ein Framework, welches das Zusammenspiel einzelner IT-Komponenten durch Ereignisse orchestriert sowie steuert.
-
Erkennung benannter Entitäten (Named Entity Recognition, NER)
Die Erkennung benannter Entitäten (Named Entity Recognition, NER) ist eine Methode des Natural Language Processings (NLP), die Informationen aus Text destilliert.
-
Erweiterte Intelligenz (Augmented Intelligence)
Augmented Intelligence ist ein Ansatz beziehungsweise eine Kennzeichnung der künstlichen Intelligenz, der sich auf die unterstützende Rolle der KI konzentriert.
-
Ethereum
Ethereum ist ein quelloffenes, verteiltes System, das das Anlegen, Verwalten und Ausführen von dezentralen Programmen und Smart Contracts in einer eigenen Blockchain ermöglicht.
-
Event Stream Processing (ESP)
Event Stream Processing unterstützt ereignisgesteuerte Informationssysteme und wird etwa bei algorithmisch basierten Finanzhandel, Betrugserkennung, Prozessüberwachung eingesetzt.
-
Event-Driven Application (Ereignisgesteuerte Anwendung)
Ereignisgesteuerte Anwendungen sind so konzipiert, dass sie auf bestimmte Geschehnisse mit einer entsprechenden Reaktion antworten. Das kann ein Mausklick oder ein Ladevorgang sein.
-
Extrapolation und Interpolation
Extrapolation und Interpolation sind Methoden zur Bestimmung hypothetischer Werte für eine unbekannte Variable auf Grundlage der Beobachtung anderer Datenpunkte.
-
Extreme Programming (XP)
Extreme Programming ist ein Ansatz in der Softwareentwicklung, der sich Kundenanforderungen langsam annähert. Das Konzept wurde von Kent Beck entwickelt.
-
F
Fail-Fast
Startups gehen bei der Entwicklung neuer Produkte und Dienste anders vor als traditionelle Firmen. So erkennen sie unrentable Projekte früher und brechen sie dann konsequenter ab.
-
Falsch Positiv (False Positive)
Ein sogenanntes False Positive oder Falsch Positiv ist ein Fehler bei einer Überprüfung, bei der ein vordefinierter Zustand fälschlicherweise als solcher erkannt wurde.
-
Feature Engineering
Beim Feature Engineering werden Rohdaten in Feature umgewandelt, die zur Erstellung eines Vorhersagemodells mit Unterstützung des maschinellen Lernens verwendet werden können.
-
Feature-Driven Development (funktionsorientierte Entwicklung)
Feature-Driven Development ist eine agile Methode, die den Projektfortschritt in kurzen Iterationen umsetzt, wobei der Fokus auf dem Entwurf von Funktionen liegt.
-
Fehlerbehebung (Troubleshooting)
Ein erfolgreiches Troubleshooting besteht aus der Fehlersuche und -behebung eines Problems in komplexen Systemen wie Rechnern oder Software. Es ist ein mehrstufiger Prozess.
-
Fibonacci-Folge
Die Fibonacci-Folge ist eine Reihe ganzer Zahlen, die mit einer Null beginnt, gefolgt von einer Eins, einer weiteren Eins und dann von einer Reihe stetig steigender Zahlen.
-
FIFO (First in – First out)
Das FIFO- sowie das LIFO-Verfahren unterscheiden sich fundamental bei der Bearbeitung von Warteschlagen. Sie legen fest, in welcher Reihenfolge eingehende Daten bearbeitet werden.
-
Fortran
Fortran ist eine Programmiersprache, die zur Erstellung leistungsstarker und präziser Anwendungen, insbesondere in wissenschaftlichen Bereichen, verwendet wird.
-
Function as a Service (FaaS)
Function as a Service (FaaS) wird häufig für die Bereitstellung von Microservices verwendet und lässt sich auch als Serverless Computing bezeichnen.
-
Funktionale Anforderungen
Funktionale Anforderungen sind die gewünschte Endfunktion eines Systems oder einer Software und alle Schritte, die notwendig sind, um diesen Zustand zu erreichen.
-
Funktionstest
Ein Funktionstest überprüft, ob eine Software oder ein System alle definierten Funktionen korrekt, vollständig und gemäß den fachlichen Anforderungen ausführt.
-
Fuzz-Testing (Fuzzing)
Fuzz-Testing ist ein Verfahren, bei der Software, Betriebssysteme und Netzwerke mit zufälligen Daten auf Programmierfehler und Sicherheitslücken geprüft werden.
-
Fuzzy Logic
Fuzzy Logic kommt in zahlreichen, alltäglichen Anwendungsbereichen zum Einsatz, etwa auch in KI-Systemen – zum Beispiel bei der Verarbeitung natürlicher Sprache.
-
G
G-Code
G-Code ist die am weitesten verbreitete Programmiersprache für CNC-Maschinen. G-Code-Befehle geben der Maschine Anweisungen, was und wie es zu tun ist.
-
Garbage In, Garbage Out (GIGO)
Garbage In, Garbage Out ist ein Prinzip in der Informatik, das sinngemäß besagt, dass die Qualität der Ausgabe durch die Qualität der Eingabe bestimmt wird.
-
Gemeinsame Anwendungsentwicklung
Gemeinsame Anwendungsentwicklung ist eine Methode, bei der Geschäftsanwender und Kunden in die Gestaltung und Entwicklung einer Anwendung einbezogen werden.
-
Generative Adversarial Network (GAN)
Ein Generative Adversarial Network (GAN) ist ein Machine-Learning-Modell, bei dem zwei neuronale Netzwerke konkurrieren, um Vorhersagen genauer zu machen.
-
Geschäftsprozessmodellierung
Geschäftsprozessmodellierung wird vor allem im Rahmen des Geschäftsprozessmanagements, der Softwareentwicklung und der Systementwicklung eingesetzt.
-
GitHub
Die Webplattform GitHub erlaubt die Zusammenarbeit an Quellcode und dessen Versionskontrolle. Das macht die Plattform besonders beliebt bei Softwareentwicklern.
-
GitLab
GitLab ist eine Webanwendung zur Softwareversionsverwaltung auf Git-Basis. Sie unterstützt unter anderem Code-Speicherung sowie Continuous Integration und Continuus Delivery.
-
Glue-Code
Glue-Code ist speziell entwickelter Programmcode, der zum Beispiel inkompatible Softwarekomponenten, Cloud-Services und Systeme miteinander verbindet.
-
GNU General Public License (GNU GPL)
Die GNU General Public License, abgekürzt GNU GPL, listet die Bedingungen für das Kopieren, Ändern und Weiterverbreiten von Open-Source-Software auf.
-
GNU-Projekt
Das GNU-Projekt ist eine 1983 ins Leben gerufene Initiative, deren Ziel die Schaffung freier Software ist. Das Projekt geht auf Richard Stallmann zurück.
-
Google App Engine
Google App Engine (GAE) ist ein PaaS-Produkt, um Anwendungen in der Google Cloud Platform zu erstellen, ohne selbst für die Verwaltung oder Bereitstellung verantwortlich zu sein.
-
Google Chrome (Browser)
Der kostenlose Webbrowser Google Chrome erlaubt den Zugriff auf das Internet und auf webbasierte Anwendungen. Unterstützt werden Windows, macOS, Linux, Android und iOS.
-
Google Cloud Composer
Cloud Composer ist ein vollständig gemanagter Workflow-Orchestrierungsdienst für Softwareentwickler von Google. Der Service baut auf Apache Airflow auf.
-
Googlebot
Googlebot ist ein Webcrawling-Suchroboter, der Webseiteninformationen sammelt, die zur Erstellung der Google-Suchmaschinenergebnisseiten verwendet werden.
-
Grafische Benutzeroberfläche (Graphic User Interface, GUI)
Eine grafische Benutzeroberfläche ist die grafische Schnittstelle zwischen Benutzer und Computer, statt einer text- und tastaturorientiert Schnittstelle.
-
GraphQL
GraphQL ist eine Open-Source-Datenabfragesprache. Sie wurde 2012 von Facebook entwickelt, um die Endpunkte von REST zu vereinfachen. 2015 wurde GraphQL veröffentlicht.
-
Gray-Box-Test
Ein Gray-Box-Test ist eine Kombination aus White-Box-Test und Black-Box-Test. Das Ziel dieses Tests ist es, nach Fehlern innerhalb von Anwendungen und Code zu suchen.
-
gRPC
gRPC ist ein Open Source Framework, das von Google entwickelt wurde, um Remote Procedure Calls (RPC) zu verarbeiten. Das Framework unterstützt zahlreiche Programmiersprachen.
-
GUI Testing (Test der grafischen Benutzeroberfläche)
Mit GUI-Tests soll sichergestellt werden, dass eine neue grafische Benutzeroberfläche (GUI) geforderte Funktionen und Spezifikationen abdeckt.
-
H
Hardcode
Hardcode beschreibt Anwendungsdaten, die im Quelltext einer Software integriert sind und die als Konstante definiert sind, was sie nur schwer änderbar macht.
-
HashiCorp Terraform
HashiCorp Terraform ist ein Open-Source-Infrastruktur-als-Code-Tool, mit dem sich Ressourcen automatisch bereitstellen lassen, auch über verschiedene Cloud-Umgebungen hinweg.
-
Header
Der Begriff Header hat je nach Kontext unterschiedliche Bedeutungen. Header werden beispielsweise in Netzwerken, Webdesign, Programmierung, E-Mails und Textverarbeitung genutzt.
-
Hexadezimal-Zahlensystem
Wir erklären, wie das Hexadezimalsystem funktioniert und warum es für Programmierer unverzichtbar ist. Alles Wichtige zur Darstellung, Umrechnung und Verwendung auf einen Blick.
-
HTML5
HTML5 ist die aktuelle Version der Hypertext Markup Language (HTML), der Standard-Programmiersprache, um Websites zu beschreiben und darzustellen.
-
Hyperledger
Hyperledger ist ein Open-Source-Projekt der Linux Foundation, welches die Entwicklung von Blockchain-basierten Distributed-Ledger-Technologien unterstützen soll.
-
I
IBM (International Business Machines)
IBM ist ein großes international agierendes Unternehmen, dass bereits Anfang des 20. Jahrhunderts gegründet wurde und sich sehr früh auf IT-Lösungen spezialisierte.
-
IBM Cloud
IBM Cloud ist eine umfassende Cloud-Computing-Plattform, die SaaS, PaaS und IaaS-Dienste vereint und KI-Integration, Sicherheit und flexible Bereitstellungsmodelle bietet.
-
Infrastructure as Code (IaC)
Mit Infrastructure as Code (IaC) können IT-Teams die physischen Ressourcen, Dienste und einzelnen Konfigurationen eines Rechenzentrums in Code umwandeln.
-
Inheritance (Vererbung)
Inheritance oder Vererbung wird in der objektbasierten Programmierung als Begriff genutzt, um anzugeben, dass definierte Objektklassen ihre Definitionen an Subklassen weitergeben.
-
Instruktion
Instruktionen oder Anweisungen gibt es in verschiedenen Bereichen der IT, die von der Assembler-Ebene bis zur Eingabe von Befehlen in einer Kommandozeile reichen können.
-
Integrationstest
Ein Integrationstest ist in der Softwareentwicklung eine aufeinander abgestimmte Reihe von Einzeltests, die dazu dienen, verschiedene Komponenten miteinander zu testen.
-
Integrierte Entwicklungsumgebung (IDE)
Eine integrierte Entwicklungsumgebung ist eine Suite oder Plattform, die grundlegende Tools zum Schreiben und Testen von Software und Code zusammenfasst.
-
Internet der Dinge (Internet of Things, IoT)
Das Internet der Dinge ist ein komplexes Netzwerk, das unterschiedliche Komponenten verbindet, die dann miteinander interagieren. Das können Sensoren, Geräte oder Maschinen sein.
-
Interoperabilität
Bei der Interoperabilität geht es darum, dass Systeme, Software oder andere Produkte ohne Eingreifen des Anwenders auf koordinierte Weise miteinander kommunizieren können.
-
IT-Servicemanagement (ITSM)
IT-Servicemanagement optimiert IT-Dienste von Planung bis Support, senkt damit ihre Kosten, steigert die Qualität und schafft einen Mehrwert durch klare Prozesse und Standards.
-
Iterativ
Iterativ ist ein Begriff aus der Programmierung und im Projektmanagement für etwas, das sich wiederholt – entweder eine Programmierschleife oder kurze Produktverbesserungszyklen.
-
J
Java
Java ist eine beliebte Programmiersprache für die Web- und Anwendungsentwicklung, weil sie gut für das Erstellen von Anwendungen eignet, die auf verteilten Architekturen laufen.
-
Java Container
Java Container bilden eine Schnittstelle zwischen einer Komponente und der plattformspezifischen Funktionen, welche die Komponente unterstützt.
-
Java Development Kit (JDK)
Entwickler benötigen das Java Development Kit, kurz JDK, um Java-Anwendungen zu konzipieren, paketieren, zu verwalten und zu überwachen. Es umfasst hierfür zahlreiche Tools.
-
Java Flight Recorder
Java Flight Recorder ist ein JVM-Profiler, der kontinuierlich Leistungsmetriken sammelt und keine Leistungsprobleme oder zusätzliche Laufzeitkosten verursacht.
-
Java Mission Control
Java Mission Control ist ein Tool zur Performance-Analyse, das gesampelte JVM-Metriken in Graphen, Tabellen, Histogrammen, Listen und Diagrammen abbildet.
-
Java String
Strings sind ein wichtiger Bestandteil der Programmiersprache Java. Einmal erstellt, ist ein String unveränderlich, sein Wert kann nicht geändert werden.
-
Java Virtual Machine (JVM)
Die Java Virtual Machine ist der Teil der Laufzeitumgebung für Java-Programme. Hierbei wird im Normalfall jedes Java-Programm in einer eigenen virtuellen Maschine ausgeführt.
-
Java-Compiler
Java-Compiler sind unter anderem der Java Programming Language Compiler (javac), der GNU Compiler für Java (GCJ), der Eclipse Compiler für Java (ECJ) und Jikes.
-
Java-Laufzeitumgebung (Java Runtime Environment, JRE)
Die Java-Laufzeitumgebung ist der Teil des Java Development Kit (JDK), der die Tools und Mindestanforderungen für die Ausführung einer Java-Anwendung enthält.
-
JavaScript
JavaScript ist eine Skriptsprache, die von Netscape entwickelt wurde. JavaScript lässt sich schneller codieren als objektorientierte Sprachen.
-
JavaScript Object Notation (JSON)
JavaScript Object Notation, kurz JSON, ist ein textbasiertes, menschenlesbares Datenformat, das zum Austausch von Daten zwischen Webclients und Webservern genutzt wird.
-
JBoss
JBoss ist ein Tochterunternehmen von Red Hat. JBoss bietet Unterstützung für die Open-Source-Entwicklungsplattform JBoss Application Server an.
-
Jenkins
Jenkins ist ein quelloffenes DevOps-Tool für Continuous Integration/Continuous Delivery und Deployment (CI/CD), das in der Programmiersprache Java geschrieben wurde.
-
JMX (Java Management Extensions)
JMX (Java Management Extensions) ist ein Satz von Spezifikationen für das Anwendungs- und Netzwerkmanagement in der J2EE-Entwicklungs- und Anwendungsumgebung.
-
K
Kaizen (kontinuierliche Verbesserung)
Kaizen ist eine Unternehmensphilosophie, die dabei unterstützt, eine Umgebung zu schaffen, in der Feedback von Mitarbeitern Produkte und Prozesse kontinuierlich verbessern.
-
KI-Prompt
Ein KI-Prompt ist eine Eingabe auf einer Plattform für generative KI. Je nach Prompt liefert das zugrunde liegende Large Language Model (LLM) eine passende Antwort zurück.