Software-Tipps

Entwicklungsumgebungen Auswahlkriterien


Typische Funktionen und Tipps zur Auswahl von Entwicklungsumgebungen

Beachten Sie bitte auch die aktuelle Marktübersicht der Softwarelösungen und Erklärungen zum Thema Entwicklungsumgebung (IDE), Low Code Plattform

Ergänzend zu den allgemeinen Kriterien zur Bewertung von Software in den vorangegangenen Abschnitten haben wir hier spezifische Kriterien für die Bewertung von integrierten Entwicklungsumgebungen beschrieben:

  • Spezieller Texteditor, der für die Syntax einer oder mehrerer Programmiersprachen optimiert ist. Dieses ist auch unter "Syntax Highlighting" bekannt. Somit ist gewährleistet, mit der Entwicklungsumgebung mit und für mehrere Programmier-, Skript- oder Markuprachen zu entwickeln, da interne Funktionen, Variablen, Klassen, Konstanten, benutzerdefinierte Funktionen etc. verschiedenfarbig eingefärbt, hervorgehoben und in einer anderen Schrift und Schrift-Stil dargestellt werden.
  • Das gezielte Setzen von Sprungmarken, die zur schnelleren Navigation im Programmquellcode genutzt werden können, hilft Ihnen in einem großen Quellcode-Dokument stets den Überblick zu behalten. Mit Hilfe von Ihnen kann von einer Stelle im Quellcode zur anderen Stelle gesprungen werden, ohne umständlich durch das Dokument zu navigieren.
  • Automatisierte Einrückungen und andere Strukturierungshilfsmittel, die zur Übersichtlichkeit des Quellcodes beitragen wie z.B. Code-Folding, Code-Assistenz in Form von Code-Vorlagen (Schablonen), Code-Formatierer (Code-Formatierung) oder Code-Completion (Funktion zur Auto-Vervollständigung) usw. helfen dem Entwickler, schnell und effizient zu arbeiten.
  • Syntaxprüfung zur Unterstützung der Codierung. Dieses hilft Fehler direkt bei der Eingabe von Sprachkonstrukten oder bekannte Ressourcen wie z.B. Variablennamen zu vermeiden. So müssen Sie nicht erst den Code kompilieren (sofern es sich um eine Programmiersprache mit Compiler und Linker handelt) um zu sehen, ob ein Fehler entstanden ist. Stellen Sie sicher, dass dieses Ihre IDE unterstützt.
  • Überprüfen Sie, ob der IDE je nach Anwendungs- und Einsatzzweck ein Compiler, Linker oder Interpreter beiliegt oder ob Sie auf externe Lösungen angewiesen sind. Sollte der IDE ein Compiler, Linker und Interpreter beilegen, so muss nicht erst noch nach anderen Software-Lösungen separat gesucht werden, die u.a. weitere Lizenzgebühren erfordern.
  • Bietet die Umgebung die Möglichkeit, Code aus der IDE heraus zu Debuggen? Mit dem Debuggen ist die Analyse von Variablenzuständen während einer simulierten Laufzeit gemeint. Dabei kann Schrittweise der Code durch Tastenkombination und Mausklick abgearbeitet werden, Prozeduren einfach übersprungen werden oder einfach nur Haltemarken gesetzt werden, wo die Programmausführung pausiert wird. Ein Debugger ist ein Hilfsmittel bei der Fehlersuche bei logischen Fehlern, die in der Programmierung entstehen können.
  • Bietet die Umgebung die Möglichkeit Code direkt aus der Programmoberfläche zu kompilieren? Mit dem Kompilieren ist im Grunde genommen das Übersetzen vom Quellcode in ausführbaren Programmcode gemeint. So müssen Sie nicht über ein separates Fenster oder eine andere Anwendung das Programm kompilieren. Es bringt Vorteile, da z.B. dabei vielleicht auch Fehler direkt im Quellcode markiert werden, Hinweise gesammelt oder ausgegeben werden können.
  • Kann direkt aus der Oberfläche der IDE das Programm deployed werden? Mit Deployen wird das Ausrollen und die Verteilung der Anwendung auf verschiedene Rechnersysteme bezeichnet. Dabei werden benötigte Bibliotheken meist direkt mitinstalliert und konfiguriert, Konfigurationsdateien automatisch erstellt und Verknüpfungen gesetzt. Die direkte Unterstützung birgt den Vorteil, dass auf keine externe Lösung gesetzt werden muss, die neue Lizenzgebühren oder spezielle Schulungen erfordert.
  • Inwieweit lässt sich das Arbeiten in der IDE selber gestalten? Dieses wird durch Tastenkombinationen, Markierung, Makros uvm. erreicht. Dabei kann auch von der Anpassbarkeit der IDE gesprochen werden, sofern Programmroutinen des öfteren ausgeführt werden müssen, die sich in unzähligen Untermenüs verstecken. Müssen bestimmte Stile in der IDE eingehalten werden?
  • Ist ein Profiler in der IDE vorhanden? Ein Profiler ist ein Werkzeug, das die Code-Ausführungsgeschwindigkeit analysiert und kritische Routinen oder Wege innerhalb eines Quellcodes aufzeigt, analysiert und Lösungsmöglichkeiten vorschlägt.
  • Ist ein Masken- bzw. Dialogeditor zur Oberflächengestaltung vorhanden? Zur Gestaltung von Programmoberflächen erleichtern Maskeneditoren die Arbeit, da andernfalls jeder Dialog individuell und händisch programmiert werden müsste.
  • Prüfen Sie, ob man mit der IDE auch plattformunabhängige Software erstellen kann. Damit kann sichergestellt werden, dass die Applikation auch auf verschiedenen Hardware-Plattformen1 oder Betriebssystemen läuft.
  • Vorhandene Makros und die Möglichkeit zur Erstellung eigener Makros erleichtern das Arbeiten mit der IDE. Makros sind entweder selbstgeschriebene kleine Programme oder aufgenommene Automatismen, die in diversen Situationen manuell oder automatisch ausgeführt werden können, um dem Entwickler bei der Implementierung zu helfen.
  • Bringen Sie in Erfahrung, ob die IDE eine Anbindung an ein Versionsverwaltungsystem unterstützt. Dabei sollte sicher gestellt sein, dass die IDE nahtlos an einer zentralen oder verteilten Versionsverwaltung eingesetzt werden kann und darüber hinaus noch weitere Funktionen wie z.B. für das Konfliktmanagement2 , Tools für Revisions-/Archivkontrolle3 oder Administrations-Werkzeugen4 bietet.5
  • Code Coverage Tools (auch Test Coverage) dienen zur Messung der Testabdeckung und sind ein beliebtes Instrument in der Softwaretechnik, um genauere Qualitätsaussagen über getestete Codes zu machen. Bietet die IDE dafür Unterstützung an? Stellen Sie fest, ob Testabdeckung für Sie eine Rolle spielt.
  • Fragen Sie, ob die IDE Paketierungssysteme für die Software-Verteilung wie z.B. Windows Installer, InstallShield, Nullsoft Install System, Debian Deb-Package, RPM-Package oder Portage eine Archiverstellung bereitstellt. Dieses ist wichtig, wenn Sie planen die Software auf mehrere Rechnersysteme zu verteilen. Die Paketierungssysteme helfen dabei die Applikation für die Zielplattform nötige Ausführung startfähig zu machen. Das heißt, dass z.B. benötigte Bibliotheken installiert und konfiguriert werden.
  • Remote File Handling sollte für diverse Protokolle zur Verfügung stehen. So können Quellcode, Dateien im Netzwerk oder im Internet über verschiedene Protokolle bzw. Dienste verwendet werden.
  • Ist gewährleistet, dass aus der IDE gesehen werden kann, wo ein Software-Bug gemeldet wurde oder wo der Entwickler mit Hilfe einer bestimmten Notation eine neue Aufgabe festgelegt hat? Bietet die IDE die Anbindung an Bugtracker- sowie Ticketsysteme? Dies dient zum Beispiel zu Dokumentationszwecken bzw. Workflowmanagement.
  • Sind Modellier bzw. Modeling-Tools in der IDE vorhanden, um Code-Ablaufsequenzen oder Sachverhalte in Form von Diagrammen zu erstellen? Dabei gibt es sehr viele Arten an Modeling-Tools wie z.B. Struktogramm-6 , PAP-7 und UML8 -Editoren.
  • Betrachten Sie die Möglichkeiten Quellcode aus bestehenden Diagrammen automatisch zu generieren9 oder aus Quellcode Diagramme zu erstellen.10 Dieses könnte wichtig sein, um Code aus bestehender Dokumentation oder um Dokumentation aus bestehendem Quellcode zu erzeugen.
  • Fragen Sie nach internen Werkzeugen zur Durchführung diverser Testarten. Zweckmäßigerweise bietet die Software Hilfen für Modul-11 , Integrations-Tests und Ähnlichem an. Das Testen ist innerhalb der Software-Entwicklung eines der wichtigsten Punkte.

