Design Level Debugging mit Fujaba Leif Geiger Institut für Software, Abteilung Programmierung Technische Universität Braunschweig Pockelsstr. 14, 38106 Braunschweig l3_g5@gmx.de Abstract: Dieses Papier ist Teil des Fujaba Projekts. Das Fujaba Projekt benutzt die Unified Modeling Language UML zur vollständigen Spezifikation von Softwareprojekten (also Programmieren auf Design Ebene). Im Folgenden wird die Einbettung einer graphischen Debugging Funktionalität auf Design Ebene (Design Level Debugging) in das Fujaba Werkzeug beschrieben. 1 Einleitung Dieses Paper beschreibt das in meiner Studienarbeit [Gei02] erarbeitete und bereits in [GZ02] vorgestellte Konzept des Design Level Debuggings. Diese Arbeit ist im Rahmen des 1998 begonnenen Fujaba Projektes [Fuj98] entstanden. Fujaba ist ein CASE Tool, das die Unified Modeling Language (UML) zur Spezifikation und zum Design von Softwareprojekten bereitstellt. Der zugrunde liegende Softwareprozess teilt sich in die folgenden Schritte auf: Anforderungsdefinition mittels UML Usecase Diagrammen, Verfeinerung der Usecase Diagramme durch Szenarien (Sequenzdiagramme oder sog. Storyboards), Ableiten des Klassendiagramms aus den Szenarien, Ableiten der Methodenrümpfe in sog. Storydiagrammen (Aktivitätsdiagrammen mit eingebetteten Kollaborationsdiagrammen) aus den Szenarien, automatische Generierung von Java Quellcode aus Klassendiagramm und Storydiagrammen, Testen des Codes mit einem Object Browser. Das Beispiel, das wir zur Verdeutlichung unseres Ansatzes zugrunde legen, ist eine Implementierung des Flaschendrehen Spiels (siehe auch [L302]). Jedoch wurden die Regeln leicht vereinfacht: Es gibt eine Menge an im Kreis angeordneten Feldern, eine Flasche und einen Spieler. Der Spieler setzt zu Anfang Geld auf ein bestimmtes Feld und dreht dann die Flasche. Zeigt die Flasche nun auf eben dieses Feld, bekommt der Spieler das Doppelte seines Einsatzes. Ansonsten geht er leer aus. Dieses Beispiel wurde an drei Gymnasien im Anfangsunterricht Informatik der Klasse 11 behandelt. Hierbei hatten wir den Eindruck, dass das Modellieren mit UML Diagrammen den Schülern einen deutlich besseren Zugang zur objektorientierten Programmierung bietet als das Programmieren in Java Quelltext. Abbildung 1 zeigt das Klassendiagramm des Flaschendrehen Beispiels in Fujaba. Abbildung1: Klassendiagramm in Fujaba