Software-Tipps

Programmiertools, Entwicklertools


Typische Funktionen und Tipps zur Auswahl von Programmiertools und Entwicklertools

Beachten Sie bitte auch die aktuelle Marktübersicht der Softwarelösungen und Erklärungen zum Thema Programmiertools, Entwicklertools

Ergänzend zu den allgemeinen Kriterien zur Bewertung von Software in den vorangegangenen Abschnitten haben wir hier spezifische Kriterien für die Bewertung von Programmierung und Softwareentwicklung erläutert:

  • Quelltexteditor bzw. Texteditor zur Erstellung des Ursprungscodes für das jeweilige Programm oder die jeweilige Anwendung die erstellt wird.
  • Codegenerator, der Programmcodes aus strukturierten Entwurfsdokumenten, z.B.1 Struktogrammen, automatisch generiert.
  • Compiler zum Übersetzen von Quell- in einen maschinell ausführbaren Maschinencode.
  • Linker,2 der einzelne Programmmodule zu einem ausführbaren Programm zusammenstellen kann, wird nicht immer bei allen Lösungen mitgeliefert.
  • Funktionen zum Debuggen3 von Programmen. Debugger finden und diagnostizieren logische (vom Entwickler verursachte Fehler), sowie auch systembedingte Fehler in Computerprogrammen.
  • GUI- oder Maskeneditoren zum Erstellen von grafischen Oberflächen.4 Dieses dient auch zur Identifizierung von Speicherlecks5 oder Puffer-/Speicherüberläufen.6
  • Versionsverwaltungen in Form von Quellcode-Verwaltungssystemen, welche oft bei mehreren Programmierern und mehreren Entwicklungsteams eingesetzt werden, dienen dazu, Redundanzen und Fehler bei gleichzeitiger Bearbeitung von Quellcode zu vermeiden. Zudem ist es möglich, verschiedene Versionen eines Quellcodes mit all seinen Änderungen in Revisionen (Abschnitte), Zweige, Arbeitskopien zu unterteilen und somit besser zu managen. Heutzutage gebräuchliche Systeme sind SVN, Git u. v. m.
  • Möglichkeiten zur Projektverwaltung durch sogenannte Projektmanagement-Software.7
  • Funktionen zur Unterschiedsbetrachtung bei zwei oder mehreren Dateien, um diese binär oder auch in ASCII-Form zu betrachten und deren Unterschiede aufzuschlüsseln.
  • Möglichkeiten zum Erstellen von UML-Diagrammen8 für Software-Projekte.
  • Fragen Sie nach Datenbankmanagement-Tools zur Verwaltung, Erzeugen von Datenbanken und Ausführung von SQL-Statements 9
  • Funktionen zur Erstellung von Prüfsummen in verschiedenen Formaten bspw. nach dem MD510 - oder SHA.11
  • Bietet die Software ein Hilfswerkzeug an, um reguläre Suchausdrücke12 zu überprüfen und direkt in den Zielquellcode zu übersetzen?
  • Wenn Sie direkt mit der Microsoft Schnittstelle für das Grafiksystem GDI13 oder GDI+ arbeiten möchten, um Grafik und formatierten Text auf dem Monitor oder Drucker auszugeben, so müssen Sie unter Windows auf diese Windows-API zurückgreifen.
  • Das Durchsuchen von .dll und .exe Dateitypen mit Hilfe von Disassemblern14 und Hexeditoren15 werden meist bei hardwarenaher Programmierung oder bei der Fehlersuche eingesetzt. Auch bieten diese Tools die Möglichkeit, den Arbeitsspeicher und/oder den Datenträger direkt anzuzeigen, um dort Änderungen durchzuführen. Dieses sollte allerdings nur von Fachpersonal durchgeführt werden!
  • Sollten Sie eine Software-Lösung suchen, die den Quellcode von interpretierten Sprachen verschlüsselt, so sollten Sie auf sogenannte Code-Encrypter achten.
  • Eventuell sind PDF zu HTML Wandler bzw. Konvertierer wichtige Optionen, um vorliegende, ausdruckbare PDF-Dokumente in HTML umzuwandeln, um diese z.B. im Internet und Intranet zur Verfügung zu stellen.
  • QR-Code16 Generator zur Bearbeitung bzw. Erstellung von zweidimensionalen Codes, damit diese von tragbaren Medien wie Handys oder Tablets eingelesen werden können. Hinter QR-Codes können verschiedene Informationen hinterlegt werden. Meist beispielsweise URLs.
  • Achten Sie auf Optionen bzw. Funktionen zum Lizenzschutz (DRM-Systeme17 ) für selbstgeschriebene Programme oder diverse Dateiformate. Beispielsweise für Videos, Bilder und/oder Datenträger.
  • XML-Editor-Funktionen für übersichtliches Arbeiten an XML gestützten Markupcode.
  • Überprüfen Sie, ob Funktionen zur Datenkonvertierung notwendig sind. Eine Datenkonvertierung wandelt in der Regel ein Datenformat wie z.B. eine CSV-Datei18 in eine XLS-Datei19 um. Viele Dateiformate sind für Import- und Export Funktionen wichtig.20

