Softwareentwicklungskenntnisse

Kompetenzbereich

Synonyme

  • Anwendersoftwareentwicklung
  • Entwicklung von Algorithmen
  • Konzeption von Softwarelösungen
  • Schreiben von Algorithmen
  • Software Development
  • Software-Engineering
  • Software-Entwicklung
  • Software-Entwicklungsprozess
  • Software-Erstellung
  • Software-Konzeption
  • Software-Konzeption und -Design
  • Softwaretechnik
  • SW-Entwicklung
  • SW-Entwicklungskenntnisse
  • Systemdesign
  • Systemdesign-Kenntnisse
  • Systementwicklungskenntnisse
  • Systemplanung

Erklärung

Fach- und Methodenkenntnisse im Bereich der Entwicklung von Software; umfasst z.B. Projektplanung, Methoden der Softwareentwicklung, Kenntnisse im Bereich der Integration von Teilmodulen u.ä.

Softwareentwicklungskenntnisse für InformatikerIn

  • KonfigurationsmanagementConfiguration Management, Software Configuration Management, Software-Konfiguration, Software-Konfigurationsmanagament, SoftwarekonfigurationsmanagementVerwaltung und Dokumentation von Änderungen und neuen Elementen entlang des Lebenszyklus eines Produkts, einer Software etc.
    • Configuration Management DatabaseCMDB, Configuration Management ToolDatenbank, die zur Verwaltung und Dokumentation von Konfigurationselementen entlang des Lebenszyklus eines Produkts, einer Software etc. dient.
    • Infrastructure-as-CodeIaCMit Infrastructure as Code wird die virtuelle Infrastruktur durch Code, nicht durch manuelle Prozesse, verwaltet.
      • PulumiOpen-Source-Projekt für Infrastructure-as-Code. Dabei kann die Infrastruktur mit gewissen Programmiersprachen konfiguriert werden.
      • TerraformOpen-Source-„Infrastructure-as-Code”-Tool zur Verwaltung der virtuellen Infrastrukturen (Hersteller: Hashi-Corp).
    • Release-ManagementÜberwachung von allen Phasen einer Software-Release, egal ob ein neues Produkt entwickelt wird oder Änderungen vorgenommen werden.
    • RolloutRoll OutMethoden und Vorgangsweisen bei der Einführung und Erneuerung von Hard- und Softwaresystemen.
  • Qualitätsmanagement in der SoftwareentwicklungQualitätssicherung im Softwarebereich, Software-QualitätsmanagementAnalyse und Verbesserung von Softwareprodukten und deren Entwicklungsprozess.
    • Capability Maturity ModelCMMProzessmodell zur Qualitätsmessung bei der Softwareentwicklung.
    • Defect ManagementManagen von Softwarefehlern im Rahmen des Qualitätsmanagements in der Softwareentwicklung.
    • Durchführung und Automatisierung von TestläufenEntwicklung von automatisierten Testumgebungen sowie Erstellung von Testplänen und Durchführung von Testläufen.
      • Erstellen von TestspezifikationenChecklisten erstellen, die zum Testen der geforderten Funktionen des Systems verwendet werden.
      • Erstellung von Test-ScriptsZeilenweise Beschreibungen erstellen, welche Informationen über die Systemvorgänge enthalten, die zur Überprüfung einerzu testenden Anwendung oder des Systems durchgeführt werden sollen. Das Testskript sollte jeden Schritt mit den zu erwartenden Ergebnissen auflisten.
    • Problemmanagement in der SoftwareentwicklungProblemmanagementTeilgebiet des IT-Service-Managements, das sich sowohl mit der vorausschauenden wie auch mit der auf konkrete Vorfälle reagierenden Untersuchung und Behebung von Störungen beschäftigt. Das Ziel ist die dauerhafte Lösung der Probleme.
    • Software-QualitätsmanagementtoolsSoftware-QualitätsmanagementprodukteSoftware zur Unterstützung von Qualitätssicherungsmaßnahmen im Rahmen der Softwareentwicklung.
      • Autosar StandardAUTomotive Open System Architecture, AutosarDer AUTOSAR Standard definiert grundlegende Anwendungen, Anforderungen und Schnittstellen, die ein Betriebssystem für automobile Anwendungen erfüllen muss. Der AUTOSAR behandelt hauptsächlich funktionsspezifische Merkmale und Anforderungen, die einen problemlosen Austausch von Software zwischen verschiedenen Plattformen und Herstellern ermöglichen.
      • TestCompleteShareware-Software, mit der automatisierte Tests für Microsoft Windows-, Android- und iOS-Anwendungen erstellt werden können (Hersteller: SmartBear).
    • SoftwareergonomieTheorie und Praxis der Gestaltung benutzerfreundlicher Software.
    • SoftwaremetrikFunktion, die meist mathematisch eine Eigenschaft von Software in einen Zahlenwert abbildet.
    • Testmethoden zur Qualitätssicherung im SoftwarebereichAnwendung von verschiedenen Methoden zum Testen von Software entsprechend den Anforderungen des Systems.
      • SystemtestSoftwaretests, bei denen das Gesamtsystem gegenüber allen Anforderungen getestet wird.
        • EntscheidungstabellentestSoftwaretest, der überprüft, dass bei erfüllten Bedingungen die passende Reaktion vom erstellten Programm kommt.
        • RegressionstestSoftwaretests, die herausfinden, ob Modifikationen in bereits getesteten Teilen der Software keine neuen Fehler verursachen.
        • Statische Code AnalyseEin Software-Testverfahren, bei dem der Quelltext eines Programms (also nicht das ausführbare Programm) einer Überprüfung auf Fehler unterzogen wird.
    • Verifizierung von SoftwareSoftware-Validierung, Software-VerifikationMethoden zur Überprüfung, ob eine Software ihren Anforderungen entspricht.
  • Software Change ManagementSoftware-ÄnderungsmanagementVorgangsweise, welche Änderungen an Software effizient und unter Minimierung von Risiken und unerwünschten Nebenwirkungen vornimmt.
    • Change Request-Koordination und DokumentationAnforderungen zur Anpassung, z. B. einer Software, Website oder eines Internetportals, koordinieren und dokumentieren.
    • Change-Request-ProzessÄnderungsanforderungWenn es Änderungswünsche am Produkt gibt, werden diese festgehalten und an die EntwicklerInnen gemeldet und von ihnen abgearbeitet.
    • VersionsverwaltungVersion Control, VersionsmanagementSysteme, die in der Softwareentwicklung eingesetzt werden, um die verschiedenen Entwicklungsstufen eines Programmes zu dokumentieren.
      • CVSConcurrent Versions System, CVS repositoryConcurrent Versions System zur Versionsverwaltung von Dateien auf verschiedenen Betriebssystemen.
      • Erstellung von VersionierungskonzeptenErstellung von VersionsverwaltungskonzeptenKonzepte erstellen, welche sich mit der Dokumentation der verschiedenen Entwicklungsstufen einer Software beschäftigen.
      • GitOpen-Source Softwarelösung zur Versionsverwaltung von Dateien.
      • GitHubSoziales Netzwerk für SoftwareentwicklerInnen und netzbasierter Dienst zur Versionsverwaltung für Software-Entwicklungsprojekte (Hersteller: Microsoft).
      • GitlabWebanwendung zur Versionsverwaltung für Softwareprojekte, die diverse Managementfunktionalitäten und Funktionalitäten zum Verfolgen von Softwarefehlern bietet.
      • Perforce HelixSoftware zur verteilten Versionsverwaltung von Dateien und Verzeichnissen. Zudem ist die gemeinsame Arbeit an Inhalten möglich (Hersteller: Perforce).
      • SCCSSource Code Control System; Software zur Versionsverwaltung von Dateien auf dem Computer.
      • SubversionApache Subversion, SVNOpen-Source-Software zur Versionsverwaltung von Dateien und Verzeichnissen.
  • SoftwareanalyseAnalyse von SoftwarelösungenÜberprüfung der Funktionalität, Leistung und Zuverlässigkeit von Softwareprodukten.
    • RobustheitsanalyseRobustheits-AnalyseDie Robustheitsanalyse ist ein Verfahren in der Softwaretechnik, mit der man Use Cases auf verschiedene Aspekte untersuchen kann. Dabei wird der vorhandene Use Case Text analysiert und in dessen Bestandteile zerlegt. Als Ergebnis der Analyse wird ein Robustheitsdiagramm erstellt, welches im Grunde einem vereinfachten Kollaborationsdiagramm entspricht.
    • SoftwareanalysemethodenUnterschiedliche Verfahren in der Softwareanalyse.
      • ATAMArchitecture Tradeoff Analysis MethodArchitecture Tradeoff Analysis Method; Methode zur Bewertung von Softwarearchitekturen hinsichtlich der Beziehungen zwischen den Vorgaben und dem Ergebnis des Entwicklungsprozesses.
      • OOA - Objektorientierte AnalyseObject-oriented Analysis, Objektorientierte Analyse, Objektorientiertes Analysieren, OOA, OOADEine objektorientierte Methode des Softwareanalyse, zur Beschreibung der Anforderungen an eine geplante Software.
      • Strukturierte Analyse (Softwareentwicklung)Eine graphische Methode der Softwareanalyse, die eine detaillierte Systembeschreibung der geplanten Software ermöglicht.
    • SystemanalyseDie Erstellung eines ersten Modells bzw. einer Beschreibung der wesentlichen Funktionen eines zukünftigen IT-Systems.
      • Entwicklung von Use CasesArbeiten mit AnwendungsfällenBeschreibung der Art und Weise, wie BenutzerInnen mit einem IT-System, einer Website oder einer Software interagieren. Dabei wird das Verhalten des IT-Produkts aus Sicht der NutzerInnen beschrieben.
  • SoftwarebetreuungAnwendungsbetreuung, Software-Betreuung, Software-Monitoring, SoftwarewartungInstallation, Wartung und Aktualisierung von Softwareprodukten.
    • Application ManagementAnwendungsmanagement, Application Lifecycle ManagementEntwicklung und Betreuung von Programmen über ihren ganzen Lebenszyklus hinweg.
    • Betreuung von AppsApp-Betreuung, Betreuung von WebapplikationenInstallation, Wartung und Aktualisierung von Applikationen (Apps).
    • Weiterentwicklung branchenübergreifender UnternehmenssoftwareInhaltliche und technische Weiterentwicklung von branchenübergreifenden Softwares wie CRM-Tools, um die Programme an Kundenbedürfnisse anzupassen.
  • SoftwaredesignSoftware-Design, Software-Entwurf, Softwaremodellierung
    • Analytische SoftwaremodellierungSoftwaremodellierung anhand mathematischer Gleichungen und Berechnungen.
    • OOD - Objektorientiertes DesignObjektorientiertes Design, OODSoftwareentwurf, der zuerst die benötigten Teile eines Softwaresystems herausarbeitet und diese dann miteinander verknüpft.
    • ProzessentwicklungProcess Development, WorkflowdesignDie Entwicklung von IT-Abläufen zur Abbildung bzw. Unterstützung von Prozessen in Unternehmen.
    • Strukturiertes DesignSDEin Entwurfsmuster für die Entwicklung von Software, das einen modularen Aufbau unterstützt und der Festlegung der Grobstruktur von Software-Systemen dient.
    • SystemintegrationIntegrationslösungen, IntegrationstechnologienPlanen und Umsetzen von komplexen IT-Systemen durch Softwarekomponenten; dazu gehört u.a. das Installieren und Konfigurieren vernetzter IT-Systeme, die systematische Planung, Durchführung und Kontrolle von Projekten sowie die Fehlersuche und -behebung.
      • SystemintegrationsplanTechnisches Dokument, das den Zusammenbau eines Systems (Systemintegration) beschreibt; es beinhaltet u.a. die Beschreibung der Abläufe und Zusammenhänge sowie auch die Rahmenbedingungen und Zuständigkeiten.
  • SoftwaredokumentationDokumentation von Anwendungs-Software; die Dokumentation kann sowohl auf die technische Ebene, wie z.B. die Programmierung als auch auf die Erklärung der Funktionen des Programms für BenutzerInnen abzielen.
    • IT-AbnahmedokumentationDokumentation der im Rahmen der Entwicklung bzw. Einführung von IT-Systemen vorgenommenen Tests.
    • IT-AnalysedokumentationDokumentation der Informationen, Annahmen und Lösungsvorschläge aus dem IT-Analyseprozess.
    • IT-ProgrammdokumentationDokumentation der Funktionen eines Software-Programms.
    • IT-SystemdokumentationDokumentation eines IT-Systems, bestehend aus Hard- und Software.
    • IT-TestdokumentationDokumentation der im Rahmen der Entwicklung bzw. Einführung von IT-Systemen vorgenommenen Tests.
      • Bug ReportingErstellen von FehlerberichtenBerichte verfassen, in denen bekannte Fehler und Probleme eines IT-Produktes, z. B. Website oder Software, beschrieben werden.
      • Erstellen von IT-TestprotokollenDokumentieren der Testergebnisse von Softwaretests in Form von speziellen Testprotokollen.
  • SoftwareentwicklungsmethodenSoftware-Engineering-Typen, SoftwareentwicklungsartenSystematische Vorgangsweise bei Entwurf und Implementierung von Software; z.B. Top-Down-, Bottom-Up-Verfahren.
    • EreignisprogrammierungEreignisbehandlung, Ereignisbehandlungsroutinen, Ereignisgesteuerte ProgrammierungNicht-lineare Programmiertechnik, bei der spezielle Ereignisbehandlungsroutinen immer dann ausgeführt werden, wenn ein bestimmtes Ereignis auftritt.
      • Interrupt-ProgrammierungInterrupt, Unterbrechungsanforderung, UnterbrechungsroutineVerfahren, bei dem ein Programm kurzfristig unterbrochen wird, um eine andere, meist kurze, aber zeitkritische Verarbeitung durchzuführen.
    • Extreme ProgrammingExtreme Networks, XPPrinzip in der Softwareentwicklung, bei dem sich in der Praxis als nutzbar erwiesene Standards in einer extremen Art und Weise genutzt werden.
      • Kontinuierliche IntegrationContinuous Integration, Fortlaufende Integration, Permanente IntegrationKonzept in der Softwareentwicklung, bei dem einzelne Entwicklungsschritte laufend in die entsprechende Anwendung integriert und getestet werden.
    • Multi-threadingMultithreadingProzesse zur gleichzeitigen Abarbeitung mehrere Ausführungsstränge.
    • Multiprocess-ProgrammierungMulti-Process-ProgrammierungProgrammieren von Prozessen, die simultan laufen.
    • Optimierung von Computerprogrammen
    • Rational Unified ProcessRUPAuf UML basierende Softwareentwicklungsmethode von Rational.
    • Software-Delivery-MethodenMethoden der Softwarebereitstellung. Unterschiedliche Möglichkeiten, wie Software entwickelt und an den KundInnen zur Verfügung gestellt wird.
      • BuildserverServer, der das Erstellen bzw. Kompilieren von Programmcode beherrscht. Als Tool in der Softwareentwicklung wird er für automatische Tests und Veröffentlichungen eingesetzt.
      • Continuous DeliverySammlung von Techniken, Prozessen und Werkzeugen, die den Softwareauslieferungsprozess verbessern.
      • DevOpsSoftware-Engineering-Praxis, die darauf abzielt Software-Entwicklung (Dev - Development) und Software-Betrieb (Ops - Operations) zu vereinheitlichen.
        • AnsibleOpen-Source Automatisierungs-Werkzeug zur Verbindung und Harmonisierung von unterschiedlichen Prozessen und Protokollen sowie allgemeinen Administration und Konfiguration von Computern.
        • CI/CDCICD, Kontinuierliche Integration und BereitstellungMethode, bei der den KundInnen regelmäßig Software bereitgestellt und kontinuierlich and dieser bearbeitet wird; soll die Integration von neuem Code erleichtern.
          • TeamCityCI/CD-Softwareplattform, die flexible Workflows, Zusammenarbeit und Entwicklungspraktiken ermöglicht.
        • DevSecOpsPraktik der Softwareentwicklung, die darauf abzielt Software-Entwicklung (Dev - Development), IT-Sicherheit (Sec - Security) und IT-Betrieb (Ops - Operations) zu vereinheitlichen. Der DevOps-Ansatz wird dabei um den Faktor Cyber-Sicherheit erweitert.
        • DockerOpen-Source-Container-Software, die eine einzelne Anwendung mit allen Abhängigkeiten wie Bibliotheken, Hilfsprogrammen und statischen Daten in einer Image-Datei zusammenfasst, ohne aber ein komplettes Betriebssystem zu beinhalten.
        • KubernetesSystem zur Automatisierung der Verwaltung, Bereitstellung und Skalierung von Container-Anwendungen (Hersteller: Google).
        • VagrantFreie Anwendung zum Erstellen und Verwalten von virtuellen Maschinen unter Verwendung der Programmiersprache Ruby.
    • SoftwarearchitekturSystem-ArchitekturErstellung einer Softwarearchitekur, die bestimmt, wie eine Software aufgebaut ist und funktionieren kann.
      • Domain Driven DesignDDDBack-to-basic-Vorgehensmodell zur Modellierung komplexer Softwaresysteme.
      • Enterprise Application DesignEAI, Enterprise Application IntegrationDer Einsatz von Middleware zur Integration verschiedener Programme/Programmsysteme eines Unternehmens.
        • BizTalk ServerServer zur Integration, Verwaltung und Automatisierung von Geschäftsabläufen innerhalb des Unternehmens ebenso wie im Zusammenspiel mit Kunden, Partnern und Zulieferern.
        • EAI-ToolsDer Einsatz von Middleware zur Integration verschiedener Programme bzw. Programmsysteme eines Unternehmens.
        • WebMethods Integration ServerSoftwareplattform zur Integration industrieller Prozesse (Hersteller: webMethods).
      • MicroServicesEntwicklung komplexer Anwendungssoftware durch das Zusammensetzen mehrerer unabhängiger Prozesse.
      • Modellbasierte SoftwareentwicklungMDA, Model Driven Architecture, Modellgetriebene SoftwareentwicklungMethode zur automatisierten Erzeugung lauffähiger Softwaresysteme aus formalen Modellen; dabei werden Modellierungssprachen zusammen mit Codegeneratoren und Interpretern eingesetzt.
      • No-Code-PlattformNo-Code-EntwicklungsplattformEntwicklungsumgebungen, die ohne Code bzw. ohne die Verwendung von Programmiersprachen auskommen. Stattdessen wird eine grafische Benutzeroberfläche mit Drag-and-Drop-Funktionen verwendet.
      • Plattformübergreifende SoftwareentwicklungPlattformübergreifende SW-EntwicklungEntwicklung von Programmen, die plattformunabhängig ausgeführt werden können.
      • Serviceorientierte ArchitekturService Oriented Architecture, SOASystemarchitektur-Konzept für die Integration komplexer Geschäftsprozesse.
        • Enterprise Service BusESBSoftwareprodukte, die die Integration verteilter Dienste in der Anwendungslandschaft eines Unternehmens unterstützen.
          • Microsoft BizTalkMicrosoft BizTalk Server 2004Server-Software von Microsoft zur Integration von Geschäftsprozessen in heterogenen Plattformen.
        • Model View ControllerMVCArchitekturmuster zur Strukturierung der Software-Entwicklung, das den Prozess in die drei Einheiten Datenmodell, Präsentation und Programmsteuerung aufgliedert.
      • Tier-ArchitekturSchichtenarchitektur, Schichtenmodell, Schichtenmuster, Tier Architecture, Tier-ArchitekturenKonzept in der Softwareentwicklung, bei dem einzelne Teile der Software als übereinander liegende Schichten betrachtet werden.
        • 3-tier-Architektur3-tier Architecture, 3-tier-Architekturen, Programmierung in drei SchichtenArchitektur von Webanwendungen, die softwareseitig drei Schichten hat: eine Datenschicht, eine Logikschicht und eine Präsentationsschicht.
          • 3-tier-Webanwendungsentwicklung3-tier-WebanwendungenProgrammierung in drei Schichten: einer Datenschicht, einer Logikschicht und einer Präsentationsschicht.
        • Multi-tier-ArchitekturMulti-tier Architecture, Multi-tier-Architekturen, N-Schicht-Architektur, N-Schicht-Architekturen, n-tier Architecture, n-tier-Architektur, n-tier-ArchitekturenKonzept in der Softwareentwicklung, bei dem einzelne Teile der Software als mehrere übereinander liegende Schichten betrachtet werden.
    • Testgetriebene EntwicklungTDD, test first development, test-driven development, testgesteuerte EntwicklungTestgetriebene Softwareentwicklung wird häufig bei der agilen Entwicklung von Computerprogrammen eingesetzt.
      • MockingMock-Objekte, MocksEinsatz von sogenannten Mock-Objekten in der testgetriebenen Softwareentwicklung; als Mock-Objekte werden PlatzhalterInnen für echte Objekte bezeichnet.
      • StubbingStub-Objekte, StubsMethode für die testgetriebene Softwareentwicklung; Stubs sind Objekte, die Programmteile zwischenzeitlich ersetzen und deren Verhalten in einer festgelegten Weise simulieren.
    • Verteiltes RechnenDistributed Computing, Distributed Systems, Verteilte SystemeTechnik des verteilten Rechnens in verschiedenen Anwendungsbereichen.
  • Softwareentwicklungsstandards und -normenStandards, die durch Erkenntnisse aus Industrie, Wissenschaft und Technik entwickelt wurden, um die Qualität durch Vereinheitlichung zu garantieren.
    • CMMICapability Maturity Model IntegrationProzessmodell zur Beurteilung und Verbesserung der Qualität von System- und Software-Entwicklungen.
    • ISO 12207ISO/IEC 12207Norm für Prozesse im Lebenszyklus von Software.
    • OSGiServiceplattform, die die Modularisierung von Java-Applikationen anhand des Komponentenmodells erlaubt (Hersteller: OSGi Alliance).
  • SoftwareentwicklungstoolsEntwicklungs- und Laufzeitumgebungen, Entwicklungswerkzeuge, Software Tool, SoftwareentwicklungsumgebungenWerkzeuge zur Unterstützung der Softwareentwicklung; z.B. Editoren, Debugger, GUI-Editoren.
    • AkkaToolkit zur Erstellung von Nachrichten-Systemen in Java und Scala (Hersteller: Lightbend).
    • Apache FOPFormatting Objects-ProzessorFormatting Objects-Prozessoren werden zur Umwandlung von XSL:FO-Dateien in PDF, PostScript, RTF oder andere Formate für die Druckausgabe genutzt.
    • Build Management ToolsTools zur Einrichtung, Beschreibung und Pflege von Erstellungsprozessen bei komplexen Softwareentwicklungsumgebungen.
      • AntXML-basiertes, plattformunabhängiges Java Build-Tools von Apache.
        • IvySoftware zur Verwaltung und Einbindung von abhängigen Java-Archiven in Java-Projekte (Hersteller: Apache Software Foundation).
      • Apache MavenMavenSoftware-Management-Tool für die Erzeugung und Verteilung von Java-Programmen.
      • BuildbotSystem, das den Prozess des regelmäßigen, vollständigen Neubildens und Testens einer Anwendung unterstützt.
      • GradleJava basiertes Automatisierungstool, welches im Build-Management eingesetzt wird und zur Beschreibung der zu bauenden (Software-)Projekte dient.
    • CASE ToolsCASE-Werkzeuge, Computer Aided Software Engineering-Tools, Computer-Aided System Engineering, Computer-Assisted Software EngineeringIT-gestützte Werkzeuge für die Umsetzung einer Software-Konzeption.
      • Sybase PowerDesignerEin Software-Modellierungswerkzeug (Hersteller: Sybase).
    • CMakeProgrammierwerkzeug zur Entwicklung von Software (Hersteller: Kitware, Inc).
    • CodegeneratorenComputerprogramme, das z.B. aus Modellen oder Diagrammen Quellcode in einer bestimmten Programmiersprache erstellen.
    • CompilerComputerprogramm, das eine bestimmte Programmiersprache in eine Form übersetzt, die von einem Computer ausgeführt werden kann.
      • GCCGNU Compiler CollectionOpen-Source Sammlung verschiedener Compiler für unterschiedliche Programmiersprachen, wie z.B. C, C++ oder Java.
    • Developer ExpressDevExpress, DevExpress component suiteSoftwareentwicklungstools des Herstellers Developer Express für die Entwicklung .NET-basierter Windows-Anwendungen.
    • Enterprise ArchitectSoftwaremodellierungswerkzeug zur UML-Modellierung, um Software grafisch zu beschreiben (Hersteller: SparxSystems). Es unterstützt verschiedene Programmiersprachen.
    • FitNesseEntwicklungstool, das die Funktionen einer Kollaborationslösung, eines Testwerkzeugs, eines Wikis und eines Webservers vereint.
    • GUI-ToolkitUX library, Widget ToolkitProgrammbibliothek, die zur Programmierung grafischer Benutzeroberflächen in Desktop-Anwendungen dient.
      • QtC++ Softwareentwicklungsumgebung von Trolltech.
      • SDL PassoloPassoloSoftware für die Anpassung von Benutzeroberflächen an sprachliche und kulturelle Gegebenheiten in bestimmten Nutzungsgebieten.
      • VCLVisual Component LibraryGUI-Toolkit für Windows-Anwendungen, das die Programmiersprachen Delphi, C++, C und C# unterstützt (Hersteller: Embarcadero).
    • IBM RationalRationalReihe von Softwareentwicklungstools von IBM.
      • IBM Rational ClearQuestClearQuestSoftware für das Konfigurationsmanagement, die Funktionen enthält für Versionsverwaltung, parallele Entwicklung, Workspace-Management sowie Build- und Release-Management (Hersteller: IBM).
      • IBM Rational Rose XDEIBM Rational Rose, IBM Rational XDE, Rational Rose, Rational Rose XDE Developer, Rational XDEKomplexe Softwareentwicklungsumgebung von IBM.
      • IBM Rational Software Architect DesignerIBM RSA, RSASoftwareentwicklungs- und -designplattform zur grafischen Darstellung von Projektschritten (Hersteller: IBM).
      • IBM Rational Team ConcertIBM RTCWerkzeug für das Projektmanagement in der Softwareentwicklung (Hersteller: IBM).
      • RequisiteProSoftware für das Anforderungsmanagement im Rahmen der Softwareentwicklung (Hersteller: Rational).
      • RhapsodyAuf der Unified Modeling Language basierende Entwicklungsplattform des Herstellers I-Logix.
    • InstallShieldInstallShield DeveloperSoftware-Installationstool für Windows mit dem exe- und msi-Installer erstellt werden können (Hersteller: Revenera).
    • Integrierte EntwicklungsumgebungIDE, Integrated Development EnvironmentSoftware, die eine Umgebung zur Verfügung stellt, die die wichtigsten Tools zur Anwendungsentwicklung in einer bestimmten Programmiersprache enthält.
      • Android StudioEntwicklungsumgebung von Google, z. B. zur Entwicklung von Apps für Android-Betriebssysteme.
      • CodesysSoftwareentwicklungsumgebung für die Programmierung von Automatisierung in der Industrie (Hersteller: CODESYS Group).
      • Gupta Team DeveloperIntegrierte Entwicklungsumgebung, die visuelles Programmieren und Prototyping unterstützt (Hersteller: OpenText).
      • IntelliJ IDEAIntegrierte Entwicklungsumgebung, die die Automatisierung häufig wiederkehrender Aufgaben ermöglicht, für die Programmiersprachen Java, Kotlin, Groovy und Scala (Hersteller: JetBrains).
      • JupyterWebbasierte, interaktive Entwicklungsumgebung für Notebooks, Code und Daten.
      • KDevelopGideonIntegrierte Entwicklungsumgebung zur Softwareerstellung unter KDE.
      • NaturalKommunikationssprache für das Datenbanksystem ADABAS und für VSAM-Dateien (Hersteller: Software AG).
      • Oracle SQL DeveloperMit einem SQL Developer können Datentabellen erstellt, miteinander verknüpft und editiert werden (Hersteller: Oracle).
      • PHPStormIntegrierte Entwicklungsumgebung für die Programmiersprache PHP sowie andere Webtechnologien wie HTML5, CSS oder JavaScript (Hersteller: JetBrains).
      • PowerBuilderPower BuilderEntwicklungstool für den Web-, und Client/Server-Bereich, sowie im Bereich der verteilten Applikationen (Hersteller: Sybase).
      • PyCharmIntegrierte Entwicklungsumgebung für Python (Hersteller: JetBrains).
      • RAD StudioEmbarcadero Delphi, Formula TranslatorKomponenten-basiertes Software-Entwicklungssystems für Microsoft Windows (Hersteller: Embaracedero).
      • RiderPlattformübergreifende Entwicklungsumgebung für C# (Hersteller: JetBrains).
      • RstudioIntegrierte Entwicklungsumgebung und grafische Benutzeroberfläche für die Statistik-Programmiersprache R (Hersteller: Rstudio).
      • Visual StudioVisual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 6.0, Visual Studio 7.0, Visual Studio 8.0Integrierte Entwicklungsumgebung für verschiedene Hochsprachen, wie Visual Basic, .NET, C oder C++ (Hersteller: Microsoft)
        • ReSharperErgänzender Software-Baustein für die integrierte Entwicklungsumgebung Visual Studio von Microsoft (Hersteller: JetBrains).
        • Visual C++MS Visual C++, VC++, VC++ 6.0, VC++ 7.0, Visual C++ 6.0, Visual C++ 7.0C++-Entwicklungsumgebung Visual C++ von Microsoft.
        • Visual Studio.NETEntwicklungsumgebung für die Windows- und die .NET-Plattform zur Unterstützung mehrerer Programmiersprachen, Plattformen beziehungsweise Geräteklassen.
      • Visual Studio CodeVS CodeOpen-Source Code Editor, der auf allen Umgebungen funktioniert.
      • WebStormIntegrierte Entwicklungsumgebung für JavaScript (Hersteller: JetBrains).
      • XcodeDie Anwendung Xcode ist eine von Apple bereitgestellte integrierte Entwicklungsumgebung zur nativen Softwareentwicklung für Apples Betriebssysteme Mac OS X und iOS. Die Entwicklung erfolgt hauptsächlich in der Programmiersprache Objective-C und dem Cocoa-Framework.
    • iOS-SDKSoftware Developement KitDas iPhone-SDK (Software Developement Kit) ist ein Werkzeug mit dessen Hilfe man Programme für das Apple iPhone schreiben kann.
    • Message BrokersSoftware, die das Kommunizieren zwischen verschiedenen Programmen ermöglicht, die nicht die gleiche Programmiersprache verwenden.
      • ActiveMQSoftware, die durch asynchrone Kommunikation verschiedene Java-Netzwerke verbinden kann.
    • PolarionBrowserbasierte Plattform für das Anforderungs-, Qualitäts- und Application Lifecycle Management (ALM) (Hersteller: Polarion Software, Inc).
    • PolyspaceStatisches Code-Analyse-Tool (Hersteller: MathWorks). Ein statisches Analysetool scannt den Code auf bekannte, häufig vorkommende Fehler und Schwachstellen.
    • Rapid Application DevelopmentRAD, Visuelle ProgrammierumgebungIntegrierte Entwicklungsumgebung mit einer visuellen Entwicklungsoberfläche, die es erlaubt, die Benutzeroberfläche der zu erstellenden Anwendung grafisch zu bearbeiten.
      • Borland C++ BuilderBorland CSoftwareentwicklungsumgebung für die Programmiersprache C++ (Hersteller: Borland).
      • Microsoft Visual FoxProFoxPro, Visual FoxProWindows-basiertes Datenbankprodukt von Microsoft für die objektorientierte Anwendungsentwicklung.
    • Requirements Management ToolsAnforderungsmanagement-Software, Requirements-Engineering-SoftwareProgramme, die zur Verwaltung und Auswertung von Anforderungen dienen. Anforderungen sind Eigenschaften, die das zu entwickelnde System besitzen muss.
      • CaliberRMManagement-Tool für die Qualitätssicherung bei der Softwareentwicklung (Hersteller: Borland).
      • IBM Rational DOORSDOORSRequirements Management Tool zur Steuerung, Kontrolle und Verwaltung von Anforderungen an Softwareentwicklungen.
    • Siemens STEP 7-Micro/WINSiemens Step 7, STEP 7Software für die Programmierung von PLCs von Siemens.
    • Software für kontinuierliche IntegrationSysteme zur Unterstützung des kontinuierlichen Programmierens. Das bedeutet, dass sie Systemteile einzeln programmiert werden und dann zu einer Anwendung zusammengefügt werden. Das Ziel ist eine gesteigerte Softwarequalität.
      • Atlassian BambooServer zur kontinuierlichen Integration von Software in ein System (Hersteller: Atlassian).
      • JenkinsHudsonWerkzeug für die kontinuierliche Integration in der Softwareentwicklung.
      • Travis CISoftware für die kontinuierliche Integration von Softwareprojekten und für das Testen von Codes (Hersteller: Travis).
    • TexteditorenCode EditorProgramme, mit denen SoftwareentwicklerInnen Code schreiben können.
      • GNU EmacsTexteditor mit integrierter Variante der Programmiersprache Lisp ("elisp").
      • Sublime TextProprietärer Code Editor für MS Windows, Linux, und macOS.
      • VI editorVITexteditor für Unix-Systeme.
      • VimIndividuell konfigurierbarer Code Editor, der in den meisten UNIX- und macOS-Systemen inkludiert ist.
  • SoftwareplanungTeil der Softwareentwicklung, der sich u.a. mit der Erhebung der Anforderungen und der Erstellung von Lasten- und Pflichtenheften beschäftigt.
    • Entwicklung von User StoriesBeschreibung von Anforderungen aus Nutzersicht entwickeln; dabei soll erklärt werden, wie sich AnwenderInnen oder KundInnen eine Software wünschen.
    • IT-AufwandsschätzungAufwandschätzung (IT), Kostenschätzung (IT)Eine Abschätzung von Kosten, Personal-, Zeit- und Ressourcenbedarf im Rahmen der Softwareentwicklung.
      • Function-Point-MethodeEine Methode zur Bestimmung des Umfangs von EDV-Projekten. Sie kann Grundlage zur Aufwandsabschätzung liefern.
    • IT-LastenhefterstellungErstellung von Lastenheften, in denen alle Forderungen der AuftraggeberInnen an die Leistungen und Lieferungen der Auftragnehmerseite festgehalten sind.
    • IT-PflichtenhefterstellungErstellung eines Pflichtenheftes, in dem die AuftragnehmerInnen die Schritte zur Lösung der im Lastenheft festgehaltenen Anforderungen beschreiben.
    • PTC-Integrity Lifecycle ManagerPlattform für Software System Lifecycle Management (SSLM) und Application Lifecycle Management (ALM). Die Freigabe von Daten und die Verfolgbarkeit erfolgen automatisiert, was die Voraussetzungen für anwendungsübergreifende Zusammenarbeit im gesamten Produktlebenszyklus schaffen soll (Hersteller: PTC, Inc.).
    • Requirements EngineeringAnforderungsdefinition (IT), Anforderungsmanagement, Anforderungsverwaltung, Requirement Engineering, Requirementmanagement, Requirements Management, Software-Anforderungen, Technisches AnforderungsmanagementVerwaltung der Anforderungen bei technischen Projekten; dazu gehören u.a. die Erfassung der Anforderungen an das technische Produkt sowie die laufende Überprüfung, ob die Anforderungen erfüllt werden.
      • AnforderungsanalyseAnforderungserhebung, Requirements analysis, Requirements elicitationTeil des Requirements Engineerings, bei der die Anforderungen des Auftraggebers an das zu entwickelnde System ermittelt, strukturiert und geprüft werden.
      • AnforderungsdokumentationAnforderungsspezifikation, Requirements SpecificationDurchführung der nötigen Aktivitäten, welche zur fehlerfreien und qualitativ hochwertigen Dokumentation von Anforderungen notwendig sind.
      • AnforderungsvalidierungAnforderungsbewertung, Anforderungsprüfung und -abstimmung, Requirements validationBewertung der Anforderungen, transpartente Gestaltung des möglichen Realisierungsrisikos und Prüfung der festgelegten Nutzungsziele.
      • Erstellen von Kontext-DiagrammenDiagramme erstellen, die einen Überblick über den Datenfluss innerhalb eines technischen Systems geben. Sie definieren die Systemgrenze, zeigen die Schnittstelle zur Umgebung und die umgebenden Systeme, die mit dem System interagieren.
      • Erstellen von Product Backlog ItemsProduct BacklogGeordnete Liste über die Dinge, die zur Verbesserung des Produkts benötigt werden erstellen, z. B. Spezifikationen, Anforderungen, Epics, User Stories.
      • Requirements Traceability Rückverfolgbarkeit von AnforderungenVerfolgen von Anforderungen während des gesamten Produktentwicklungslebenszyklus. Dabei macht der dokumentierende Ausführungsstrang bei der Abarbeitung des Programms alle Aktivitäten rund um eine Anforderung sichtbar.
      • Schreiben von EpicsBeschreibung einer Anforderung an eine neue Software auf einer sehr allgemeine bzw. hohen Abstaktionsebene. Die Anforderungen werden dabei in der Alltagssprache verfasst (analog zu User-Storys).
    • Site Reliability EngineeringReihe von Grundsätzen und Praktiken, die angewandt werden, um Infrastruktur- und Betriebsprobleme zu vermeiden. Das Hauptziel ist die Schaffung skalierbarer und hochzuverlässiger Softwaresysteme.
    • Software Development Life CycleSDLCEin Plan, der beschreibt wie eine Software entwickelt, erhalten, ersetzt oder verbessert werden kann.
    • Solution ArchitekturSolution ArchitectureIT-Gesamtlösung erstellen, die die Bedürfnisse eines Unternehmens erfüllt und nahtlos in die bestehenden Systeme integriert werden kann. Dafür werden Software, Hardware, Netzwerke, Datenbanken und Geschäftsprozesse analysiert und mit allen Abteilungen im Unternehmen abgestimmt.
    • Systems EngineeringSystementwicklung, Systems Design, SystemtechnikEin Ansatz, um komplizierte Software-Systeme, die viele Funktionen haben sollen, zu entwerfen. Es werden alle notwendigen Funktionen ermittelt und vor dem Entwicklungsprozess festgelegt. Mit diesem Gesamtbild kann dann der Systementwurf erstellt werden.
  • SoftwareprogrammierungAnwendungsprogrammierung, Implementierungserfahrung, Programmieren, Programmieren (IT), Softwareimplementierung, SW-ProgrammierungProgrammcode schreiben, der ein funktionierendes Computerprogramm erschafft.
    • Code-DokumentationTechnische Beschreibung der einzelnen Funktionen eines Programmes.
    • Code-KonsolidierungKonsolidierung von Programmcode zur Qualitätssicherung bei der Softwareentwicklung.
    • CustomizingAnpassung von Computerprogrammen, Parameterdarstellung, Parametrierung, Parametrisierung, Software-Anpassung, Software-Parametrisierung, SoftwareadaptionAnpassung von Software, insbes. von Standardsoftware, an spezielle Aufgabenstellungen.
    • DebuggingBugfixing, Bugtracking, Programmierfehlerbehebung, Software Debugging, Software-DebuggingSystematische Überprüfung eines Programms bzw. einer Softwareapplikation, um Fehler zu entdecken und diese zu beheben.
    • Error handlingError Monitoring, FehlerbehandlungZuvorkommen, Erkennen und Lösen von Fehlern in Software.
    • Kernel-ProgrammierungProgrammierung im Bereich eines Betriebssystemkerns, also jenem Bestandteil eines Betriebssystems, der direkten Kontakt zur Hardware hat.
    • ProgrammierparadigmenGrundlegende Stile, welche die Art und Weise wie Programmiersprachen und die Programmierung mit ihnen funktioniert festlegen. Das betrifft z.B. die Art und Weise wie Daten und Anweisungen miteinander verbunden werden.
      • 4GL-ProgrammierungErstellung von Software mit Programmiersprachen der vierten Generation (fourth generation language). Diese sind darauf ausgerichtet, mit möglichst wenigen Codezeilen Funktionen oder komplette Anwendungen schreiben zu können.
      • Aspektorientierte ProgrammierungAOP, Aspect Orientated Programming, Aspect-oriented-ProgrammingProgrammierung, bei der verschiedene logische Aspekte eines Anwendungsprogramms getrennt voneinander entworfen, entwickelt und getestet werden.
      • Funktionale ProgrammierungProgrammierstil, bei dem Programme ausschließlich aus Funktionen bestehen, wie z.B. in den Programmiersprachen Haskell oder Scheme.
      • Komponentenorientierte ProgrammierungEntwicklung von Software, womit Softwarekomponenten mit streng definierten Schnittstellen erstellt werden können.
      • Normierte ProgrammierungEine Beschreibung einer standardisierten Programmablaufsteuerung, v.a. unter Berücksichtigung von Stapelverarbeitungsprogrammen in den 1960er-Jahren.
      • Objektorientierte ProgrammierungObject-oriented Developing, Object-oriented Programming, Objektorientierte Entwicklung, Objektorientierte Modellierung, Objektorientiertes Programmieren, OO-Programmiersprachen, OOPObjektorientierte Entwicklung unter Verwendung von Software-Objekten, d.h. Bündeln aus Attributen und darauf bezogenen Methoden.
        • Inversion of ControlIoC, IoC ContainerInversion of Control-Prinzip, verwendet in der objektorientierten Programmierung, insbesonders in der Programmiersprache Java.
        • UMLModellierung mit UML, UML 2, UMM, Unified Modeling Methodology, Unified Modelling LanguageStandardisierte Sprache für die Modellierung von Software und anderen Systemen.
          • Systems Modeling LanguageOMG SysML, SysMLAuf UML basierende standardisierte Sprache für die Modellierung von komplexen Systemen.
          • UML-DesignSoftware-Entwurf mit Hilfe von UML, der "Unified Modeling Language".
      • Paralleles ProgrammierenEntwicklungsmuster, nach dem Softwareprozesse parallel, also gleichzeitig, ablaufen. Durch die gleichzeitige Abarbeitung mehrerer Rechenoperationen erhofft man sich einen spürbaren Zugewinn an Effizienz im Workflow einer Applikation.
      • Prozedurale ProgrammierungProzedurale ProgrammierspracheProgrammieransatz, der Programme in kleinere Teilaufgaben aufspaltet; die entstehenden Teilprogramme werden als Prozeduren bezeichnet.
      • Strukturierte ProgrammierungStrukturierte SystemanalyseMethode, bei der Aufgaben durch wiederholtes Zusammensetzen von gelösten Teilproblemen bewältigt werden.
    • PrototypingPrototypenentwicklungEine Softwareentwicklungsmethode, bei der sehr rasch eine erste Programmversion entwickelt wird, die eine anschauliche Grundlage für die Weiterentwicklung bietet.
      • Horizontales PrototypingDie rasche Fertigstellung einer "Ebene" eines Software-Projektes, also z.B. der BenutzerInnenoberfläche.
      • Mock Up (Softwareentwicklung)Ein früher Prototyp der BenutzerInnenoberfläche.
      • Prototyping ProdukteSoftwaresysteme zur Unterstützung von Prototyping in der Softwareentwicklung.
      • Vertikales PrototypingEin rasche Fertigstellung eines kompletten Teils eines Software-Projektes.
    • ProzesssynchronisationMethode zur Kodierung des zeitlichen Ablaufs mehrerer nebenläufiger Prozesse bzw. Threads.
      • MutexMutex-Verfahren, Mutual Exclusion, Wechselseitiger AusschlussGruppe von Verfahren, die die gleichzeitige Benutzung bzw. Veränderung von Ressourcen (z.B. Datenstrukturen, Geräte) durch mehrere Prozesse oder Threads verhindern.
    • ReengineeringAnpassen eines Softwaresystems bzw. von Computerprogrammen bei meist gleichbleibender Funktionalität. Reengeneering dient meist der Verbesserung der Softwarequalität.
    • RefactoringSoftware-Weiterentwicklung, SoftwarerestrukturierungAdaptieren der internen Struktur einer Software, um sie leichter verständlich zu machen und einfacher zu verändern, ohne ihr beobachtbares Verhalten zu ändern.
    • Source Code Control ToolsVerwaltungstool zur Versionskontrolle bei Programmcodes.
    • Testen von KI-generierten Programm-CodesTesten von durch KI hergestellter Programm-Codes, z. B. auf virtuellen Umgebungen.
    • Windows-ProgrammierungSchreiben von Computerprogrammen im Betriebssystem Windows.
  • SoftwaretestsIT-Validierung, Software-Testing, Softwaretest, Test case development, Testen von SoftwareÜberprüfung von Teilen oder der Gesamtheit eines Softwareprodukts auf logische Fehlerfreiheit, Datensicherheit, Stabilität und Interaktion mit anderer Software.
    • AkzeptanztestAbnahmetest, UAT, User Acceptance Test, VerfahrenstestSoftwaretest, bei dem die gelieferte Software durch die KundInnen getestet wird. Akzeptanztests sind oft Voraussetzung für die Rechnungsstellung.
    • Automatisierte TestsAutomated Testing, TestautomatisierungAutomatisierung von Aktivitäten bei Software-Tests.
    • Black-Box-TestSoftwaretests, die die Funktionen einer Software testen soll, ohne die Programmierung des Systems zu kennen.
    • Code ReviewDurchsicht von Quelltexten, um etwaige Fehler oder Möglichkeiten zur Vereinfachung zu identifizieren.
    • Design neuer TestszenarienLogische Kombinationen an Testfällen, mit denen eine Software ihren Funktionen entsprechend getestet werden kann, entwerfen.
    • Disaster Recovery TestDisaster Recovery, Disaster Recovery Monitoring, Disaster Recovery PreparationDurchführung von Szenarien, die einen Ausfall wichtiger IT-Systeme simulieren.
    • Dokumentation von SoftwaretestsDokumentation von Test-Cases, Softwaretests dokumentierenSoftwareprüfungen hinsichtlich Fehlerfreiheit, Datensicherheit, Stabilität und Interaktion dokumentieren.
    • Durchführung von PerformancetestsStresstestsÜberprüfung einer Software hinsichtlich ihrer Leistung unter Minimalbedingungen.
    • Durchführung von SoftwaretestsDurchführung von Test-Cases, Softwaretests durchführenSoftware hinsichtlich Fehlerfreiheit, Datensicherheit, Stabilität und Interaktion prüfen.
    • Explorative SoftwaretestungAd-hoc-Tests (Software), Explorative Softwaretests, Exploratives Testen (Software)Methode der Softwaretestung, bei der es keine konkreten Vorgaben gibt, sondern die Software unsystematisch und intuitiv aus AnwenderInnensicht ausprobiert wird.
    • FunktionalitätstestsFunctional Tests, Funktionalitätstest, FunktionstestsÜberprüfung des Ablaufs und der Funktion eines Softwareprodukts in der gewünschten Art und Weise.
    • HP Quality CenterProgrammpaket für die Steuerung von Qualitätssicherungsprozessen und die Automatisierung von Softwaretests in der IT und in Applikationsumgebungen (Hersteller: HP).
    • IntegrationstestSoftwaretest, bei dem die Zusammenarbeit voneinander abhängiger Komponenten getestet wird.
    • LasttestÜberprüfung einer Software hinsichtlich ihrer Leistung unter der zu erwartenden bzw. einer bestimmten Auslastung, z.B. gleichzeitige Verwendung durch mehrere BenutzerInnen.
    • Optimierung von TestprozessenTest Process Improvement, TPIEin Testprozess besteht aus mehreren Testschritten, wie Planung, Durchführung, Protokollierung, etc. Diese werden entsprechend der Ergebnisse verbessert, korrigiert und effizienter gemacht.
    • Softwaretest-PlanungIT-Testplanung, IT-TeststrategieDie systematische Festlegung von Umfang, Vorgehensweise und Testfällen für Software-Tests.
      • Erstellen von Test-PlänenPläne erstellen, welche u.a. die Ressourcenplanung, den Aufbau einer Testumgebung, die Entwicklung der Teststrategie sowie Testpriorisierung umfassen.
      • Erstellung von TestfällenErstellung von Test-CasesTestfälle entsprechend den Anforderungen einer Software entwerfen und passende Tests darauf anwenden.
        • Implementierung automatisierter TestfälleDurchführen von automatisierten Testfällen und Einarbeitung der Verbesserungen und Änderungen im System.
      • Konzeption von Software-Test-StrategienErstellung von Teststrategien im Rahmen der Test-Planung.
    • Softwaretest-ToolsAutomatische TesttoolsHilfsmittel zur Durchführung von Software-Tests.
      • BrowserStackMobile und Cloud-Web-Testplattform zum Testen von Websites und mobilen Anwendungen.
      • Capture-/Replay-ToolsTools für automatisierte Tests bei der Softwareentwicklung.
      • eCATTSoftware-Testwerkzeug von SAP.
      • GaugeMit der Anwendung Gauge werden Testfälle geplant, spezifiziert, automatisiert, dokumentiert und optimiert.
      • INCARequirements-Engineering- und Testplanungs-Tool
      • JasmineOpen-Source-Test-Framework für JavaScript, das auf jeder JavaScript-fähigen Plattform läuft, weder in die Anwendung noch in die integrierte Entwicklungsumgebung eingreift und eine einfach zu lesende Syntax hat.
      • JUnitTestumgebung zum Testen von Java-Software.
        • CactusJUnit-basiertes Test-Framework für das Testen serverseitiger Java-Applikationen.
      • NUnitUnit-Test-Framework zur Validierung der Korrektheit von Softwaremodulen bei der Softwareentwicklung und -wartung.
      • PHPUnitIn der Programmiersprache PHP geschriebenes freies Framework zum Testen von PHP-Skripten, das besonders für automatisierte Tests einzelner Einheiten geeignet ist.
      • PMDTool für die statische Analyse von Java-Quellcodes.
      • PostmanPostman ist eine Anwendung, mit der ein gesamter Testprozess, von der Testplanung bis zum Testende, durchgeführt werden kann.
      • Ranorex StudioTestautomatisierungssoftware, die die Funktionen von GUIs (Grafische Benutzeroberfläche) überprüft. Kann für Apps, aber auch Desktop- und Browser-Software verwendet werden.
      • SchnittstellenmonitorSchnittstellenmonitoren dienen als Testtools für Fehlersuche und Protokollanalyse.
      • SeleniumFreies Softwaretool für das Testen von Webapplikationen.
      • SilkTestSegueTestsoftware für die automatisierte Qualitätssicherung von integrierten EDV-Lösungen im Business-Bereich (Hersteller: Borland).
      • SoapUIWerkzeug für Softwaretests im Bereich serviceorientierte Architektur. Wird v. a. für Tests von Webservices eingesetzt (Hersteller: SmartBear Software).
      • Specman EliteSoftware für die Testbench-Automation und Fehlerfindung (Hersteller: Cadence).
      • Stress test toolsWerkzeuge für die Überprüfung der Leistungsfähigkeit von Softwareprodukten unter hoher Belastung.
      • StyleCopSoftware zur Analyse von C#-Quellcodes (Hersteller: Microsoft).
      • Testmanagement-SoftwareTools zur Organisation und Verwaltung von Softwaretests.
      • TestNGFramework (Programmiergerüst) zum Testen von Java-Programmen.
    • Testen von ApplikationenTest von Applikationen, Überprüfung von ApplikationenÜberprüfen der Funktionen einer Anwendungssoftware.
    • Unit-TestKomponententest, Modultest, Unit Testing, Unit-TestsMethoden zur Validierung der Korrektheit von Softwaremodulen bei der Softwareentwicklung und -wartung.
    • Usability-TestsProdukttests durch NutzerInnenÜberprüfung der Benutzerfreundlichkeit und Gebrauchstauglichkeit von Hard- oder Software-Produkten.
    • User-Interface-TestsMechanismus, der dazu dient, die Aspekte einer Software zu testen, mit denen BenutzerInnen in Kontakt kommen.
    • White-Box-TestGlass-Box-TestSoftwaretests, die die Funktionen einer Software testen und die Programmierung des Systems berücksichtigen sollen.
  • Spezialgebiete SoftwareentwicklungSpezialisierung auf bestimmte SoftwareentwicklungsthemenEntwicklung von Computerprogrammen in einer speziellen Form oder für einen speziellen Zweck.
    • 3D-Grafik-Programmierung3D-Grafikerstellung, 3D-VisualisierungSimulation räumlicher Situationen mit Hilfe des Computers.
      • Direct3DDirect 3DProgrammierschnittstelle für 3D-Computergrafik (Hersteller: Microsoft).
      • GrafikprogrammierungErstellung von interaktiven Computergrafik-Anwendungen.
        • Grafische DatenverarbeitungTechnologie, mit der Bilder mit Hilfe von Rechnern erfasst bzw. erzeugt, verwaltet und in gewünschter Weise verändert und mit weiteren Daten in Verbindung gebracht werden können. Z. B. die computergestützte Integration und Verknüpfung dieser Bilder mit anderen Kommunikationsmedien, wie Audio, Sprache und Video.
    • Automatische BildverarbeitungAutomatische BilderkennungComputergestützte, automatische Verarbeitung von Bildinformation z.B. einer Videokamera, um für die Aufgabenstellung relevante Daten zu gewinnen, z.B. in der Verkehrsüberwachung.
    • Backend-EntwicklungEntwicklung des Backend-Bereichs in verteilten Systemen wie z.B. Client-Server-Anwendungen.
      • Backend-ProgrammierungBackend-Programmierung konzipiert und programmiert die Bereiche einer Webanwendung, die nahe am Server liegen oder im Hintergrund ablaufen.
    • CompilerbauErstellung und Weiterentwicklung von Übersetzungsprogrammen, die Programmtext in Maschinensprache umwandeln.
    • EchtzeitsteuerungEchtzeit-Programmierung, Echtzeitprogrammierung, Real-Time-Verfahren, Realtime-Programmierung, Zeitkritische AnwendungenSteuerung einer Anlage mit zeitkritischer Aufgabe.
      • Echtzeit-GrafikprogrammierungEchtzeit-RenderingProgrammierung von Grafiken, die in Echtzeit berechnet werden und so z.B. die verzögerungsfreie Anpassung von Objekten in virtuellen Räumen ermöglichen.
      • Echtzeitbetriebssystem-ProgrammierungProgrammierung in Echtzeitbetriebssystemen für zeitkritische Aufgaben
      • Zeitgesteuerte SystemeGestaltungsweise von Echtzeitbetriebssystemen. Ein festgelegter Zeitplan bestimmt, wann welcher Prozess gestartet wird.
    • Entwicklung von AppsApp-Entwicklung, Entwicklung von ApplikationenKonzeption, Programmierung und Testung von (kleinen) Anwendungen für Mobilfunkgeräte, Tablet-Computer etc.
      • Entwicklung von Android-AppsEntwicklung von Android-ApplikationenEntwicklung von Anwendungen (Apps) für mobile Geräte mit dem Betriebssystem Android.
      • Entwicklung von Apple-AppsEntwicklung von Apple-ApplikationenEntwicklung von Anwendungen (Apps) für mobile Apple-Geräte wie z.B. iPhones oder iPads.
      • Entwicklung von Windows-AppsEntwicklung von Windows-ApplikationenEntwicklung von Anwendungen (Apps) für mobile Geräte mit dem Betriebssystem Windows.
      • Programmierung von AppsProgrammierung von ApplikationenVerfassen eines Programmcodes für Anwendungssoftware, die eine bestimmte Funktion für die UserInnen hat, wie z. B. Textverarbeitungsprogramme oder Anwendungen für Kommunikationsplattformen.
    • Entwicklung von betriebsinterner SoftwareKonzern-Software, Konzernapplikationen, KonzernlösungenProgrammieren von Software, die nach den Anforderungen eines großen Unternehmens bzw. eines Konzerns angefertigt wird.
    • Entwicklung von CAD-SoftwareComputerunterstütztes Konstruieren und Zeichnen.
    • Entwicklung von ChatbotsEntwicklung von Chat RoboternBei Online-Shops und Unternehmen, die automatisiert mit ihren KundInnen kommunizieren möchten, werden oft Chatbots eingesetzt. Diese erkennen gestellte Fragen und geben vorprogrammierte Antworten.
    • Entwicklung von Chipkarten-SoftwareChipkarte, ICC, Integrated Circuit Card, Smart Card, SmartcardEntwicklung diverser Chipkarten-Software, z.B. zur Identifikation.
      • Berührungsfrei arbeitende ChipkartensystemeKontaktfrei arbeitende Mikroprozessor-Chip-KarteEntwicklung von kontaktfrei arbeitenden Mikroprozessor-Chip-Karten.
      • Cryptographic Token Interface StandardPKCS #11, Public Key Cryptography Standard #11Dieser Standard definiert eine Programmierschnittstelle für den Zugriff auf Chipkarten/Smartcards, die z.B. in Bankomatkarten eingebaut sind.
      • CSPCryptographic Service ProviderSoftwaremodul Cryptographic Service Provider als Windows-Standardschnittstelle zu Chipkartenlesegeräten.
      • Smart Card Operating SystemsSmart-Card-BetriebssystemeSoftware für Smart Cards, die jene Systemprogramme enthält, die der Steuerung und Verwaltung von Hardware und Anwendungsprogrammen dient.
      • Smart Card ProtokolleProtokolle für den Datenaustausch zwischen Smart Card und Chipkartenterminal.
    • Entwicklung von cyber-physischen SystemenCyber-phyische Systeme entwickelnSysteme, bei denen mechanische und digitale Komponenten oder ganze Systeme verbunden sind, entwickeln. Dabei erfolgen Datenaustausch und -transfer über ein Netzwerk oder Internet in Echtzeit.
    • Entwicklung von Finanztechnologie-AnwendungenEntwicklung von Anwendungsprogrammen im Bereich der Finanzdienstleistungen, die u.a. neue Möglichkeiten der Bezahlung (z.B. Mobile Payment) oder Finanzierung (z.B. Peer-to-Peer Lending) bieten.
    • Entwicklung von FirmwareSpezielle Betriebssysteme für Hardwarekomponenten und Peripheriegeräte, die z.B. auf Flash-ROMs oder EEPROMs gespeichert sind, was eine Anpassung der Software durch Updates ermöglicht.
      • BIOS-ProgrammierungProgrammierung von Basic Input Output Systemen; das sind Programme, die in einem nichtflüchtigen Speicher auf der Hauptplatine eines Personal Computers abgelegt sind und z.B. unmittelbar nach dessen Einschalten den Start des Betriebssystems einleiten.
    • Entwicklung von MessprogrammenEntwicklung von Messsoftware, Erstellung von Messprogrammen, Programmieren von MessprogrammenProgramme zur Erfassung, Aufbereitung, Analyse und Darstellung von Messungen entwicklen bzw. programmieren.
      • Einfahren von MessprogrammenEinfahren von Messsoftware
      • Optimieren von MessprogrammenOptimieren von MesssoftwareVerbesserung der Qualität von Messprogrammen.
    • Entwicklung von PortalenPortalmanagementEntwicklung und Wartung von zumeist webbasierten Portalen, die einen zentralen Zugriff auf personalisierte Inhalte und Anwendungen ermöglichen.
    • Entwicklung von SystemsoftwareSystem-Programmierung, Systemprogrammierung, SystemsoftwareentwicklungEntwicklung von Programmen, die sämtliche Abläufe bei Betrieb eines Rechners steuern.
    • Entwicklung von WebapplikationenApplikationsentwicklung, Applikationsmanagement, Webapplikationen, Webbasierte SoftwareentwicklungEntwerfen und umsetzen von Anwendungssoftware, die eine bestimmte Funktion für die UserInnen hat, wie z. B. Textverarbeitungsprogramme oder Anwendungen für Kommunikationsplattformen.
      • Apache VelocityJava-basierte objektorientierte Programmierplattform für die Webseiten-Programmierung.
      • Google Web ToolkitGWTOpen-Source-Werkzeug für die Entwicklung von Browser-basierten Anwendungen.
      • Oracle WebformsAnwendung für die Entwicklung von Webanwendungen (Hersteller: Oracle).
      • Programmierung von WebapplikationenVerfassen eines Programmcodes für Online-Anwendungen, wie z. B. Online-Mail-Programme, auf die über einen Webbrowser zugegriffen wird und die nicht lokal auf dem Computer gespeichert sind.
    • Fehlertolerante SystemeSoftware, bei der der Algorithmus über zwei oder mehr unterschiedliche Wege realisiert wird, um Fehler, wie z.B. Programmabstürze, zu vermeiden.
    • Frontend-EntwicklungClient Tier, Front-End, Frontend, Frontend-Programmierung, PräsentationsschichtEntwicklung jener Software-Teile, die nahe an den BentzerInnen ist, also z.B. Eingabemasken.
    • Hardwarenahe SoftwareentwicklungHardware-Programmierung, Hardwarenahe ProgrammierungBei der hardwarenahen Softwareentwicklung wird die Software speziell für ein bestimmtes Gerät entwickelt und darauf eingebettet – mit anderer Hardware ist sie nicht kompatibel.
      • GrafikkartenprogrammierungGPU-Programmierung, Grafikkarten-Programmierung
    • Maschinennahe ProgrammierungProgrammierung, welche stark auf die speziellen Möglichkeiten der zugrundliegenden Hardware zugreift.
      • AssemblerprogrammierungDie Programmierung von Prozessoren in deren Maschinensprache unter zu Hilfenahme spezieller einfacher Programmiersprachen.
    • MetaprogrammierungMeta-ProgrammierungProgrammierung von Programmierung. Dabei wird der Programmcode von einem anderen Programmcode erzeugt.
    • Mobile ComputingSoftwareentwicklung für mobile EndgeräteTechnische Bereich von Anwendungen für tragbare Computer und Kommunikationsgeräte, z. B. auf Laptops oder Mobiltelefonen.
      • Entwicklung von Mobile-Computing-LösungenPlanen von mobiler Kommunikation und Datenübertragung, z. B. von Mobiltelefonen oder Laptops.
    • PortierungErstellen jener Programme, die eine Software, das unter einem bestimmten Betriebssystem, einer Betriebssystemversion oder Hardware abläuft, auch auf anderen Betriebssystemen, anderen Versionen oder anderer Hardware lauffähig machen.
      • Portierung von 32-Bit-Applikationen auf 64-Bit-ArchitekturenUmwandeln von Programmen, die ursprünglich 32-Bit-Softwareapplikationen waren, damit sie auf 64-Bit-Architekturen funktionieren.
    • Programmierung von AutomatenAutomaten programmierenProgrammieren von Automaten mithilfe diverser Programmiersprachen.
    • Programmierung von BankensoftwareErstellung von Programmen für den Einsatz in Bank- und Kreditinstituten.
    • Programmierung von MakrosProgrammierung kleiner, oft wiederkehrender Programmabschnitte.
    • Programmierung von MikroprozessorenuC-ProgrammierungSoftwareentwicklung zur Steuerung der Bausteine, die als Steuer- und Rechenwerk eines Computers funktionieren.
    • Programmierung von MultimediaMultimedia-SoftwareentwicklungProgrammierung von Anwendungen, die mehrere digitale Medien beinhalten, z.B. Text, Fotografie, Grafik, Animation, Audio und Video.
      • DirectXDirectX MediaSoftwaretool zur Programmierung von Graphik, Ton und 3D-Animation.
        • HLSLHigh Level Shader LanguageHigh Level Shading Language, eine von Microsoft entwickelte Programmiersprache. Wird verwendet, um zu programmieren, wie 3D-Objekte in Direct3D-Spielen und -Programmen angezeigt werden.
      • Flash-ProgrammierungProgrammieren vektororientierter Grafiken und Animationen in HTML-Seiten mit der Flash-Software von Macromedia.
        • ActionScriptAction Script, ActionScript 1, ActionScript 2, AS1, AS2, AS3, Flash Actionscript 2.0, Flash AS2.0Programmiersprache für Multimedia-Anwendungen.
    • Programmierung von NetzwerkenProgrammieren von Netzwerken, meist mit der Programmiersprache C.
      • Extranet-ProgrammierungEinrichten von Netzwerken zwischen verschiedenen Unternehmen.
    • Programmierung von PatchesPatchprogrammierungProgrammieren kleiner Programme, die zur Fehlerbehebung von bereits fertiggestellter Software dienen.
    • Programmierung von PluginsPluginProgrammieren von Ergänzungs- oder Zusatzmodulen, die in ein Softwareprodukt "eingeklinkt" werden, um dessen Funktionalität zu erweitern.
    • Programmierung von SchnittstellenEntwicklung von Schnittstellen, Interface-Programmierung, Interfacetechnologien, SchnittstellenprogrammierungEntwicklung von Programmen, mit denen verschiedene Hard- und/oder Softwarekomponenten untereinander kommunizieren.
      • Bluetooth-ProgrammierungErstellung von Computerprogrammen für Bluetoothanwendungen.
      • Schnittstellen-DesignAPI-Design, Interface Design, SchnittstellendesignGestaltung einer Benutzeroberfläche, mit der der Mensch mit einer Maschine interagiert, z. B. ein Touchscreen bei einem Kaffeeautomaten oder eine App zur Lichtsteuerung. Diese Schnittstelle sollte so gestaltet sein, dass sie einfach und verständlich zu bedienen ist.
    • Programmierung von ScriptsScript-Programmierung, Skript-Programmierung, Skripting-KenntnisseErstellung eines Satzes von Befehlen in einer interpretierten Sprache, der dazu dient, ein anderes Programm zu steuern.
      • Batch-ProgrammierungBatch-Programme erstellen, Programmierung von Batch-Abläufen, Programmierung von Batch-DateienProgrammieren von zeitaufwendigen Routinearbeiten.
      • OSAOpen Scripting ArchitectureOpen Scripting Architecture zur Ermöglichung des gleichzeitigen Umgangs mit verschiedenen Script-Sprachen.
      • Shell-ProgrammierungPowershell scripting, Shell, Shell-ScriptingProgrammierung des Teils der Benutzeroberfläche eines Betriebssystems, innerhalb dessen Steuerungssequenzen ablaufen.
    • Programmierung von SimulationssoftwareErstellung von Simulationsmodellen, Simulationsmodelle erstellenRelevante mathematische Methoden und Algorithmen für Computersimulationen sowie grafische Darstellung.
    • Programmierung von SocketsProgrammierung von Kommunikationsendpunkten bei der Softwareentwicklung in Client-Server-Systemen.
    • Programmierung von Software-AgentsAgentEntwicklung jener Computerprogramme, die weitgehend unabhängig von Benutzereingriffen arbeiten und Aktionen aufgrund eigener Initiative auslösen, auf Änderung der Umgebung reagieren und mit anderen Agenten kommunizieren können.
    • Programmierung von TreibernGerätetreiber, Treiber, TreiberprogrammierungErstellung bzw. Konfigurierung von Software, die es Hardwarekomponenten wie z.B. Festplatten oder Druckern ermöglicht mit einem Computer zu kommunizieren.
    • Semantische TechnologienSemantisches Netzwerk, Semantisches Netzwerk Service, SNSSpeicherung der Bedeutung von Daten in maschinenlesbarer Form und Verknüpfung von Daten anhand ihrer Bedeutung.
      • Automatische SprachverarbeitungComputergestützte Umsetzung von gesprochener Sprache in Steuerbefehle oder Text; z.B. Sprachsteuerungen von Telefondiensten oder das Diktieren eines Textes direkt in den Computer.
      • Semantisches WebSemantic WebErweiterung des World Wide Web um maschinenlesbare Daten, welche die Semantik der Inhalte formal festlegen.
    • Serverseitige ProgrammierungServer-Know-how, Server-ProgrammierungProgrammieren von Software, bei der ein Server (Anbieter), einen Dienst (Service) anbietet.
    • Softwareentwicklung für die AutomobilindustrieEntwicklung von Software für Fahrzeuge.
    • Softwareentwicklung für Embedded SystemsEmbedded Design, Embedded Programmierung, Embedded Softwareentwicklung, Embedded Systems Programmieren, Embedded-Systems-Programmierung, Programmierung für Embedded Systems, Programmierung in Embedded SystemsEntwicklung von Software für intelligente elektronische Systeme.
  • UI-EntwicklungBenutzerschnittstellen entwickeln, Entwicklung von Benutzerschnittstellen, UI Design, User Interface Design, User Interface-EntwicklungIm UI-Design bzw. in der User-Interface-Entwicklung werden visuelle Elemente erstellt, über die User mit einem Produkt oder Service interagieren können.
    • Balsamiq MockupsUser Interface Design Tool zum Erstellen von digitalen Skizzen von Produktideen, um die Diskussion und das Verständnis vor dem Schreiben des Codes zu erleichtern.
    • Design barrierefreier WebseitenDie Gestaltung von möglichst unabhängig von körperlichen oder technischen Einschränkungen zugänglichen Internet-Seiten, insbesondere für Menschen mit körperlichen Einschränkungen (z.B. Sehschwäche) oder Behinderungen.
    • FlutterOpen-Source-UI-Entwicklungs-Kit mit dem sowohl Apps für Android als auch Apps für iOS oder für andere Plattformen gleichzeitig entwickelt werden können (Hersteller: Google).
    • GUIGrafische Benutzerschnittstelle, Graphic User Interface, Graphical User InterfacesEntwicklung von Graphic User Interfaces, also der grafischen Benutzeroberfläche von Computerprogrammen.
      • GnomeGNU Network Object Model Environment; eine grafische Benutzeroberfläche für Unix und Unix-artige Betriebssysteme, wie z.B. LINUX.
      • GUI-TestsTesten von grafischen Benutzeroberflächen hinsichtlich der Einhaltung der Spezifikationen.
      • Microsoft User Interface GuidelinesMS User Interface GuidelinesGuidelines für das Design von Benutzerschnittstellen bei der Softwareentwicklung.
    • Human-Machine Interface (HMI)Benutzerschnittstelle, Design von BenutzerInnen-Interfaces, GUI-Programmierung, Mensch-Maschine-Schnittstelle, UID, UsabilityGestaltung der Bedienungsoberfläche von EDV-Anlagen; umfasst hard- und softwareseitige Aspekte, wird aber meist auf die grafische Gestaltung sowie die Möglichkeiten der Interaktion mit dem Computer bezogen.
    • Sencha Ext JSJavaScript- bzw. Ajax-Framework für interaktive Webanwendungen (Hersteller: Sencha).
    • ThreadKlasse zur Implementierung von Benutzerschnittstellen bei der Softwareentwicklung.

