Softwareentwicklung-Definitionen
-
E
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
Entität ist in der IT-Welt ein oft benutzter Begriff. Ob bei Datenbanken, Cloud Computing oder in der Programmierung – überall gibt es sie. Was steckt dahinter?
-
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.
-
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.
-
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.
-
Fibonacci-Folge
Nach dem italienischen Mathematiker Fibonacci wurden bestimmte Sequenzen benannt, die in der Natur häufig zu finden sind. Sie sind eng verwandt mit dem Goldenen Schnitt.
-
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.
-
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.
-
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 wird in KI-Systemen, zum Beispiel bei der Verarbeitung natürlicher Sprache, eingesetzt. Lesen Sie, was Fuzzy Logic ist und welche Anwendungsgebiete es dafür gibt.
-
G
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.
-
GitHub
GitHub ist eine webbasierte Open-Source-Versionskontroll- und Kooperationsplattform für Softwareentwickler. Es basiert auf Git, das den Quellcode und seine Historie speichert.
-
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, oft abgekürzt als GNU GPL (oder einfach GPL) beschreibt, wie Nutzer ein Open-Source-Programm kopieren, modifizieren und weitergeben dürfen.
-
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 Chrome (Browser)
Der Google Chrome Browser ist ein kostenloser Browser von Google, der auf Chromium basiert. Er ist der Default Browser auf den meisten Android-Geräten und auf Chromebooks.
-
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
Ein Header ist ein Feld, das vor den eigentlichen Nutzdaten innerhalb einer Datei eingebaut wird. Es enthält Informationen über den Inhalt der Datei und ihren Aufbau.
-
Hexadezimal
Hexadezimale Werte basieren auf 16 und nicht auf 10 wie das allgemein bekannte Dezimalsystem. Um sie darzustellen werden nicht nur Zahlen, sondern auch Buchstaben verwendet.
-
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 Cloud
IBM Cloud ist eine Suite von Cloud Computing-Services von IBM, zu denen sowohl Platform as a Service (PaaS) als auch Infrastructure as a Service (IaaS) gehören.
-
Infrastructure as Code (IaC)
Infrastructure as Code, auch IaC genannt, ermöglicht es Administratoren, Anwendungen mit Software statt mit Hardware anzupassen und zu automatisieren.
-
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 (IDE) ist eine Software-Suite, welche die grundlegenden Entwicklerwerkzeuge in einer Anwendung vereint.
-
Internet der Dinge (Internet of Things, IoT)
Das Internet der Dinge (Internet of Things, IoT) ist ein System miteinander vernetzter Geräte, Maschinen, Objekte oder Lebewesen, so dass diese miteinander interagieren können.
-
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 (ITSM) ist ein strategischer Ansatz für die Entwicklung, Bereitstellung, Verwaltung und Verbesserung der Art und Weise, wie Unternehmen IT nutzen.
-
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 wichtiges Element der Programmiersprache Java. Einmal erstellt, ist ein String unveränderlich und 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 (JSON) ist ein textbasiertes, menschenlesbares Datenformat, das zum Austausch von Daten zwischen Clients und Webservern verwendet 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 eine Open-Source-Software für Continuous Integration/Continuous Delivery, Automatisierung und DevOps, die sich für agile Entwicklung und Microservices eignet.
-
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 Verbesserungen)
Kaizen ist eine Unternehmensphilosophie, die Betriebe darin anleitet, eine Umgebung zu schaffen, in der Mitarbeiterfeedback ihre Produkte und Prozesse kontinuierlich verbessert.
-
Klasse
Eine Klasse dient in der objektorientierten Programmierung als Modell für die Abbildung von realen Objekten in Softwareobjekte und beschreibt Attribute und Methoden der Objekte.
-
KLOC (Thousands of Lines of Code)
KLOC ist ein Maß, mit dem sich die Größe eines Programms bewerten lässt. KLOC wird manchmal verwendet, um die Zeit zu schätzen, die ein Team benötigt, um ein Projekt zu erstellen.
-
Kognitive Automatisierung (Cognitive Automation)
Kognitive Automatisierung beschreibt verschiedene Kombinationen von künstlicher Intelligenz (KI) und Prozessautomatisierung zur Verbesserung von Geschäftsergebnissen.
-
Kompatibilität
Kompatibilität bedeutet, dass unterschiedliche Produkte oder unterschiedliche Versionen eines Produktes Daten auch über Plattformgrenzen hinweg miteinander austauschen können.
-
Komplexe Ereignisverarbeitung (Complex Event Processing, CEP)
Complex Event Processing (CEP) beschäftigt sich mit der Erkennung, Analyse, Gruppierung und Verarbeitung von Ereignissen, die wahrscheinlich abhängig voneinander sind.
-
Konfigurationsdatei
Eine Konfigurationsdatei ist eine Textdatei, in der die Parameter, Optionen, Einstellungen und Präferenzen für Betriebssysteme, Infrastrukturgeräte und Anwendungen hinterlegt sind.
-
Konsensalgorithmus
Ein Konsensalgorithmus ist ein IT-Prozess, der dazu dient, zwischen verteilten Prozessen oder Systemen eine Einigung über einen einzelnen Datenwert zu erreichen.
-
Kontextbewusstsein
Ein kontextbewusstes System sammelt Daten über seine Umgebung und setzt sie in Aktionen um. Die Technik wird häufig im Mobile Computing genutzt, aber auch im Internet of Things.
-
Kontinuierliche Integration (Continuous Integration, CI)
Kontinuierliche Integration (CI) ist eine Praxis der Softwareentwicklung, bei der isolierte Änderungen sofort getestet werden, wenn sie zu einer Codebasis hinzugefügt werden.
-
Kostenmanagement
Kostenmanagement ist der Prozess der Planung und Kontrolle des Budgets eines Unternehmens. Ein gutes Kostenmanagementsystem sorgt für niedrigere und planbare Ausgaben.
-
Künstliche Intelligenz (KI)
Künstliche Intelligenz (KI) ist die Simulation menschlicher Intelligenz durch Maschinen und Computersysteme. KI wird in einer Vielzahl unterschiedlicher Technologien eingesetzt.
-
Künstliches neuronales Netz (KNN)
In der IT ist ein künstliches neuronales Netz (Artificial Neural Network) ein System aus Hard- und Software, das der Funktionsweise von Neuronen im Gehirn nachgebildet ist.
-
L
Lasttest
Unter einem Lasttest versteht man einen Hard- oder Softwaretest, der eine in der Regel sehr hohe Last auf dem zu testenden System erzeugt und dessen Verhalten untersucht.
-
Laufzeit (Runtime)
Laufzeit hat in der Informatik viele Bedeutungen. Es kann sich auf den Zustand eines Programms, eine bestimmte Programmart oder den Zeitpunkt, zu dem ein Programm läuft, beziehen.
-
Lean Software Development (LSD)
Lean-Softwareentwicklung gilt heute als Aspekt der agilen Softwareentwicklungsmethodik. Es soll mehr Effizienz und weniger Verschwendung im Entwicklungsprozess erreichen.
-
Legacy-Anwendung (Altanwendung)
Eine Legacy-Anwendung (Legacy-Applikation) ist ein veraltetes oder überholtes Softwareprogramm. Altanwendungen können zu Kompatibilitätsproblemen und Sicherheitsrisiken führen.
-
Lift and Shift
Lift and Shift bezeichnet eine Migration – meist in die Cloud – bei der Anwendungen unverändert auf die neue Umgebung wechseln. Das Gegenstück dazu nennt man Refactoring.
-
Lineare Regression
Lineare Regression ist eine Form der Regressionsanalyse, mit der man eine abhängige Variable durch eine oder mehrere unabhängige Variablen zu erklären versucht.
-
Lisp (Programmiersprache)
Lisp ist eine funktionale Programmiersprache, die für die einfache Manipulation von Data Strings entwickelt wurde. Die Sprache wird unter anderem für KI-Anwendungen eingesetzt.
-
M
Machine Learning Engineer (Ingenieur für maschinelles Lernen)
Ein Machine Learning Engineer ist eine Person, die sich auf die Erforschung, den Aufbau und das Design von KI-Systemen zur Automatisierung von Vorhersagemodellen konzentriert.
-
MapReduce
MapReduce ist eine Komponente des Software-Frameworks Apache Hadoop, mit dem sich große Datenmengen auf Clustern mit Standardhardware verarbeiten lassen.
-
Markov-Modell
Das Markov-Modell ist eine stochastische Methode für sich zufällig verändernde Systeme, bei der angenommen wird, dass zukünftige nicht von vergangenen Zuständen abhängen.
-
Maschinelles Sehen (Machine Vision)
Maschinelles Sehen (Machine Vision) ist die Fähigkeit eines Computers, zu sehen. Dazu werden Videokameras, Analog-Digital-Wandler und digitale Signalverarbeitung benötigt.
-
Maschinensprache
Computer können von Menschen erstellten Code in der Regel nicht verstehen. Er muss vorher in eine maschinenlesbare Form umgewandelt werden, die dann direkt ausgeführt werden kann.
-
Maven
Maven ist ein Tool der Apache Software Foundation für die Projektverwaltung, mit dem sich Java-Projekte automatisieren lassen. Das Tool ist aus dem Jakarta-Projekt hervorgegangen.
-
Microservices
Microservices oder Microservices-Architekturen sind ein Ansatz zur Anwendungsentwicklung, bei dem eine große Anwendung aus modularen Komponenten oder Diensten aufgebaut wird.
-
Microsoft Azure Functions
Azure Functions ist ein ereignisgesteuerter Serverless-Computing-Service von Microsoft. Der Dienst ist Teil der Public-Cloud-Lösungen innerhalb von Microsoft Azure.
-
Microsoft Azure Service Fabric
Azure Service Fabric ist ein PaaS-Angebot, das Entwicklung, Bereitstellung und Verwaltung hochskalierbarer Anwendungen für die Cloud-Plattform von Microsoft erleichtern soll.
-
Microsoft Cognitive Services
Microsoft Cognitive Services bieten KI-Algorithmen auf der Azure-Plattform. Diese richten sich an Firmen, die nicht über Knowhow zur Eigenentwicklung verfügen.
-
Microsoft Windows Subsystem für Linux (WSL)
Mit dem Windows Subsystem für Linux können Windows-Nutzer eine Ubuntu-Umgebung direkt auf ihrem Windows-10- oder 11-Gerät einrichten und dort Dienstprogramme nutzen.
-
Middleware
Middleware schließt Lücken zwischen Anwendungen und anderen Tools oder Datenbanken. Sie sitzt zwischen einem Betriebssystem und den darauf ausgeführten Anwendungen.
-
Mixed Reality (Gemischte Realität)
Mixed Reality (MR) ist eine Benutzerumgebung, in der physische Realität und digitale Inhalte so kombiniert werden, dass sie mit realen und virtuellen Objekten interagieren können.