Glossar zur Softwareentwicklung
Dieses Glossar bietet klare und präzise Erläuterungen zentraler Begriffe aus der Softwareentwicklung. Die Definitionen unterstützen dabei, komplexe Themen besser einzuordnen und ein gemeinsames Verständnis in digitalen Projekten zu fördern.
Begriffserklärungen nach Entwicklungsphasen
A
- Agile Softwareentwicklung: Methodik, die iterative und flexible Softwareentwicklung ermöglicht.
- Akzeptanztest (User Acceptance Testing): Abschließender Test durch den Kunden/Nutzer vor der Freigabe.
- Anforderungsanalyse: Ermittlung und Dokumentation der Kundenanforderungen.
- API (Application Programming Interface): Programmierschnittstelle, über die verschiedene Systeme oder Anwendungen miteinander kommunizieren und Daten oder Funktionen austauschen.
- Applikation (Web-App): Eine über den Browser nutzbare Softwareanwendung, meist ohne lokale Installation.
- Architektur (Software): Aufbauweise und Struktur einer Softwareanwendung – z. B. Client-Server, Microservices oder monolithisch.
- AR (Augmented Reality): Erweiterung der realen Welt durch computergenerierte Inhalte, meist per Smartphone oder AR-Brille.
- Aufwandschätzung: Ermittlung der notwendigen Ressourcen für die Umsetzung eines Projekts.
B
- Backend: Serverseitige Software-Komponenten, die Geschäftslogik und Datenhaltung abbilden.
- Beta Testing: Testphase mit ausgewählten Nutzern, um Fehler und Usability-Probleme vor dem Release zu identifizieren.
- Bibliothek: Sammlung wiederverwendbarer Codebausteine, die bestimmte Funktionen bereitstellt (z. B. für Datenverarbeitung, UI).
- Bug-Tracking: Systematische Erfassung und Nachverfolgung von Softwarefehlern.
C
- C#: Programmiersprache von Microsoft, oft für Web-, Desktop- und CAD-nahe Anwendungen verwendet.
- CI/ CD (Continuous Integration/ Continuous Delivery): Automatische Integration und Auslieferung neuer Softwareversionen.
- Cloud Computing: Betrieb von Software in Cloud-Umgebungen – skalierbar und wartungsarm.
- Code Review: Überprüfung von Programmcode zur Qualitätssicherung.
- Containerisierung (Docker, Kubernetes): Verpackung von Anwendungen in standardisierte, portable Container.
- CSS: Stylesheet-Sprache zur Gestaltung von Layout, Farben und Schriftarten in Webanwendungen.
- Customisation: Anpassung und Erweiterung bestehender Software, z. B. CAD-Systeme, an spezifische Kundenanforderungen, um zusätzliche Funktionen oder optimierte Abläufe zu ermöglichen.
D
- Datenbank (Graph/SQL/NoSQL): Systeme zur Speicherung und Verwaltung von Daten.
- Debugging: Fehleranalyse und -behebung im Programmcode.
- Deployment: Prozess der Bereitstellung einer Software auf Produktivsystemen.
- Design Pattern: Wiederkehrende Lösungsansätze für typische Softwarearchitekturprobleme.
- DevOps: Verzahnung von Entwicklung (Dev) und Betrieb (Ops) durch gemeinsame Verantwortung, Automatisierung und Monitoring.
- Digital Twin: Virtuelles Abbild eines physischen Produkts oder Prozesses zur Simulation und Analyse.
- Domain Modeling: Strukturierung der fachlichen Inhalte und Prozesse einer Softwarelösung.
E
- Environment: Technische Umgebung, in der Software läuft (z. B. Entwicklungs-, Test-, Produktivumgebung).
- Event-Driven Architecture: Architekturprinzip, bei dem Komponenten über Ereignisse miteinander interagieren.
F
- Framework: Software-Grundgerüst, das Entwicklern wiederkehrende Aufgaben erleichtert.
- Frontend: Sichtbarer Teil der Software, mit dem Nutzer interagieren (z.B. Webanwendungen).
- Full-Stack: Entwickler, die Frontend- und Backend-Kompetenzen vereinen.
G
- GenAI (Generative KI): LLMs, die neue Inhalte generieren – z. B. Texte, Bilder oder Code
- Graph DB: Datenbank, die Informationen als Knoten und Beziehungen darstellt – ideal für Netzwerke oder Beziehungen.
- GUI (Graphical User Interface): Grafische Benutzeroberfläche einer Software.
H
- Hosting: Betrieb der Software auf externen oder eigenen Servern.
- HTML: Beischreibungssprache zur Strukturierung von Webseiteninhalten.
I
- Individuelle Software: Maßgeschneiderte Softwarelösungen, die exakt auf individuelle Geschäftsprozesse und Anforderungen abgestimmt werden – im Gegensatz zur Standard-Software.
- IoT / Sensorintegration: Integration und Verarbeitung von Sensordaten und IoT-Geräten in Softwarelösungen.
J
- JavaScript: Skriptsprache für interaktive Funktionen auf Webseiten.
K
- Künstliche Intelligenz (KI/ engl. AI) ist ein Teilgebiet der Informatik. Sie imitiert menschliche kognitive Fähigkeiten, indem sie Informationen aus Eingabedaten erkennt und sortiert. (z. B. Mustererkennung, Vorhersagen).
L
- LLM (Large Language Model): KI-Modelle, die große Textmengen verarbeiten und neue Texte generieren können (z. B. GPT).
- Low Code / No Code: Plattformen zur Entwicklung von Software mit wenig oder keiner Programmierung.
M
- Machine Learning: Teilbereich der KI, bei dem Systeme aus Daten lernen, ohne explizit programmiert zu sein.
- Maintenance & Support: Wartung, Pflege und Unterstützung nach der Inbetriebnahme.
- Micro-Frontend: Aufteilung einer Webanwendung in mehrere unabhängige, eigenständig entwickelbare Frontend-Module.
- Microservices: Architekturprinzip, bei dem Software aus kleinen, unabhängigen Services besteht, die über APIs kommunizieren.
- Mock-up: Grafische Vorschau des fertigen Designs, oft detaillierter als ein Wireframe.
- MVP (Minimum Viable Product): Produktversion mit minimalem Funktionsumfang, um frühzeitig Feedback von Nutzern zu erhalten und Risiken zu minimieren.
N
- Node.js: Plattform zur serverseitigen Entwicklung mit JavaScript.
- .NET: Entwicklungsplattform von Microsoft für verschiedene Anwendungsarten.
- NoSQL: Datenbanksysteme, die ohne relationale Tabellen arbeiten (z. B. MongoDB).
O
- Objektorientierte Programmierung (OOP): Programmierparadigma, das Software in Objekte mit Eigenschaften und Methoden gliedert.
- Open Source: Software mit offenem Quellcode, die von allen genutzt und weiterentwickelt werden darf.
P
- Performance Testing: Test zur Sicherstellung der Leistungsfähigkeit und Geschwindigkeit der Software.
- Personas: Fiktive Nutzerprofile zur Unterstützung des nutzerzentrierten Designs.
- Pflichtenheft / Lastenheft: Detaillierte Beschreibung der Anforderungen und Funktionen einer Software.
- Plugin: Erweiterungsmodul, das einer bestehenden Software zusätzliche Funktionen hinzufügt.
- Prototyp: Ein klickbares oder teils funktionsfähiges Modell einer Anwendung, das zur frühen Bewertung von Bedienung und Abläufen dient.
R
- RAG (Retrieval-Augmented Generation): KI-Technik, bei der externe Inhalte zur besseren Antwortgenerierung genutzt werden.
- Refactoring: Verbesserung bestehender Code-Strukturen ohne funktionale Änderungen.
- Regressionstest: Überprüfung bestehender Funktionen nach Änderungen oder Updates.
- Release Management: Verwaltung und Steuerung von Software-Veröffentlichungen.
- Repository: Ort, an dem Codeversionen gespeichert und verwaltet werden.
- Responsives Design: Automatische Anpassung der Benutzeroberfläche an unterschiedliche Bildschirmgrößen.
- REST: Architekturprinzip für Webservices mit klaren Regeln für Datenzugriff und Kommunikation.
- Runtime (Laufzeit): die Zeit, die ein Programm benötigt, um eine bestimmte Aufgabe auszuführen.
S
- Scrum: Agiles Framework, basierend auf festen Entwicklungszyklen (Sprints).
- Skalierbarkeit: Die Fähigkeit einer Software, bei steigender Nutzerzahl oder Datenmenge stabil zu bleiben und ihre Leistung flexibel zu erweitern.
- Source Code: Der in einer Programmiersprache geschriebene Quelltext eines Programms.
- Sprint: Zeitlich begrenzter Entwicklungszyklus in Scrum-Projekten.
- SQL: Sprache zur Verwaltung relationaler Datenbanken.
T
- Technical Debt (technische Schulden): Mehrkosten durch kurzfristige Lösungen, die langfristig den Wartungsaufwand erhöhen.
- Testautomatisierung: Automatische Durchführung von Tests zur Sicherstellung der Qualität.
U
- UI (User Interface): Visuelle Gestaltung der Benutzeroberfläche, über die Nutzer mit der Software interagieren.
- Unit Test / Integrationstest: Tests einzelner Softwarekomponenten bzw. deren Zusammenspiel.
- UML (Unified Modeling Language): Standardisierte grafische Sprache zur Modellierung von Softwarestrukturen.
- User Story / Use Case: Beschreibung von Anforderungen aus Sicht der Nutzer.
- UX (User Experience): Nutzererlebnis; umfasst Benutzerfreundlichkeit und Zufriedenheit bei der Nutzung.
V
- Validation: Überprüfung, ob eine Software die beabsichtigten Anforderungen erfüllt.
- Versionskontrolle (Git): Verwaltung und Nachverfolgung von Codeänderungen.
- Virtual Machine (VM): Software, die ein vollständiges Computersystem simuliert.
- VR (Virtual Reality): Virtuelle Realität, bei der Nutzer vollständig in eine computergenerierte Welt eintauchen.
W
- Web Service: Softwarekomponente (API), die über das Internet zugänglich ist und es Anwendungen ermöglicht, auf Ressourcen oder Funktionen eines anderen Systems zuzugreifen.
- Wireframe: Ein schematischer Entwurf einer Benutzeroberfläche, der Aufbau und Funktionen grob visualisiert – ohne Design oder Inhalte.
1. Allgemeine Begriffe zur Softwareentwicklung
- Agile Entwicklung: Methodik, die iterative und flexible Softwareentwicklung ermöglicht.
- Scrum: Agiles Framework, basierend auf festen Entwicklungszyklen (Sprints).
- DevOps: Verzahnung von Entwicklung (Dev) und Betrieb (Ops) durch gemeinsame Verantwortung, Automatisierung und Monitoring.
- CI/CD (Continuous Integration/Deployment): Automatische Integration und Auslieferung neuer Softwareversionen. Continuous Integration beschreibt den fortlaufenden Zusammenschluss von Codeänderungen in ein zentrales Repository, während Continuous Deployment für deren automatische Bereitstellung auf produktiven Systemen sorgt.
- API (Application Programming Interface): Standardisierte Schnittstelle, über die Software-Systeme Daten und Funktionen austauschen können – zentral für die Integration unterschiedlicher Anwendungen, etwa zwischen Frontend, Backend oder externen Systemen wie ERP oder CAD.
- Framework: Software-Grundgerüst, das Entwicklern wiederkehrende Aufgaben erleichtert.
2. Konzeptionsphase
- Anforderungsanalyse: Systematische Erhebung, Strukturierung und Dokumentation aller funktionalen und nicht-funktionalen Anforderungen an die Software (Ist-Analyse sowie Soll-Zustand) – meist in enger Abstimmung mit Stakeholdern. Sie bildet die Grundlage für alle weiteren Planungsschritte.
- User Story / Use Case: User Stories oder Use Cases beschreiben Anforderungen konkret aus Sicht der Nutzer – fokussiert auf deren Ziele und erwarteten Nutzen. Sie helfen, die Benutzerperspektive in den Entwicklungsprozess zu integrieren und sind besonders in agilen Projekten zentral.
- Pflichtenheft / Lastenheft: Das Lastenheft beschreibt die Anforderungen aus Kundensicht: Was soll die Software leisten?
Das Pflichtenheft ist die darauf aufbauende, technische Antwort des Anbieters: Wie werden die Anforderungen umgesetzt?
Beide Dokumente dienen der formalen Abstimmung und als Vertragsgrundlage bei klassischen Projektmodellen. - MVP (Minimum Viable Product): Frühestmögliche Produktversion mit nur den notwendigsten Funktionen, um reale Nutzerreaktionen zu testen – hilft, Risiken zu minimieren, Feedback frühzeitig einzubeziehen und Entwicklungsaufwand gezielt zu steuern.
- Wireframe: Ein schematischer Entwurf einer Benutzeroberfläche, der Aufbau und Funktionen grob visualisiert – ohne Design oder Inhalte. Dient als strukturelles Planungswerkzeug.
- Prototyp: Ein klickbares oder teils funktionsfähiges Modell einer Anwendung, das zur frühen Bewertung von Bedienung und Abläufen dient.
- Personas: Fiktive Nutzerprofile zur Unterstützung des nutzerzentrierten Designs – sie helfen dabei, Anforderungen und Nutzungskontexte besser zu verstehen.
- Domain Modeling: Strukturierung der fachlichen Inhalte und Prozesse einer Softwarelösung. Dabei werden zentrale Begriffe, Zusammenhänge und Regeln der realen Anwendungsdomäne modellhaft abgebildet, um ein gemeinsames Verständnis zwischen Fachabteilung und Entwicklung zu schaffen.
- Aufwandschätzung: Ermittlung der notwendigen personellen Ressourcen für die Umsetzung eines Projekts.
3. Designphase
- UI (User Interface): Visuelle Gestaltung der Benutzeroberfläche, über die Nutzer mit der Software interagieren.
- UX (User Experience): Nutzererlebnis; umfasst Benutzerfreundlichkeit und Zufriedenheit bei der Nutzung.
- Mock-up: Grafische Vorschau des fertigen Designs, oft detaillierter als ein Wireframe. Zeigt Farben, Schriftarten und Layouts.
- GUI (Graphical User Interface): Grafische Benutzeroberfläche einer Software.
- Responsives Design: Automatische Anpassung der Benutzeroberfläche an unterschiedliche Bildschirmgrößen.
- Barrierefreiheit (Accessibility): Gestaltung der Software, die für alle Nutzergruppen zugänglich ist.
4. Architektur & Entwicklungsphase
- Frontend: Benutzerschnittstelle der Software, die im Browser oder auf dem Endgerät sichtbar ist und mit der Nutzer direkt interagieren. Hier werden Inhalte angezeigt und Eingaben entgegengenommen, z. B. in Webanwendungen, Konfiguratoren oder Dashboards.
- Backend: Technischer Teil der Software, der im Hintergrund läuft. Hier werden Geschäftslogik, Datenverarbeitung und Schnittstellen realisiert. Das Backend sorgt dafür, dass Benutzeraktionen aus dem Frontend korrekt verarbeitet werden und greift dabei z. B. auf Datenbanken oder externe Systeme zu.
- Repository: Ort, an dem Codeversionen gespeichert und verwaltet werden.
- Code Review: Strukturierte Prüfung von Programmcode durch Kollegen oder automatisierte Tools. Ziel ist es, Fehler frühzeitig zu erkennen, Codequalität zu verbessern und gemeinsame Standards im Projekt sicherzustellen.
- Versionskontrolle (Git): System zur Nachverfolgung und Verwaltung von Änderungen im Quellcode. Entwickler können damit gemeinsam an Software arbeiten, frühere Versionen wiederherstellen und Änderungen transparent dokumentieren – Git ist der de-facto Standard in der modernen Softwareentwicklung.
- Refactoring: Verbesserung bestehender Code-Strukturen ohne funktionale Änderungen.
- Unit Test / Integrationstest: Unit Tests prüfen einzelne Funktionen oder Module einer Software isoliert, während Integrationstests das Zusammenspiel mehrerer Komponenten testen. Beide Testarten helfen, Fehler frühzeitig zu erkennen und stabile Software zu liefern.
- Debugging: Fehleranalyse-und behebung im Programmcode.
- Architektur (Software): Struktur und Aufbauweise einer Softwarelösung. Sie beschreibt, wie Komponenten organisiert, miteinander verknüpft und betrieben werden – z. B. als monolithisches System, in Microservices oder als Client-Server-Modell. Die Architektur beeinflusst Skalierbarkeit, Wartbarkeit und Weiterentwicklung.
- Microservices: Architekturprinzip, bei dem Software aus kleinen, unabhängigen Services besteht. Jeder Microservice erfüllt eine spezifische Funktion und kommuniziert über APIs mit anderen. Ideal für skalierbare und wartbare Systeme.
- Micro-Frontend: Aufteilung großer Webanwendung in mehrere kleine, eigenständig entwickelte und getestete Frontend-Module (Benutzeroberfläche). Verbessert die Skalierbarkeit und Wartbarkeit.
- Containerisierung (Docker, Kubernetes): Technologie zur Verpackung von Anwendungen samt aller Abhängigkeiten in standardisierte, isolierte Container. Container lassen sich einfach verteilen, skalieren und auf unterschiedlichen Systemen betreiben – ideal für moderne Cloud- und DevOps-Umgebungen.
- Environment: Technische Umgebung, in der Software läuft (z. B. Entwicklungs-, Test-, Produktivumgebung).
- Datenbank (Graph/SQL/NoSQL): Strukturen zur Speicherung, Abfrage und Verwaltung von Daten. SQL-Datenbanken basieren auf relationalen Tabellen (z. B. PostgreSQL), während NoSQL-Systeme flexiblere Datenmodelle nutzen (z. B. MongoDB). Graphdatenbanken stellen komplexe Beziehungen zwischen Daten dar – z. B. für Netzwerke oder Produktkonfigurationen.
5. Qualitätssicherung & Testphase
- Akzeptanztest (User Acceptance Testing): Abschließende Testphase, in der die entwickelte Software vom Kunden oder Endnutzer geprüft wird. Ziel ist es, sicherzustellen, dass die Software den fachlichen Erwartungen entspricht und im realen Anwendungskontext funktioniert.
- Regressionstest: Überprüfung bestehender Funktionen nach Änderungen oder Updates.
- Testautomatisierung: Einsatz automatisierter Testverfahren zur systematischen Überprüfung von Softwarefunktionen z.B. bei Updates. Besonders bei wiederkehrenden oder komplexen Testabläufen ist dies ein zentraler Bestandteil zur Sicherstellung der Qualität.
- Bug Tracking: Systematische Erfassung und Nachverfolgung von Softwarefehlern.
- Performance Testing: TTest zur Überprüfung von Reaktionszeiten, Stabilität und Skalierbarkeit einer Software unter realistischen Lastbedingungen.
6. Deployment & Betrieb
- Deployment: Prozess, bei dem eine entwickelte Software auf das Live- oder Produktivsystem übertragen und dort betriebsbereit gemacht wird – inklusive Konfiguration, Tests und ggf. Datenmigration.
- Hosting / Cloud Computing: Betrieb einer Software auf externen Servern oder in Cloud-Umgebungen. Dabei entfallen lokale Installationen, und die Anwendung ist skalierbar, wartungsarm und standortunabhängig verfügbar.
- Release Management: Geplante und kontrollierte Veröffentlichung neuer Softwareversionen. Dazu gehören die Planung von Funktionen, die Koordination von Test- und Freigabeprozessen sowie die Dokumentation von Änderungen.
- Maintenance & Support: Laufende Pflege der Software nach dem Go-Live: Fehlerbehebungen, Updates, Anpassungen und technische Unterstützung im laufenden Betrieb.
- Skalierbarkeit: Fähigkeit einer Software, bei wachsender Nutzerzahl oder Datenmenge zuverlässig zu funktionieren. Systeme mit hoher Skalierbarkeit lassen sich flexibel erweitern, ohne an Leistung zu verlieren.