Strukturelle Untersuchung Einer IDE Mit Dem Ziel Einer Möglichst Frei
Total Page:16
File Type:pdf, Size:1020Kb
Fakult¨at Informatik Institut fur¨ Software- und Multimediatechnik, AG Didaktik der Informatik Strukturelle Untersuchung einer IDE mit dem Ziel einer m¨oglichst frei skalierbaren Anpassung der IDE von Lazarus Diplomarbeit zur Erlangung des akademischen Grades eines Diplom-Medieninformatikers der Fakult¨at Informatik der Technischen Universit¨at Dresden Vorgelegt von: Michael Kuhardt Matrikel-Nr.: 2936155 Hochschullehrer: Prof. Dr. paed. habil. Steffen Friedrich Betreuer: Dr. rer. nat. Holger Rohland Bearbeitungszeitraum: 01.09.2009-28.02.2010 Dresden, 23. Februar 2010 1 INHALTSVERZEICHNIS II Inhaltsverzeichnis TabellenverzeichnisV AbbildungsverzeichnisVI Abkurzungsverzeichnis¨ VIII 1 Einleitung 2 1.1 Einfuhrung¨ und Motivation..............................2 1.2 Zielstellung.......................................2 1.3 Aufbau der Arbeit...................................2 2 Analyse der IDE Eclipse4 2.1 Historische Entwicklung von Entwicklungsumgebungen...............4 2.2 Die Eclipse-Plattform................................. 11 2.2.1 Uberblick¨ .................................... 11 2.2.2 Die Struktur der Installation......................... 13 2.2.3 Die Architektur................................. 14 2.2.4 Der Update-Manager.............................. 20 2.3 L¨osungsans¨atze fur¨ die Problematik der Integration eigener Weiterentwicklungen beim Update des Gesamtpakets............................ 21 2.4 Analyse der Gebrauchstauglichkeit.......................... 27 2.4.1 Uberblick¨ zur Gebrauchstauglichkeit..................... 27 2.4.2 Funktionale Umsetzung der Gebrauchstauglichkeit in Eclipse ...... 45 2.4.3 Zusammenfassung............................... 58 3 Didaktische Anforderungen 60 INHALTSVERZEICHNIS III 3.1 Grundlagen....................................... 60 3.2 Evaluation mit Lehrern................................ 66 3.3 Folgerungen fur¨ eine schulische Entwicklungsumgebung............... 74 3.3.1 Soll\-Anforderungen.............................. 74 " 3.3.2 Kann\-Anforderungen............................. 77 " 3.3.3 Nicht berucksichtigte¨ Anforderungen..................... 79 3.3.4 Bedeutung fur¨ die Anderungen¨ an Lazarus................. 80 3.4 Zusammenfassung................................... 81 4 Lazarus 82 4.1 Bisherige Arbeiten................................... 82 4.2 Fortfuhrung¨ der Lehrer-Evaluation.......................... 83 4.3 Anpassungen...................................... 90 4.3.1 Auswahl der Konfigurationen......................... 90 4.3.2 Realisierung................................... 93 4.3.3 Zukunftige¨ Installation der Erweiterung................... 102 4.3.4 Installation der mitgelieferten Version.................... 102 4.3.5 Fazit der Anpassungen............................. 104 4.4 Evaluation........................................ 105 5 Fazit der Arbeit 108 A Anhang: Beispiel einer plugin.xml 110 B Anhang: Die educationlaz.lpk der Erweiterung 111 C Anhang: Installationsroutine des Prototyps 114 INHALTSVERZEICHNIS IV D Anhang: Exemplarische Funktionen 117 E Anhang: Befragung zum Einsatz von Entwicklungsumgebungen in Schulen 121 F Anhang: Befragung zum Einsatz einer skalierbaren Lazarus-Version 124 G Anhang: DVD LazarusEducation 126 Literaturverzeichnis 127 TABELLENVERZEICHNIS V Tabellenverzeichnis 1 Struktur der Installation nach Shavor et al. (2003)............... 13 2 Die wichtigsten Komponenten der Plattform-Architektur nach IBM Corpora- tion (2005)....................................... 16 3 Beispiele fur¨ Erweiterungspunkte........................... 17 4 Installationsseiten................................... 20 5 Schritte zur Erstellung und Pflege eines Plug-In................... 25 6 Bewertung der Aufgabenangemessenheit....................... 46 7 Bewertung der Selbstbeschreibungsf¨ahigkeit..................... 47 8 Bewertung der Erwartungskonformit¨at........................ 49 9 Bewertung der Lernf¨orderlichkeit........................... 52 10 Bewertung der Steuerbarkeit............................. 54 11 Bewertung der Fehlertoleranz............................. 56 12 Bewertung der Gebrauchstauglichkeit von Eclipse ................. 59 13 Welche Standard-Komponenten ben¨otigen Sie mindestens fur¨ den Unterricht?\. 88 " 14 Welche Standard-Komponenten erachten Sie daruber¨ hinaus als sinnvoll?\.... 88 " 15 Welche Eigenschaften von Komponenten ben¨otigen Sie mindestens fur¨ den Un- " terricht (exakter Name nicht notwendig)?\...................... 89 16 Welche Ereignisse ben¨otigen Sie mindestens fur¨ den Unterricht?\......... 90 " 17 Komponenten der minimalen Konfiguration..................... 91 18 Komponenten der erweiterten Konfiguration..................... 92 19 Konfiguration der Eigenschaften........................... 92 20 Die Units der Erweiterung............................... 95 21 Installation der Erweiterung.............................. 102 ABBILDUNGSVERZEICHNIS VI Abbildungsverzeichnis 1 Turbo Pascal 1.0 nach Leitenberger ........................7 2 QuickBasic 4.5 nach Gerald T. Aitken (2007) ..................8 3 Eclipse-Plattform-Architektur nach Object Technology International, Inc. (2003) .......................................... 15 4 Konzept einer m¨oglichen Erweiterung ........................ 24 5 Welche Programmiersprachen werden an Ihrer Schule gegenw¨artig vermittelt?\ . 68 " 6 Welche Anforderungen stellen Sie an eine, den speziellen Belangen einer Schule " angepasste, Entwicklungsumgebung?\ ......................... 73 7 Menu¨ sowie Komponentenpalette der Original-Version ............... 82 8 Die angepasste Komponentenpalette ......................... 83 9 Wurden¨ Sie eine angepasste Lazarus-Version Ihrer derzeit verwendeten IDE " vorziehen?\ ....................................... 84 10 Wurden¨ Sie Anderungen¨ vornehmen, um Ihre IDE an den Unterricht anpassen " zu k¨onnen?\ ....................................... 85 11 Ziehen Sie die langfristige Arbeit mit einer stabilen Version einer Entwicklungs- " umgebung, der einer Variante mit regelm¨aßigen Aktualisierungen vor?\ ..... 86 12 Welche Probleme im Umgang mit der Entwicklungsumgebung Delphi oder La- " zarus beobachten Sie bei Ihren Schulern¨ am H¨aufigsten?\ ............. 87 13 Das Menu¨ zur Komponentenpalette .......................... 97 14 Das Menu¨ fur¨ Eigenschaften und Ereignisse ..................... 98 15 Das Menu¨ der Registerkarten ............................. 99 16 Das Menu¨ der SpeedButtons .............................. 100 17 Auswahl der Konfiguration w¨ahrend der Installation ................ 103 18 Die Sprachauswahl ................................... 114 ABBILDUNGSVERZEICHNIS VII 19 Wahl des Installationspfades ............................. 115 20 Der Installationsprozess ................................ 116 ABKURZUNGSVERZEICHNIS¨ VIII Abkurzungsverzeichnis¨ API . Application Programming Interface CASE . Computer-Aided Software Engineering DIN . Deutsches Institut fur¨ Normung EJB ......... Enterprise Java Beans et al. et alii (lat.: und andere) etc. et cetera (lat.: und so weiter) GIF . Graphics Interchange Format HTML . Hypertext Markup Language IBM . International Business Machines Corp. IDE . Integrated Development Environment ISO . International Organization for Standardization JAR . Java Archive JSP .......... Java Server Pages LCL . Lazarus Component Library MP3 . MPEG-1 Audio Layer 3 OSGi . Open Services Gateway initiative OTI . Object Technology International PET . Programm-Entwicklungs-Terminal PHP . PHP: Hypertext Preprocessor SDK ......... Software Development Kit SQL . Structured Query Language SWT . Standard Widget Toolkit UML . Unified Modeling Language URL . Uniform Resource Locator USB . Universal Serial Bus XML . Extensible Markup Language AUFLISTUNGEN 1 Auflistungen 1 Andern¨ der Sichtbarkeit................................ 96 2 Komponenten in der minimalen Konfiguration.................... 97 3 Konfiguration der Eigenschaften und Ereignisse................... 97 4 Konfigurationseintrag der Registerkarten....................... 99 5 Konfigurationseintrag der SpeedButtons....................... 100 6 Konfigurationseintrag der Menus¨ ........................... 101 7 plugin.xml ........................................ 110 8 Die educationlaz.lpk der Erweiterung......................... 111 9 Sichtbarkeit der Komponenten (vollst¨andige Funktion)............... 117 10 Auslesen der Konfiguration von Eigenschaften/ Ereignissen)............ 118 11 Auslesen der Konfiguration der Registerkarten................... 120 1 EINLEITUNG 2 1 Einleitung 1.1 Einfuhrung¨ und Motivation Das Gebiet der imperativen Programmierung stellt einen Bereich der Informatikausbildung an s¨achsischen Gymnasien dar. Um im Felde der zahlreichen umfangreichen Entwicklungsumge- bungen den Schulern¨ sowie Lehrern die Konzentration auf die wesentlichen Aspekte der Pro- grammierung zu erm¨oglichen, wurde vom Autor in einer bereits vorgelegten Belegarbeit eine prototypische Version der Entwicklungsumgebung Lazarus vorgestellt. Hierbei werden Kom- ponenten sowie Eigenschaften, welche aus didaktischer Sicht unn¨otig sind, ausgeblendet. Diese Arbeit stellt somit einen ersten Schritt zu einer schulischen Entwicklungsumgebung dar. 1.2 Zielstellung Das Ziel dieser Diplomarbeit besteht darin, ausgehend von der prototypischen Version, eine m¨og- lichst frei skalierbare Version der Lazarus-IDE zu entwickeln. Diese soll es dem versierten Lehrer erm¨oglichen, eine auf seine didaktischen Intentionen und die Leistungsf¨ahigkeit seiner Schuler¨ angepasste Lazarus-Version zu installieren und im Unterricht zu verwenden. Hierfur¨