Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Praktische Informatik 1

Ähnliche Präsentationen


Präsentation zum Thema: "Praktische Informatik 1"—  Präsentation transkript:

1 Praktische Informatik 1
Prof. Dr. H. Schlingloff Dipl. Inform. Joachim Hänsel

2 Programmentwicklung historisch
Coding Sheets - Lochkartenstanzer Editor - Batchbetrieb (Maschinencode) Editor - Compiler - Debugger Editor - Makefile - Compiler - Debugger ... Integrierte Entwicklungsumgebung (IDE Integrated Development Environment) - Sammlung von Werkzeugen - Anzahl stieg stetig, zunehmende Größe und Komplexität der zu entwickelnden Projekte erforderte dies - Erstes System das den Charakter einer Entwicklungsumgebung hatte gab es schon 1963 für Dartmouth Basic - Auf der Kommandozeile: Textbearbeitung, Dateimanagement, Übersetzer, Debugger und Ausführungsumgebung

3 Entwicklungswerkzeuge
Text Editor Compiler Linker Debugger Builder Dateimanager Ausführungsumgebung Testumgebung Versionsverwaltung Refactoring ... - Wofür? - Keines der Werkzeuge löst für sich alleine alle Probleme der Softwareentwicklung

4 Text Editor Programm zum Bearbeiten von Text Keine Textverarbeitung
Navigieren im Text Suchen und Ersetzen Kopieren, Ausschneiden Einfügen Formatieren (Einrücken) Syntax Hervorhebung Keine Textverarbeitung

5 Compiler Programm das ein Programm geschrieben in einer Quellsprache in ein semantisch äquivalentes Programm einer Zielsprache übersetzt Zum Beispiel Quellsprache entspricht Programmiersprache (Java, C++, C, Basic....) Zielsprache entspricht Assemblersprache, Bytecode oder Maschinensprache - Beispiel an Tafel: Java: ...main(...){ int i = 1; int j = 2; System.out.println(i + j);} - wie sähe das mit turing aus? - bereits gegenstand vorheriger vorlesungen

6 Linker src Programm das vorübersetzte Programmmodule zu einem ausführbaren Programm zusammensetzt Java benötigt keinen Linker, benötigte Module (Klassen) werden zur Ausführungszeit geladen (Classloader) src src Compiler obj obj obj - üblicherweise werden programme nicht mehr als ein einzelnes modul geschrieben - Programm besteht in der Regel aus mehreren Quellcodemodulen die übersetzt werden - danach benötigt es einen linker - aber nicht immer ;) Linker executable

7 Ausführungsumgebung z. B. Kommandozeile eines Betriebssystems

8 Debugger Werkzeug zum Auffinden, Diagnostizieren und Beheben von Fehlern Programm anhalten (break point) Schrittweises Ausführen Verfolgen im Code (Source-level Debugger) Analysemöglichkeit von Laufzeiteigenschaften

9 Builder Werkzeuge die den Prozess des Übersetzens größerer Projekte automatisieren z.B. Make Übersetzt nur die Module die noch nicht übersetzt wurden und die von diesen abhängen Gesteuert durch ein Skript (Makefile) lassen sich bestimmte Konfigurationen übersetzen Das Skript definiert verschiedene Übersetzungsoptionen (z.B. optimiert)

10 Dateimanager Werkzeug zum Verwalten von Dateien
Finden, Kopieren, Verschieben, Löschen z.B. Explorer

11 Versionsverwaltung Werkzeug zur Verwaltung unterschiedlicher Revisionen einer Informationseinheit (Sourcecodedatei) Jede Revision die in das Repository eingepflegt wird bekommt eine Nummer Jede Revision kann aus dem Repository wieder entnommen werden (Wiederherstellbarkeit) Verschiedene Revisionen können zu einer neuen zusammengefügt werden Bild malen - ist mehr als nur ein Werkzeug - eine sammlung: - zentraler speicher - werkzeuge zum einpflegen (committen, einchecken) und entnehmen (auschecken) - werkzeuge zum Revisionenvergleich

12 Testumgebung z.B. Unterstützung bei der Ausführung von Unittests
Quellcode der anderen Quellcode ausführt und testet Testergebnisse werden protokolliert, aufbereitet, verwaltet

13 Werkzeugsammlung versus Entwicklungsumgebung
Verwaltung der Werkzeugsammlung ist aufwändig Werkzeuge müssen aufeinander abgestimmt sein Ständiges Wechseln zwischen den Werkzeugen verringert Produktivität Aber: Ohne Werkzeugsammlung kommt kein Entwickler mehr aus

14 Werkzeugsammlung versus Entwicklungsumgebung
Entwicklungsumgebungen integrieren Funktionalitäten verschiedener Werkzeuge Mit einer Anwendung sind große Teile des Entwicklungszyklus erschlagen Trend geht zu immer umfassenderer Unterstützung des gesamten Softwareentwicklungsprozesses von Requirements Engineering bis Projekt-planung und -überwachung


Herunterladen ppt "Praktische Informatik 1"

Ähnliche Präsentationen


Google-Anzeigen