Verwandtschaftsbeziehungen dieser beruflichen Kompetenz und ihrer Unterbegriffe

Berufliche Kompetenz: ... ist verwandt mit:
Softwareentwicklungskenntnisse
CSSLP
Datenbankkenntnisse
MCAD
MCPD
MCSD
Migration (Informationstechnologie)
Programmiersprachen-Kenntnisse
Docker
Containervirtualisierung
Echtzeitbetriebssystem-Programmierung
Echtzeitbetriebssysteme
Entwicklung von Chipkarten-Software
Bürgerkarten-Software
Entwicklung von cyber-physischen Systemen
Digitalisierung von Produktionsprozessen
Zertifikat SpezialistIn für Cyber Physische Arbeitssysteme
weitere anzeigen (30)
Verwandschaftsbeziehungen gering mittel hoch
der Kompetenz LINKS zur Kompetenz RECHTS:
der Kompetenz RECHTS zur Kompetenz LINKS:

Gefragt sind berufliche Kompetenzen aus dem Bereich Softwareentwicklungskenntnisse in folgenden Berufen:

Berufliche Kompetenz:... ist gefragt bei:
3D-Grafik-ProgrammierungGrafikerIn
MedientechnikerIn
Android StudioSoftwareentwicklerIn
AnforderungsanalyseRequirements Engineer (m/w)
AnforderungsdokumentationWirtschaftsinformatikerIn
Application ManagementAnwendungsbetreuerIn
IT-ProjektmanagerIn
SAP-BeraterIn
weitere anzeigen (125)

Diese Seite wurde aktualisiert am: 07. November 2024 V2.7.0.0