Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Integrierte Entwicklungsumgebung

Eine integrierte Entwicklungsumgebung (IDE, von englisch integrated development environment) ist eine Sammlung von Computerprogrammen, mit denen die …

Inhalt4 Abschnitte
  1. 1. Begriff und Zweck
  2. 2. Einzelwerkzeuge und integrierte Umgebung
  3. 3. Funktionen und Abgrenzung
  4. 4. Entwicklung seit den 1980er Jahren

Begriff und Zweck

Eine integrierte Entwicklungsumgebung, kurz IDE (englisch integrated development environment), ist eine Sammlung von Computerprogrammen für die Softwareentwicklung. Ihr Zweck ist, Aufgaben möglichst ohne Medienbrüche zu bearbeiten: Arbeitsergebnisse können verwaltet und unmittelbar in weitere Bearbeitungsschritte übernommen werden. IDEs nehmen Entwicklern häufig wiederkehrende und formale Arbeiten ab, bieten schnellen Zugriff auf Funktionen und unterstützen dadurch das effiziente Entwickeln und Programmieren von Software.

IDEs gibt es für nahezu alle Programmiersprachen und Plattformen. Häufig unterstützt eine IDE nur eine Sprache; andere Anwendungen fassen mehrere spezielle IDEs unter einer gemeinsamen Benutzeroberfläche zusammen. Es gibt außerdem Entwicklungsumgebungen für Ansätze, bei denen Anwendungssoftware weitgehend ohne Programmieren durch Konfiguration entsteht, etwa Universal Application. Diese sind nicht auf eine bestimmte Programmiersprache ausgerichtet und stehen im Zusammenhang mit deklarativer Programmierung.

Weitere Bezeichnungen sind Softwareentwicklungsumgebung (SEU), Softwareproduktionsumgebung (SPU), software engineering environment system (SEES) und, für Teilaspekte, integrated design environment. Auch Software Development Kits (SDK), RAD-Tools, Low Code Development und ähnliche Entwicklungswerkzeuge können Funktionen für integrierte Softwareentwicklung anbieten. Dabei meint „Entwicklungsumgebung“ nicht zwingend eine Hardwareplattform, sondern die für die Softwareentwicklung genutzte Funktionalität – unabhängig von der technischen Systemarchitektur.

Einzelwerkzeuge und integrierte Umgebung

Für rechnergestützte Softwareentwicklung (CASE) unterscheidet Alfonso Fuggetta drei Kategorien: „Tools“ sind Werkzeuge für einzelne Aktivitäten im Software-Lebenszyklus. „Workbenches“ sind Werkbänke, die mehrere Werkzeuge umfassen. „Environments“ sind Umgebungen: Sie kombinieren mehrere Workbenches und Werkzeuge, um den gesamten Software-Lebenszyklus zu unterstützen.

Als nicht integriert gilt der Einsatz einzelner, getrennt arbeitender Programmierwerkzeuge, auch wenn dies gelegentlich allgemein Entwicklungsumgebung genannt wird. Dazu gehören beispielsweise Texteditor, Compiler oder Interpreter, Linker und gegebenenfalls Debugger. Entwickler müssen jeden Schritt selbst gezielt starten: Sie öffnen, ändern und speichern den Quelltext, rufen anschließend den Compiler auf und prüfen das Ergebnis, starten dann den Linker und prüfen erneut das Ergebnis; zuletzt führen sie das Programm aus, etwa zum Testen.

Eine IDE verlangt dagegen mehr als getrennte Werkzeuge. Ihre Methoden können aufeinander abgestimmt sein und einer ähnlichen Philosophie folgen. Sie begleitet und unterstützt Prozesse der Softwareentwicklung oder sogar den gesamten Software-Lebenszyklus. Eine Entwicklungsdatenbank, auch Repository oder Data-Dictionary, speichert Zwischen- und Arbeitsergebnisse und stellt sie den nächsten Werkzeugen bereit. Diese können über eine einheitliche gemeinsame Benutzeroberfläche aktiviert werden.

Funktionen und Abgrenzung

Die Integration zeigt sich beispielsweise daran, dass Datenfelder, die für ein Formular oder einen Report über eine grafische Benutzeroberfläche (GUI) festgelegt wurden, im Programmcode-Editor direkt referenziert und verwendet werden können. IDEs können auch konzeptionelle Aspekte unterstützen: strukturierte Vorgehensweisen wie Strukturierte Analyse und Strukturiertes Design (SA/SD), die grafische Notationsweise UML sowie Datenmodellierungsmethoden wie Entity-Relationship-Modellierung (ERM/SERM).