1 ARM (Advanced Reduced Instruction Set Computer Machines), X86 (Prozessor-Architektur), IBM Cell (Prozessoren), Sparc (Hardware-Architektur) etc.
2 Tools zur Differenzierten Anzeige von mehreren Code-Revisionen mit seinen Unterschieden bei Änderungen und Konflikten, Wiederherstellung von Code aus alten Versionen
3 Nachverfolgung-Funktionen zur Suche nach Änderungen in den unterschiedlichen Revisionen,
4 Kopieerstellung (Clone), Zweigerstellung (Branching), Importieren bestehender Ressourcen, Benutzerverwaltung
5 vgl. auch Schütze, Jan Verteilte Versionsverwaltung, aufgerufen am 18.08.2017
6 vgl. auch Pellatz, Jochen , aufgerufen am 18.08.2017
7 Programm-Ablauf-Pläne bzw. Flussdiagramme
8 Unified Modeling Language
vgl. auch Softwareentwicklung mit UML, Ulrich Witte, T-Systems, aufgerufen am 18.08.2017
9 auch Code Reverse Engineering genannt.
10 auch Code Forward Engineering genannt.
11 vgl. auch Modellbasierte Modultest technischer Softwaresysteme, Dissertation zur Erlangung des akademischen Grades "Doktor der Ingenieurwissenschaften" (Dr.-Ing.) in der Wissenschaftsdisziplin Softwaretechnik, Mathematisch-Naturwissenschaftlichen Fakultät der Universität Potsdam, Christopher Robinson-Mallett, aufgerufen am 18.08.2017