Studie: Programmier-Tools verbergen ihre Technik

08.08.2002
Von 


Sascha Alexander ist seit vielen Jahren als Redakteur, Fachautor, Pressesprecher und Experte für Content-Strategien im Markt für Business Intelligence, Big Data und Advanced Analytics tätig. Stationen waren unter anderem das Marktforschungs- und Beratungshaus BARC, die "Computerwoche" sowie das von ihm gegründete Portal und Magazin für Finanzvorstände CFOWORLD. Seine Themenschwerpunkte sind: Business Intelligence, Data Warehousing, Datenmanagement, Big Data, Advanced Analytics und BI Organisation.

Die veränderten Rahmenbedingungen und die zunehmende Komplexität der Technologien und Aufgaben bei der Softwareentwicklung haben das Angebot und die Vielfalt an Programmierwerkzeugen in den letzten Monaten steigen lassen. Dabei gewinnt laut einer aktuellen Studie der Butler Group das (alles andere als neue) Konzept eines Integrated Development Environment (IDE) an Bedeutung und werde breite Akzeptanz in IT-Abteilungen finden. Grund hierfür ist, dass die IDE verspricht, die benötigten Tools für die Softwareentwicklung gebündelt, integriert und zentral verwaltet bereitzustellen sowie zahlreiche Aufgaben und die Codegenerierung stärker zu automatisieren.

Allerdings sei seitens (geübter) Entwickler mit Widerstand zu rechnen, die der Qualität des mit der IDE erstellten Codes misstrauen und es weiter vorziehen, für ihre Arbeit Tools verschiedener Provenienz einzusetzen (Best of Breed). Butler warnt Unternehmen jedoch davor, diesem Treiben länger zuzuschauen. IT-Abteilungen sollten bei der Tool-Auswahl den langfristigen Nutzen für die eigene Geschäftsstrategie vor Augen haben und sich nicht den kurzfristigen Vorlieben einzelner Mitarbeiter unterwerfen. IDEs bewahren und erhöhen trotz der geschilderten Komplexität von Anwendungen die Produktivität des Entwicklers. Selbst wenn diese Aufgaben sich auch über eine Best-of-Breed-Lösung abdecken ließen, so Butler, sei die hier favorisierte IDE bequemer und schneller zu nutzen.

Was eine IDE leistet: Integrierte Entwicklungsumgebungen (IDE) bestehen im Kern aus einer Programmierumgebung mit Text-Editor, Debugger und Compiler. Um diese herum lagern sich Tools und Techniken, die den Entwickler produktiver machen und die Codegenerierung immer weiter automatisieren. Hierzu zählen grafische Arbeitsumgebungen samt Komponentenpaletten für die Gestaltung von Benutzeroberflächen und Anwendungen oder die allgegenwärtigen „Wizards“, die zahlreiche Arbeitsschritte abnehmen. Zusätzlich sollten laut Butler auch die vielfältigen Typen von „Patterns“ zum Einsatz kommen, da diese dokumentierte Lösungen zu gängigen Problemen bei der Programmierung enthalten. Eine IDE kann über Plugins weitere Tools einbinden, sollte eine umfassende Testumgebung bieten, sich für die spezifischen Anforderungen im Projekt konfigurieren lassen, dessen

Programmierstandards kontrollieren können sowie die Entwickler von der Verwaltung des Quellcodes (Dokumentation, Check in/Check out, Versionskontrolle etc.) befreien. Den oft komplizierten Einsatz der Software auf einem Applikations-Server können automatische Funktionen wie „Hot Deployment“ vereinfachen.

Schließlich sollten Tools zur Modellierung von Anwendungen mit Hilfe der Standardsyntax Unified Modelling Language (UML) enthalten sein, um die Entwicklung und Wartung von Software zu verbessern und Projektdetails zu klären. Eine Integration von UML-Tools und IDEs erlaubt ein Round-trip-Engineering, mit dem Änderungen in den Programmquellen sofort in den UML-Diagrammen sichtbar werden - und umgekehrt. Künftig wird auch der Standard Model Driven Architecture (MDA) eine wichtige Rolle spielen, da sich mit ihm wartbare, plattformunabhängige und wiederverwendbare UML-Modelle entwickeln lassen.

Zur Risikioverringerung, aus finanziellen Gründen sowie aus Zeit- und Ressourcenmangel sollte ein Projekt nicht von einzelnen Experten abhängen, sondern auch weniger erfahrenen Mitarbeitern den Einstieg in die Entwicklung und Wartung mit J2EE, .NET oder Web-Services ermöglichen. Tool-Hersteller haben in den letzten Monaten auf diese Anforderungen reagiert, so dass nun bestehende und neue Produkte vor allem eine immer mehr modellgetriebene und grafisch orientierte Entwicklung und weitgehend automatisierte Generierung von Software erlauben und den durchschnittlich begabten Programmierer von den technischen Details abschirmen.