15.3. Klassenauswahl

Dies sind Kritiken, die sich darauf beziehen, wie Klassen ausgew??hlt und verwendet wurden.

ArgoUML hat die folgenden Kritiken in dieser Kategorie.

15.3.1. Datentyp verbergen

Datentypen sind innerhalb von UML 1.4 keine vollst??ndigen Klassen. Sie k??nnen nur Aufz??hlungsliterale als Werte haben und nur Abfrage-Operationen unterst??tzen (Das sind Operationen, die nicht den Zustand des Datentyps ver??ndern).

Datentypen k??nnen nicht mit Klassen assoziiert werden, es sei denn, der Datentyp ist Teil einer Komposition (schwarzer Diamant). So eine Assoziation reflektiert die feste Verbindung einer Sammlung von Datentyp-Instanzen zu einer Klasseninstanz. In der Konsequenz ist so ein Datentyp ein Attribut der Klasse mit einer Kardinalit??t.

Eine gute OOA&D h??ngt von der richtigen Auswahl der Entities ab, welche die vollst??ndigen Objekte und welche die Attribute von Objekten repr??sentieren.

Es gibt zwei Optionen, um dieses Problem zu l??sen.

  • Ersetze den Datentyp durch eine ganze Klasse.

  • oder ??ndere die Aggregation in eine Komposition am Ende das Datentyps.

15.3.2. Veringere die Anzahl der Klassen im Namensraum <Namensraum>

Ein Vorschlag, die Verst??ndlichkeit durch weniger Klassen in einem Namensraum zu verbessern. Wenn ein Namensraum (wie ein Modell, ein Paket, oder eine Klasse) zu viele Klassen aufweist, wird es f??r Menschen sehr schwierig dies zu verstehen. Einen verst??ndlichen Satz von Namensr??umen zu definieren ist ein wichtiger Teil Ihres Designs.

Der Assistent dieser Kritik erlaubt das Setzen eines Schwellwertes, z.B. die maximale Anzahl von Klassen, ab der die Kritik ausgel??st wird.

[Achtung]Achtung

Diese Anzahl wird nicht dauerhaft gespeichert und es gibt keinen Weg, diese zu reduzieren, nachdem sie hochgesetzt wurde. Es sei denn, man erzeugt mehr Klassen, bis die Kritik erneut ausgel??st wird. Der Neustart von ArgoUML setzt dieses Anzahl wieder auf seinen Standardwert: 20.

15.3.3. Diagramm aufr??umen

Vorschlag, dass das Diagramm verbessert werden sollte, indem man sich ??berlappende Modellelemente auseinander zieht.