1 vgl. auch Pellatz, Jochen Struktogramme lesen, verstehen und entwickeln, aufgerufen am 11.09.2017
2 Auch Binder genannt
3 vgl. auch Vorlesung Softwaretest und -debugging, Dr. Carsten Gnörlich, Technische Fakultät Universität Bielefeld, aufgerufen am 11.09.2017
4 Siehe auch: 3 Benutzeroberfläche
  • Analysefunktionen um z.B. Systemaufrufe verfolgen zu können, z.B. STRACE.STRACE ist ein Tool, welches Systemaufrufe während der Programmlaufzeit anzeigt.
    vgl. auch Linux-UNIX-Programmierung, Galileo openbook, Galileo Press GmbH 2006, aufgerufen am 11.09.2017
  • 5 auch Memory leaks genannt
    vgl. auch Wikipedia Artikel: Speicherleck, aufgerufen am 11.09.2017
    6 auch bekannt als Buffer-/Memory overflow
    Übungen zur Vorlesung Systemsicherheit / Buffer Overflows, Tilo Müller, Reinhard Tartler, Michael Gernoth, Lehrstuhl Informatik 1 +4, Friedrich-Alexander-Universität Erlangen-Nürnberg
    7 vgl. auch 8.7 Projektmanagement zur Softwareeinführung
    8 Die Software-Entwicklung wird durch Konzepte der UML (Unified Modeling Language) unterstützt
    9 SQL-Befehle wie SELECT, INSERT, UPDATE, GRANT etc.
    10 Steht für Message Digst Algorithm 5 und ist ein weitverbreiteter Hash-Algorithmus auf Basis einer 128-Bit Verschlüsselung.
    11 SHA Steht für Secure Hash Algorithm und ist im Gegensatz zu MD5 kollisionssicher. Kollisionssicher bedeutet, dass zwei verschiedene Nachrichten nicht mit gleichen Prüfwert erzeugt werden können.
    12 Reguläre Suchausdrücke (auch Regular Expressions genannt) sind mächtige Filterkriterien, um Texte nach diversen komplexen Mustern zu durchsuchen. Mit Ihnen lässt sich z.B. Text aus einem schwierigen Dokument auslesen oder auch Teilabschnitte ersetzen.
    vgl. auch Formale Sprachen und Automaten - Kapitel 3: Regular Expressions, Thomas Worsch, Karlsruher Institut für Technologie, Fakultät für Informatik, aufgerufen am 11.09.2017
    13 auch Graphics Device Interface genannt, ist eine Art Programmierschnittstelle zu Grafikgeräten wie z.B. Grafikkarte oder Drucker
    14 Disassembler sind Programme, um binäre Dateien in einer für den Menschen lesbaren Assemblersprache darzustellen.
    15 Hexeditoren für die Anzeige von binären Dateien in Hexadezimalfolge
    16 Steht für Quick Response zu Deutsch "schnelle Antwort">
    17 DRM bedeutet Digital Rights Management und bedeutet zu Deutsch: "Digitale Rechte Verwaltung".
    18 CSV steht für "Character-separated values" und ist ein Dateiformat für den Datenaustausch von strukturierten Daten.
    19 Microsoft Excel Dateiformat
    20 Siehe auch 7.1.1 Importfunktionen oder auch 7.1.2 Exportfunktionen
    Abkürzungen:
    SVN: Subversion
    bspw.: beispielsweise
    PDF: Portable Document Format
    HTML: Hypertext Markup Language
    XML: Extended Markup Language
    vgl.: vergleiche
    Dr.: Doktor
    GmbH: Gesellschaft mit beschränkter Haftung
    UML: Unified Modelling Language
    MD5: Message-Digest Algorithm 5