15.8.2005

Tonabnehmer #7: Markus Völter -
Softwarearchitektur und Modellgetriebene Entwicklung

Markus Völter

Nach kurzer Sommerpause melde ich mich mit einem neuen Tonabnehmer zurück. Dieses Mal mit Markus Völter und den Themen Softwarearchitektur und Modellgetriebene Entwicklung.

Unseren Skype-Schwatz können Sie als MP3 herunterladen oder direkt als Podcast abonnieren. (Was ist Podcasting?)

Markus zum Thema Architektur: "Eine gute Softwarearchitektur ist leicht verständlich. [...] Man sollte in der Lage sein, mit einem kleinen Dokument oder Wikiseite von fünf bis zehn DIN A4-Seiten die wesentlichen Punkte einer Softwarearchitektur zu beschreiben oder zu kommunizieren. Das macht die Architektur leichter verständlich, es macht sie leichter umsetzbar. Je weniger Konzepte sie hat, desto leichter wird sie auch wartbar, weil man nicht so viele Details hat. Letztendlich muss sie natürlich auch testbar sein - das ist ganz, ganz essenziell. Eine Architektur, die die verschiedenen Aspekte des Gesamtsystems so miteinander verschränkt, dass sie nicht einzeln testbar ist, wird es nicht lange durchhalten.

Was ich auch denke, ist, dass eine Architektur nur in zweiter Linie mit Technologien zu tun hat. Ich habe da auch selbst einen gewissen Lernprozess durchgemacht. Als ich früher angefangen hab so mit Architekturthemen, war das ganz, ganz stark technologiegetrieben. Also: Wenn eine Anforderung kam, mit welcher Technologie setzt man das am dümmsten um. Jetzt sehe ich's ein bisschen anders und denke bisschen mehr konzeptioneller Art. Sprich man sollte erst einmal versuchen, eine Architektur zu definieren, indem man die wichtigsten Konzepte [identifiziert] - quasi die Bausteine, aus denen ich nachher meine Software baue, erst einmal konzeptionell zu beschreiben und dann erst im weiteren Schritt zu überlegen, wie ist die Technologieabbildung von dem Ganzen, weil man sonst natürlich viel zu stark von Technologie bei der Arbeit gestört wird."

Bei Modellgetriebener Entwicklung geht es darum, "Softwareentwicklung effizienter zu gestalten, indem man den Entwicklern erlaubt, Dinge mit Sprachen auszudrücken, die sich besser für das entsprechende Problem eignen als die 3GL-Programmiersprache. Das Problem ist ja, wenn ich in einer bestimmten Domäne arbeite, gibt's immer eine Menge von Worten, Begriffen, Konzepten, Vorgehensweisen, die für diese Domäne spezifisch sind. Und wenn ich's schaffe meine Werkzeuge - in dem Fall: Programmiersprachen - für diese Domäne anzupassen, dann kann ich natürlich die Sachverhalte, die ich in der Domäne ausdrücken will, auch effizienter gestalten. Das heißt, im Endeffekt geht's bei Modellgetriebener Entwicklung darum, dass man sich domänenspezifische Sprachen "ausdenkt", definiert, erarbeitet, um mit ihnen nachher effizienter entwickeln zu können."

Schlagwörter:

blättern: Mein Buch ist raus
zurück: JUnit 4.0