Mögliche weitere Komponenten sind Versionsverwaltung, Werkzeuge zum einfachen Erstellen grafischer Benutzeroberflächen, Quelltextformatierung, Unterstützung für Projektmanagement, Testen sowie Release- und Deployment-Management für die Produktivsetzung der Software. Zur Bewertung gehören außerdem spezielle Komfortfunktionen von Texteditoren, automatisches Kompilieren und Debugging, Bedienhilfen wie Tastenkombinationen oder Makros sowie Generierungsfunktionen. Ob ein konkretes Entwicklungsprodukt als IDE gilt, hängt davon ab, welche dieser Funktionen und wie umfassend sie vorhanden sind; die Grenzen sind fließend.

Entwicklung seit den 1980er Jahren

Integrierte Entwicklungsumgebungen kamen in der ersten Hälfte der 1980er Jahre auf. Sie lösten die damalige Praxis ab, Editor, Compiler, Linker und Debugger als vier getrennte Produkte anzubieten und einzeln auszuführen. Maestro I, ursprünglich Programm-Entwicklungs-Terminal-System (PET), von Softlab war weltweit die erste integrierte Entwicklungsumgebung für Software.

In den 1980er Jahren entstanden neben IDEs für Standardprogrammiersprachen der dritten Generation auch Umgebungen für 4GL-Programmiersprachen, beispielsweise Natural. Solche Umgebungen sind zum Teil bis heute im Markt vertreten. Sie verbanden die Programmiersprache mit Werkzeugen wie Analyse- und Designwerkzeug, Texteditor, Maskeneditor, GUI Designer, Compiler beziehungsweise Interpreter, Linker, Debugger und Quelltextformatierung.

Die ersten IDEs waren noch textbasiert. Seit etwa 1990 ging der Trend, besonders bei großen Anbietern, zunehmend zu visuellen Programmierumgebungen. Für Spezialsprachen gibt es jedoch auch später weiterhin verschiedene Text-IDEs.

Weiterlesen

Microsoft Windows Microsoft Windows (englische Aussprache [ˈmaɪ.kɹoʊ.sɒft ˈwɪn.doʊz]) bzw. Windows ist eine Reihe proprietärer grafischer Betriebssystemfamilien von Microsoft … Softwareentwickler Ein Softwareentwickler (englisch software developer) ist eine Person, die an der Erstellung und Weiterentwicklung einer Software mitwirkt. Wirtschaftlichkeit Wirtschaftlichkeit. Wirtschaftssystem- und unternehmenszielindifferenter Ausdruck dafür, inwieweit eine Tätigkeit dem Wirtschaftlichkeitsprinzip genügt. Artikel … Programmiersprache Bei deklarativen Programmiersprachen ist der Ausführungsalgorithmus schon vorab festgelegt und wird nicht im Quelltext ausformuliert/beschrieben, sondern es … Deklarative Programmierung Die deklarative Programmierung ist ein Programmierparadigma, bei dem die Beschreibung des Problems im Vordergrund steht. Der Lösungsweg wird dann … Rapid Application Development Es verfolgt den Zweck, Softwareentwicklung im Vergleich zu klassischen Vorgehensmodellen wie dem Wasserfallmodell flexibler zu gestalten und sich an schnell … Software-Lebenszyklus Ein Softwarelebenszyklus betrachtet Software ganzheitlich – von ihrer Entstehung über Entwicklung und Betrieb bis zu ihrer Abkündigung. Compiler Ein Übersetzer zur Übertragung von Assembler-Quellprogrammen in Maschinensprache wird als Assembler oder Assemblierer bezeichnet. Geschichte. Bearbeiten. Debugger Funktionen eines Debuggers · die Steuerung des Programmablaufs, insbesondere durch Haltepunkte und die Einzelschritt-Verarbeitung von Befehlen · das Inspizieren … Softwaretechnik ... Agile Softwareentwicklung. Die Softwaretechnik umfasst den gesamten Prozess von der Identifizierung des Bedarfs bis hin zur Inbetriebnahme einer konkreten … Bericht (Informatik) Ein Bericht (oder Report) ist in der Informatik eine durch ein Computerprogramm erzeugte, einheitlich strukturierte Darstellung von Inhalten aus … Programmcode Als Programmcode (oder Programmkode) werden die Anweisungen bezeichnet, die im Rahmen der Softwareentwicklung für ein bestimmtes Computerprogramm oder einen …