www.falkhausen.de Effektive Klassendiagramme für Java
www.falkhausen.de | Artikel | 1. Das Problem
 
 Home
 Diagramme
 Tabellen
 Artikel
    1. Das Problem . .
    2. Die Ursachen
    3. Die Lösung
 Kurse
 Links
 Suche
 
 
 Gästebuch
 Person
 Impressum
 
 
  Goto English version English 

 1. Das Problem 

Die Unified Modeling Language (UML) ist das Ergebnis eines jahrelangen Entwicklungsprozeßes. UML wird heutzutage in einer Vielzahl von Projekten in allen Phasen der Entwicklung eingesetzt. Sie wird von einer Vielzahl von Werkzeugen unterstützt und ist allgegenwärtig in der Literatur. Zum Beispiel spielen Klassen- und Sequenzdiagramme in dem Standardwerk der Objektorientierten Programmierung "Design Patterns" [1] eine herausragende Rolle. Klassendiagramme werden allerdings erstaunlich selten für die Dokumentation von konkreten Klassen aus der Praxis eingesetzt. "Java in a Nutshell" [2] war bisher eines der wenigen prominenten Werke, daß Klassendiagramme benutzte. Bezeichnenderweise verzichtet aber auch die neueste Auflage auf ihre Verwendung.

Dabei stehen eine Vielzahl von Werkzeugen bereit. Typischerweise gibt es auf den zugehörigen Homepages Tutorials in denen der Gebrauch demonstriert wird. Regelmäßig wird dabei gezeigt wie man eine Ober- und Unterklasse anlegt und wie man 1-2 Methoden und 1-2 Felder hinzufügt. Das Ergebnis ist dann meist auch noch recht annehmbar. Die Verhältnisse im wirklichen Leben sehen jedoch ganz anders aus.

Dazu studiere man das Klassendiagramm in Bild 1. (Ein Klick auf das Bild öffnet ein neues Fenster in dem das Diagramm in Originalgröße angezeigt wird.) Das Diagramm wurde automatisch mit TogetherJ [3] erzeugt und zeigt 15 Klassen aus dem Collection- Framework des JDK.

previous
Bild 1: Klassendiagramm

Ein unvoreingenommener Betrachter sollte einmal an Hand des Diagramms versuchen, die folgenden Fragen zu beantworten:

  • Wo ist die Klasse LinkedList und welche Obertypen besitzt sie?
  • Welche Klassen sind Implementationen von Set?
  • Was ist der Unterschied zwischen den ersten beiden Konstruktoren von LinkedHashSet?

Um das lästige Scrollen auf dem Bildschirm zu vermeiden, könnte man versucht sein, das Diagramm auszudrucken. Dabei wird man feststellen, daß hierzu 12 DIN A4 Seiten nötig sind, die auf dem Boden in die richtige Reihenfolge zu bringen und zusammenzukleben sind.

Ein gelegentlicher Nutzer wird daher nur einen geringen Vorteil aus solchen Diagrammen ziehen können. Aber auch ein Anfänger, der sich in das Collection-Framework einarbeiten will und als erstes ein solches Diagramm zu Angesicht bekommt, wird wohl eher abgeschreckt reagieren. Es ist also kein Wunder, das Lehrbücher auf solche Diagramme verzichten.

next  2. Die Ursachen

 

Validate HTML