Softwareentwicklungsumgebungen

Vorlesung mit Übungen im Wintertrimester 2005

Softwareentwicklungsumgebungen

Mark Minas, Peter Aschenbrenner


Wahlpflichtveranstaltung (2+2 TWS) im Studiengang Informatik, Vertiefungsrichtung WV1 (Theoretische und Praktische Informatik)

Vorlesung: Freitag, 8:30 - 10:00, Rm. 2417 im Geb. 41/400
Übung: Dienstag, 16:00 - 17:30, ebenso Rm. 2417

Der Vorlesungsbetrieb beginnt am Freitag, 14. Januar 2005, der Übungsbetrieb in der darauffolgenden Woche.


Überblick

Diese Vorlesung ist als Ergänzung zu den Vorlesungen Software Engineering I/II gedacht. Während in den Software Engineering-Vorlesungen der Schwerpunkt auf Methoden und Notationen zur Softwareentwicklung liegt, stehen hier die dabei eingesetztenWerkzeuge im Vordergrund.

Dem Hörer sollen zum einen Grundkenntnisse über den internen Aufbau solcher Werkzeuge und ihre Realisierung selbst nahegebracht werden. Zum anderen wollen wir ihm das notwendige Wissen für die gezielte Auswahl und den nutzbringenden Einsatz von Werkzeugen bei der Softwareentwicklung vermitteln. Im Rahmen der Vorlesung werden Versions- und Konfi- gurationswerkzeugen, CASE-Tools und Meta-CASE-Tools (zum Bau von CASE-Tools) vorgestellt.


Scheinerwerb

Den Schein gibt es auf abgegebene Übungsaufgaben und zusätzlich eine Prüfung am Ende des Trimesters. Dazu werden auf den Übungsblättern Aufgaben gekennzeichnet, die zu bearbeiten und bis zum angegebenen Stichtag einzureichen sind. Eine Bearbeitung in Zweiergruppen ist möglich; eine gemeinsame Lösung von mehr als zwei Teilnehmern wird nicht akzeptiert, auch wenn sie getrennt eingereicht wird. Um den Schein zu erwerben, müssen alle als Hausaufgaben markierten Aufgaben fristgerecht und lauffähig eingereicht und die zusätzliche Prüfung am Ende des Trimesters bestanden sein. Der Modus dieser Prüfung (d.h. schriftlich oder mündlich) wird rechtzeitig bekanntgegeben.


Themen

  1. Versions- und Konfigurationsverwaltung (RCS, CVS, Subversion) pdf
  2. Build Tools (make, ant) pdf
  3. Compilergeneratoren pdf
  4. Unit Tests pdf
  5. Java-Programmiermethodik pdf
  6. Eclipse - Einführung pdf
  7. Eclipse - Plug-Ins pdf
  8. EMF pdf
  9. Aspektorientierte Programmierung pdf


Übungen

  1. Versionsmanagement: 18.01.05 blatt1
    Hinweis: Es wird vorausgesetzt, dass vor der Übung folgender Artikel gelesen wurde: An Algorithm for Differential File Comparison.
  2. Build Tools: 25.01.05 blatt2 (verbesserte Version)
    Hinweis: Ant kann direkt von der Ant web site heruntergeladen werden.

    Eingegangene Lösungen für Aufgabe 13
    Team 1:   Thorsten Urban, Michael Neumann
    Team 2:   David Scheffel
    Team 3:   Sebastian Bergatt, Roman Goltz

  3. Compiler-Generatoren: 01.02.05 blatt3
    Hinweis: JavaCC kann von der entsprechenden java.net Seite heruntergeladen werden. Eine Einführung in den Lambda-Kalkül findet sich in Kapitel 7 der Vorlesungsseite 'Einführung in die Informatik'.

    Eingegangene Lösungen für Aufgabe 16
    Team 1:   Thorsten Urban, Michael Neumann
    Team 3:   Sebastian Bergatt, Roman Goltz (Lösung noch nicht ganz vollständig)

  4. Unit Tests: 15.02.05 blatt4

    Eingegangene Lösungen für Aufgabe 18
    Team 1:   Thorsten Urban, Michael Neumann

  5. Unit Tests und Java: 22.02.05 Kein neues Übungsblatt, weitere Bearbeitung von Blatt 4!
  6. Unit Tests und Java: 01.03.05 blatt5
  7. Eclipse Plugin: 08.03.05 blatt6
    Hinweis: Machen Sie sich vor Bearbeitung dieser Aufgabe Gedanken darüber, welche Klassen und Konzepte Sie für die Lösung brauchen werden, und bringen Sie entsprechende Teile der Eclipse-API-Dokumentation und Java-API-Dokumentation ausgedruckt in die Übung mit.

    Eingegangene Lösungen für Aufgabe 21
    Team 1:   Thorsten Urban, Michael Neumann

  8. Eclipse Modeling Framework: 15.03.05 blatt7
    Der in der Vorlesung verwendete Quellcode in Form von vier Eclipse-Projekten ist in dieser ZIP-Datei zu finden. Außerdem wird EMF benötigt. Dazu installieren Sie entweder die freie Version von EclipseUML von Omondo (EMF ist enthalten), oder Sie installieren das EMF SDK von der EMF-Homepage. Das Automatenbeispiel nutzt die Version 2.0.1 von EMF.
  9. AOP: 22.03.05 blatt8
    Sie können sich die AspectJ-Entwicklungsumgebung und das AJDT für Eclipse von der AspectJ-Homepage herunterladen. Hinweis: Informieren Sie sich vor der Lösung von Aufgabe 23 über dynamische Proxies! Ein Einstieg kann der folgende kurze Artikel sein: Explore the Dynamic Proxy API